Skip to content

Commit f9630fd

Browse files
feat(api): api update
1 parent 39a1147 commit f9630fd

19 files changed

Lines changed: 305 additions & 294 deletions

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 265
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/onlyfansapi/onlyfansapi-a13141dc9cb81754e0ced17ccc6e05d039584b7402c2b0b147116f86f1da8334.yml
3-
openapi_spec_hash: ad6bb71288733627ce3bc9823ea09f05
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/onlyfansapi/onlyfansapi-281efdce42680c00db4dbe3a4c400f2b58279e10050fd9763aa89d697a964473.yml
3+
openapi_spec_hash: c0bc54d040790001fe98b77bb2363bd5
44
config_hash: 397c91e15c0024f8b5bbed9b82c2348c

src/onlyfansapi/types/media/upload_get_status_response.py

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@
1212
"UnionMember0",
1313
"UnionMember1",
1414
"UnionMember2",
15-
"UnionMember2Media",
16-
"UnionMember2MediaFiles",
17-
"UnionMember2MediaFilesFull",
1815
"UnionMember3",
1916
"UnionMember3Media",
20-
"UnionMember3MediaAdditional",
21-
"UnionMember3MediaThumb",
17+
"UnionMember3MediaFiles",
18+
"UnionMember3MediaFilesFull",
19+
"UnionMember4",
20+
"UnionMember4Media",
21+
"UnionMember4MediaAdditional",
22+
"UnionMember4MediaThumb",
2223
]
2324

2425

@@ -40,7 +41,17 @@ class UnionMember1(BaseModel):
4041
status: Optional[str] = None
4142

4243

43-
class UnionMember2MediaFilesFull(BaseModel):
44+
class UnionMember2(BaseModel):
45+
"""Upload rejected by OnlyFans — `error` carries the upstream reason verbatim"""
46+
47+
error: Optional[str] = None
48+
49+
prefixed_id: Optional[str] = None
50+
51+
status: Optional[str] = None
52+
53+
54+
class UnionMember3MediaFilesFull(BaseModel):
4455
height: Optional[int] = None
4556

4657
size: Optional[int] = None
@@ -52,8 +63,8 @@ class UnionMember2MediaFilesFull(BaseModel):
5263
width: Optional[int] = None
5364

5465

55-
class UnionMember2MediaFiles(BaseModel):
56-
full: Optional[UnionMember2MediaFilesFull] = None
66+
class UnionMember3MediaFiles(BaseModel):
67+
full: Optional[UnionMember3MediaFilesFull] = None
5768

5869
preview: Optional[str] = None
5970

@@ -62,7 +73,7 @@ class UnionMember2MediaFiles(BaseModel):
6273
thumb: Optional[str] = None
6374

6475

65-
class UnionMember2Media(BaseModel):
76+
class UnionMember3Media(BaseModel):
6677
id: Optional[int] = None
6778

6879
can_view: Optional[bool] = FieldInfo(alias="canView", default=None)
@@ -73,7 +84,7 @@ class UnionMember2Media(BaseModel):
7384

7485
duration: Optional[int] = None
7586

76-
files: Optional[UnionMember2MediaFiles] = None
87+
files: Optional[UnionMember3MediaFiles] = None
7788

7889
has_custom_preview: Optional[bool] = FieldInfo(alias="hasCustomPreview", default=None)
7990

@@ -86,30 +97,30 @@ class UnionMember2Media(BaseModel):
8697
type: Optional[str] = None
8798

8899

89-
class UnionMember2(BaseModel):
100+
class UnionMember3(BaseModel):
90101
"""Completed POST /media/vault upload"""
91102

92103
credits_used: Optional[int] = None
93104

94-
media: Optional[UnionMember2Media] = None
105+
media: Optional[UnionMember3Media] = None
95106

96107
prefixed_id: Optional[str] = None
97108

98109
status: Optional[str] = None
99110

100111

101-
class UnionMember3MediaAdditional(BaseModel):
112+
class UnionMember4MediaAdditional(BaseModel):
102113
user: Optional[str] = None
103114

104115

105-
class UnionMember3MediaThumb(BaseModel):
116+
class UnionMember4MediaThumb(BaseModel):
106117
id: Optional[int] = None
107118

108119
url: Optional[str] = None
109120

110121

111-
class UnionMember3Media(BaseModel):
112-
additional: Optional[UnionMember3MediaAdditional] = None
122+
class UnionMember4Media(BaseModel):
123+
additional: Optional[UnionMember4MediaAdditional] = None
113124

114125
extra: Optional[str] = None
115126

@@ -123,19 +134,19 @@ class UnionMember3Media(BaseModel):
123134

124135
source_url: Optional[str] = FieldInfo(alias="sourceUrl", default=None)
125136

126-
thumbs: Optional[List[UnionMember3MediaThumb]] = None
137+
thumbs: Optional[List[UnionMember4MediaThumb]] = None
127138

128139

129-
class UnionMember3(BaseModel):
140+
class UnionMember4(BaseModel):
130141
"""Completed POST /media/upload upload"""
131142

132143
credits_used: Optional[int] = None
133144

134-
media: Optional[UnionMember3Media] = None
145+
media: Optional[UnionMember4Media] = None
135146

136147
prefixed_id: Optional[str] = None
137148

138149
status: Optional[str] = None
139150

140151

141-
UploadGetStatusResponse: TypeAlias = Union[UnionMember0, UnionMember1, UnionMember2, UnionMember3]
152+
UploadGetStatusResponse: TypeAlias = Union[UnionMember0, UnionMember1, UnionMember2, UnionMember3, UnionMember4]

tests/api_resources/engagement/test_messages.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class TestMessages:
2424
@parametrize
2525
def test_method_get_message_buyers(self, client: OnlyFansAPI) -> None:
2626
message = client.engagement.messages.get_message_buyers(
27-
message_id="nam",
27+
message_id="assumenda",
2828
account="acct_XXXXXXXXXXXXXXX",
2929
)
3030
assert_matches_type(MessageGetMessageBuyersResponse, message, path=["response"])
@@ -33,7 +33,7 @@ def test_method_get_message_buyers(self, client: OnlyFansAPI) -> None:
3333
@parametrize
3434
def test_method_get_message_buyers_with_all_params(self, client: OnlyFansAPI) -> None:
3535
message = client.engagement.messages.get_message_buyers(
36-
message_id="nam",
36+
message_id="assumenda",
3737
account="acct_XXXXXXXXXXXXXXX",
3838
limit=10,
3939
marker=0,
@@ -47,7 +47,7 @@ def test_method_get_message_buyers_with_all_params(self, client: OnlyFansAPI) ->
4747
@parametrize
4848
def test_raw_response_get_message_buyers(self, client: OnlyFansAPI) -> None:
4949
response = client.engagement.messages.with_raw_response.get_message_buyers(
50-
message_id="nam",
50+
message_id="assumenda",
5151
account="acct_XXXXXXXXXXXXXXX",
5252
)
5353

@@ -60,7 +60,7 @@ def test_raw_response_get_message_buyers(self, client: OnlyFansAPI) -> None:
6060
@parametrize
6161
def test_streaming_response_get_message_buyers(self, client: OnlyFansAPI) -> None:
6262
with client.engagement.messages.with_streaming_response.get_message_buyers(
63-
message_id="nam",
63+
message_id="assumenda",
6464
account="acct_XXXXXXXXXXXXXXX",
6565
) as response:
6666
assert not response.is_closed
@@ -76,7 +76,7 @@ def test_streaming_response_get_message_buyers(self, client: OnlyFansAPI) -> Non
7676
def test_path_params_get_message_buyers(self, client: OnlyFansAPI) -> None:
7777
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account` but received ''"):
7878
client.engagement.messages.with_raw_response.get_message_buyers(
79-
message_id="nam",
79+
message_id="assumenda",
8080
account="",
8181
)
8282

@@ -148,7 +148,7 @@ class TestAsyncMessages:
148148
@parametrize
149149
async def test_method_get_message_buyers(self, async_client: AsyncOnlyFansAPI) -> None:
150150
message = await async_client.engagement.messages.get_message_buyers(
151-
message_id="nam",
151+
message_id="assumenda",
152152
account="acct_XXXXXXXXXXXXXXX",
153153
)
154154
assert_matches_type(MessageGetMessageBuyersResponse, message, path=["response"])
@@ -157,7 +157,7 @@ async def test_method_get_message_buyers(self, async_client: AsyncOnlyFansAPI) -
157157
@parametrize
158158
async def test_method_get_message_buyers_with_all_params(self, async_client: AsyncOnlyFansAPI) -> None:
159159
message = await async_client.engagement.messages.get_message_buyers(
160-
message_id="nam",
160+
message_id="assumenda",
161161
account="acct_XXXXXXXXXXXXXXX",
162162
limit=10,
163163
marker=0,
@@ -171,7 +171,7 @@ async def test_method_get_message_buyers_with_all_params(self, async_client: Asy
171171
@parametrize
172172
async def test_raw_response_get_message_buyers(self, async_client: AsyncOnlyFansAPI) -> None:
173173
response = await async_client.engagement.messages.with_raw_response.get_message_buyers(
174-
message_id="nam",
174+
message_id="assumenda",
175175
account="acct_XXXXXXXXXXXXXXX",
176176
)
177177

@@ -184,7 +184,7 @@ async def test_raw_response_get_message_buyers(self, async_client: AsyncOnlyFans
184184
@parametrize
185185
async def test_streaming_response_get_message_buyers(self, async_client: AsyncOnlyFansAPI) -> None:
186186
async with async_client.engagement.messages.with_streaming_response.get_message_buyers(
187-
message_id="nam",
187+
message_id="assumenda",
188188
account="acct_XXXXXXXXXXXXXXX",
189189
) as response:
190190
assert not response.is_closed
@@ -200,7 +200,7 @@ async def test_streaming_response_get_message_buyers(self, async_client: AsyncOn
200200
async def test_path_params_get_message_buyers(self, async_client: AsyncOnlyFansAPI) -> None:
201201
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account` but received ''"):
202202
await async_client.engagement.messages.with_raw_response.get_message_buyers(
203-
message_id="nam",
203+
message_id="assumenda",
204204
account="",
205205
)
206206

tests/api_resources/media/vault/lists/test_media.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class TestMedia:
2424
@parametrize
2525
def test_method_add(self, client: OnlyFansAPI) -> None:
2626
media = client.media.vault.lists.media.add(
27-
list_id="quod",
27+
list_id="error",
2828
account="acct_XXXXXXXXXXXXXXX",
2929
media_ids=["string"],
3030
)
@@ -34,7 +34,7 @@ def test_method_add(self, client: OnlyFansAPI) -> None:
3434
@parametrize
3535
def test_raw_response_add(self, client: OnlyFansAPI) -> None:
3636
response = client.media.vault.lists.media.with_raw_response.add(
37-
list_id="quod",
37+
list_id="error",
3838
account="acct_XXXXXXXXXXXXXXX",
3939
media_ids=["string"],
4040
)
@@ -48,7 +48,7 @@ def test_raw_response_add(self, client: OnlyFansAPI) -> None:
4848
@parametrize
4949
def test_streaming_response_add(self, client: OnlyFansAPI) -> None:
5050
with client.media.vault.lists.media.with_streaming_response.add(
51-
list_id="quod",
51+
list_id="error",
5252
account="acct_XXXXXXXXXXXXXXX",
5353
media_ids=["string"],
5454
) as response:
@@ -65,7 +65,7 @@ def test_streaming_response_add(self, client: OnlyFansAPI) -> None:
6565
def test_path_params_add(self, client: OnlyFansAPI) -> None:
6666
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account` but received ''"):
6767
client.media.vault.lists.media.with_raw_response.add(
68-
list_id="quod",
68+
list_id="error",
6969
account="",
7070
media_ids=["string"],
7171
)
@@ -81,7 +81,7 @@ def test_path_params_add(self, client: OnlyFansAPI) -> None:
8181
@parametrize
8282
def test_method_remove(self, client: OnlyFansAPI) -> None:
8383
media = client.media.vault.lists.media.remove(
84-
list_id="quod",
84+
list_id="error",
8585
account="acct_XXXXXXXXXXXXXXX",
8686
media_ids=["string"],
8787
)
@@ -91,7 +91,7 @@ def test_method_remove(self, client: OnlyFansAPI) -> None:
9191
@parametrize
9292
def test_raw_response_remove(self, client: OnlyFansAPI) -> None:
9393
response = client.media.vault.lists.media.with_raw_response.remove(
94-
list_id="quod",
94+
list_id="error",
9595
account="acct_XXXXXXXXXXXXXXX",
9696
media_ids=["string"],
9797
)
@@ -105,7 +105,7 @@ def test_raw_response_remove(self, client: OnlyFansAPI) -> None:
105105
@parametrize
106106
def test_streaming_response_remove(self, client: OnlyFansAPI) -> None:
107107
with client.media.vault.lists.media.with_streaming_response.remove(
108-
list_id="quod",
108+
list_id="error",
109109
account="acct_XXXXXXXXXXXXXXX",
110110
media_ids=["string"],
111111
) as response:
@@ -122,7 +122,7 @@ def test_streaming_response_remove(self, client: OnlyFansAPI) -> None:
122122
def test_path_params_remove(self, client: OnlyFansAPI) -> None:
123123
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account` but received ''"):
124124
client.media.vault.lists.media.with_raw_response.remove(
125-
list_id="quod",
125+
list_id="error",
126126
account="",
127127
media_ids=["string"],
128128
)
@@ -144,7 +144,7 @@ class TestAsyncMedia:
144144
@parametrize
145145
async def test_method_add(self, async_client: AsyncOnlyFansAPI) -> None:
146146
media = await async_client.media.vault.lists.media.add(
147-
list_id="quod",
147+
list_id="error",
148148
account="acct_XXXXXXXXXXXXXXX",
149149
media_ids=["string"],
150150
)
@@ -154,7 +154,7 @@ async def test_method_add(self, async_client: AsyncOnlyFansAPI) -> None:
154154
@parametrize
155155
async def test_raw_response_add(self, async_client: AsyncOnlyFansAPI) -> None:
156156
response = await async_client.media.vault.lists.media.with_raw_response.add(
157-
list_id="quod",
157+
list_id="error",
158158
account="acct_XXXXXXXXXXXXXXX",
159159
media_ids=["string"],
160160
)
@@ -168,7 +168,7 @@ async def test_raw_response_add(self, async_client: AsyncOnlyFansAPI) -> None:
168168
@parametrize
169169
async def test_streaming_response_add(self, async_client: AsyncOnlyFansAPI) -> None:
170170
async with async_client.media.vault.lists.media.with_streaming_response.add(
171-
list_id="quod",
171+
list_id="error",
172172
account="acct_XXXXXXXXXXXXXXX",
173173
media_ids=["string"],
174174
) as response:
@@ -185,7 +185,7 @@ async def test_streaming_response_add(self, async_client: AsyncOnlyFansAPI) -> N
185185
async def test_path_params_add(self, async_client: AsyncOnlyFansAPI) -> None:
186186
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account` but received ''"):
187187
await async_client.media.vault.lists.media.with_raw_response.add(
188-
list_id="quod",
188+
list_id="error",
189189
account="",
190190
media_ids=["string"],
191191
)
@@ -201,7 +201,7 @@ async def test_path_params_add(self, async_client: AsyncOnlyFansAPI) -> None:
201201
@parametrize
202202
async def test_method_remove(self, async_client: AsyncOnlyFansAPI) -> None:
203203
media = await async_client.media.vault.lists.media.remove(
204-
list_id="quod",
204+
list_id="error",
205205
account="acct_XXXXXXXXXXXXXXX",
206206
media_ids=["string"],
207207
)
@@ -211,7 +211,7 @@ async def test_method_remove(self, async_client: AsyncOnlyFansAPI) -> None:
211211
@parametrize
212212
async def test_raw_response_remove(self, async_client: AsyncOnlyFansAPI) -> None:
213213
response = await async_client.media.vault.lists.media.with_raw_response.remove(
214-
list_id="quod",
214+
list_id="error",
215215
account="acct_XXXXXXXXXXXXXXX",
216216
media_ids=["string"],
217217
)
@@ -225,7 +225,7 @@ async def test_raw_response_remove(self, async_client: AsyncOnlyFansAPI) -> None
225225
@parametrize
226226
async def test_streaming_response_remove(self, async_client: AsyncOnlyFansAPI) -> None:
227227
async with async_client.media.vault.lists.media.with_streaming_response.remove(
228-
list_id="quod",
228+
list_id="error",
229229
account="acct_XXXXXXXXXXXXXXX",
230230
media_ids=["string"],
231231
) as response:
@@ -242,7 +242,7 @@ async def test_streaming_response_remove(self, async_client: AsyncOnlyFansAPI) -
242242
async def test_path_params_remove(self, async_client: AsyncOnlyFansAPI) -> None:
243243
with pytest.raises(ValueError, match=r"Expected a non-empty value for `account` but received ''"):
244244
await async_client.media.vault.lists.media.with_raw_response.remove(
245-
list_id="quod",
245+
list_id="error",
246246
account="",
247247
media_ids=["string"],
248248
)

0 commit comments

Comments
 (0)