@footballbingo/client 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sdk.gen.js CHANGED
@@ -498,12 +498,6 @@ export const updateSponsor = (options) => (options.client ?? client).put({
498
498
  ...options.headers
499
499
  }
500
500
  });
501
- /**
502
- * Get sponsor's stakes
503
- *
504
- * Retrieve stakes associated with a specific sponsor
505
- */
506
- export const getSponsorStakes = (options) => (options.client ?? client).get({ url: '/api/v1/sponsors/{id}/stakes', ...options });
507
501
  /**
508
502
  * Get sponsor's packs
509
503
  *
@@ -857,6 +851,20 @@ export const updateUsername = (options) => (options?.client ?? client).put({
857
851
  ...options?.headers
858
852
  }
859
853
  });
854
+ /**
855
+ * Update user preferences
856
+ *
857
+ * Partial update of user-level preferences (currently feedAutoShareEnabled).
858
+ */
859
+ export const updateMePreferences = (options) => (options?.client ?? client).patch({
860
+ security: [{ scheme: 'bearer', type: 'http' }],
861
+ url: '/api/v1/users/me/preferences',
862
+ ...options,
863
+ headers: {
864
+ 'Content-Type': 'application/json',
865
+ ...options?.headers
866
+ }
867
+ });
860
868
  /**
861
869
  * Get current user's weekly stats
862
870
  *
@@ -1157,6 +1165,64 @@ export const getLeaderboard = (options) => (options.client ?? client).get({
1157
1165
  * Retrieve recent bingo wins and achievements for the live activity feed. Shows real-time community activities including game completions, wins, and achievement unlocks.
1158
1166
  */
1159
1167
  export const getLiveActivityFeed = (options) => (options?.client ?? client).get({ url: '/api/v1/activities/live', ...options });
1168
+ /**
1169
+ * List feed posts
1170
+ *
1171
+ * Cursor-based paginated feed. Supports filters: following (auth required), starred (auth required), hashtag, user, explore.
1172
+ */
1173
+ export const listFeed = (options) => (options?.client ?? client).get({
1174
+ security: [{ scheme: 'bearer', type: 'http' }],
1175
+ url: '/api/v1/feed',
1176
+ ...options
1177
+ });
1178
+ /**
1179
+ * Create a feed post
1180
+ *
1181
+ * Create a new feed post. Must contain at least one of: content, attachment (attachmentType + attachmentId), or imageUrls.
1182
+ */
1183
+ export const createFeedPost = (options) => (options?.client ?? client).post({
1184
+ security: [{ scheme: 'bearer', type: 'http' }],
1185
+ url: '/api/v1/feed',
1186
+ ...options,
1187
+ headers: {
1188
+ 'Content-Type': 'application/json',
1189
+ ...options?.headers
1190
+ }
1191
+ });
1192
+ /**
1193
+ * Delete a feed post
1194
+ *
1195
+ * Soft-delete your own feed post.
1196
+ */
1197
+ export const deleteFeedPost = (options) => (options.client ?? client).delete({
1198
+ security: [{ scheme: 'bearer', type: 'http' }],
1199
+ url: '/api/v1/feed/{postId}',
1200
+ ...options
1201
+ });
1202
+ /**
1203
+ * Get a single feed post
1204
+ *
1205
+ * Fetch a single feed post by id. Increments view count.
1206
+ */
1207
+ export const getFeedPostById = (options) => (options.client ?? client).get({
1208
+ security: [{ scheme: 'bearer', type: 'http' }],
1209
+ url: '/api/v1/feed/{postId}',
1210
+ ...options
1211
+ });
1212
+ /**
1213
+ * Edit a feed post
1214
+ *
1215
+ * Edit content and/or visibility of your own feed post.
1216
+ */
1217
+ export const editFeedPost = (options) => (options.client ?? client).patch({
1218
+ security: [{ scheme: 'bearer', type: 'http' }],
1219
+ url: '/api/v1/feed/{postId}',
1220
+ ...options,
1221
+ headers: {
1222
+ 'Content-Type': 'application/json',
1223
+ ...options.headers
1224
+ }
1225
+ });
1160
1226
  /**
1161
1227
  * Get user's lineups
1162
1228
  *
@@ -1329,6 +1395,12 @@ export const updateTacticsBoard = (options) => (options.client ?? client).put({
1329
1395
  ...options.headers
1330
1396
  }
1331
1397
  });
1398
+ /**
1399
+ * Get tactics board animation payload
1400
+ *
1401
+ * Returns only the animation frames for a tactics board. Use this for lazy-loading playback so the heavy frame array does not bloat the main board response.
1402
+ */
1403
+ export const getTacticsBoardAnimation = (options) => (options.client ?? client).get({ url: '/api/v1/community/tactics-boards/{id}/animation', ...options });
1332
1404
  /**
1333
1405
  * Export tactics board as image
1334
1406
  *
@@ -1629,18 +1701,6 @@ export const markMentionRead = (options) => (options.client ?? client).post({
1629
1701
  url: '/api/v1/social/mentions/{mentionId}/read',
1630
1702
  ...options
1631
1703
  });
1632
- /**
1633
- * Share a creation to a community
1634
- */
1635
- export const shareToCommunity = (options) => (options?.client ?? client).post({
1636
- security: [{ scheme: 'bearer', type: 'http' }],
1637
- url: '/api/v1/social/share/community',
1638
- ...options,
1639
- headers: {
1640
- 'Content-Type': 'application/json',
1641
- ...options?.headers
1642
- }
1643
- });
1644
1704
  /**
1645
1705
  * Share a creation to specific followers
1646
1706
  */
@@ -1905,70 +1965,6 @@ export const sendGameChatMessage = (options) => (options.client ?? client).post(
1905
1965
  ...options.headers
1906
1966
  }
1907
1967
  });
1908
- /**
1909
- * List available pundits
1910
- */
1911
- export const listAiPundits = (options) => (options?.client ?? client).get({ url: '/api/v1/ai-chat/pundits', ...options });
1912
- /**
1913
- * Get my chat sessions
1914
- */
1915
- export const listAiChatSessions = (options) => (options?.client ?? client).get({
1916
- security: [{ scheme: 'bearer', type: 'http' }],
1917
- url: '/api/v1/ai-chat/sessions',
1918
- ...options
1919
- });
1920
- /**
1921
- * Create chat session
1922
- */
1923
- export const createAiChatSession = (options) => (options?.client ?? client).post({
1924
- security: [{ scheme: 'bearer', type: 'http' }],
1925
- url: '/api/v1/ai-chat/sessions',
1926
- ...options,
1927
- headers: {
1928
- 'Content-Type': 'application/json',
1929
- ...options?.headers
1930
- }
1931
- });
1932
- /**
1933
- * Delete chat session
1934
- */
1935
- export const deleteAiChatSession = (options) => (options.client ?? client).delete({
1936
- security: [{ scheme: 'bearer', type: 'http' }],
1937
- url: '/api/v1/ai-chat/sessions/{sessionId}',
1938
- ...options
1939
- });
1940
- /**
1941
- * Get chat session with messages
1942
- */
1943
- export const getAiChatSessionDetail = (options) => (options.client ?? client).get({
1944
- security: [{ scheme: 'bearer', type: 'http' }],
1945
- url: '/api/v1/ai-chat/sessions/{sessionId}',
1946
- ...options
1947
- });
1948
- /**
1949
- * Send message and get AI response
1950
- */
1951
- export const sendAiChatMessage = (options) => (options.client ?? client).post({
1952
- security: [{ scheme: 'bearer', type: 'http' }],
1953
- url: '/api/v1/ai-chat/sessions/{sessionId}/messages',
1954
- ...options,
1955
- headers: {
1956
- 'Content-Type': 'application/json',
1957
- ...options.headers
1958
- }
1959
- });
1960
- /**
1961
- * Get quick pundit opinion
1962
- */
1963
- export const getAiOpinion = (options) => (options?.client ?? client).post({
1964
- security: [{ scheme: 'bearer', type: 'http' }],
1965
- url: '/api/v1/ai-chat/opinion',
1966
- ...options,
1967
- headers: {
1968
- 'Content-Type': 'application/json',
1969
- ...options?.headers
1970
- }
1971
- });
1972
1968
  /**
1973
1969
  * Register device for push notifications
1974
1970
  */
@@ -2132,111 +2128,19 @@ export const getPredictionByFixture = (options) => (options.client ?? client).ge
2132
2128
  ...options
2133
2129
  });
2134
2130
  /**
2135
- * Get active flash predictions for a fixture
2136
- */
2137
- export const listActiveFlashPredictions = (options) => (options.client ?? client).get({ url: '/api/v1/predictions/flash/active', ...options });
2138
- /**
2139
- * Get resolved flash predictions for a fixture
2140
- */
2141
- export const getFlashPredictionHistory = (options) => (options.client ?? client).get({ url: '/api/v1/predictions/flash/history', ...options });
2142
- /**
2143
- * Get user's flash prediction stats
2144
- */
2145
- export const getFlashPredictionStats = (options) => (options?.client ?? client).get({
2146
- security: [{ scheme: 'bearer', type: 'http' }],
2147
- url: '/api/v1/predictions/flash/stats',
2148
- ...options
2149
- });
2150
- /**
2151
- * Get flash session summary for a fixture
2152
- */
2153
- export const getFlashSessionSummary = (options) => (options.client ?? client).get({
2154
- security: [{ scheme: 'bearer', type: 'http' }],
2155
- url: '/api/v1/predictions/flash/summary',
2156
- ...options
2157
- });
2158
- /**
2159
- * Submit answer to a flash prediction
2160
- */
2161
- export const submitFlashAnswer = (options) => (options.client ?? client).post({
2162
- security: [{ scheme: 'bearer', type: 'http' }],
2163
- url: '/api/v1/predictions/flash/{id}/answer',
2164
- ...options,
2165
- headers: {
2166
- 'Content-Type': 'application/json',
2167
- ...options.headers
2168
- }
2169
- });
2170
- /**
2171
- * Resolve a flash prediction (admin)
2172
- */
2173
- export const resolveFlashPrediction = (options) => (options.client ?? client).post({
2174
- security: [{ scheme: 'bearer', type: 'http' }],
2175
- url: '/api/v1/predictions/flash/{id}/resolve',
2176
- ...options,
2177
- headers: {
2178
- 'Content-Type': 'application/json',
2179
- ...options.headers
2180
- }
2181
- });
2182
- /**
2183
- * Get user's active flash play sessions
2184
- */
2185
- export const getFlashSessions = (options) => (options?.client ?? client).get({
2186
- security: [{ scheme: 'bearer', type: 'http' }],
2187
- url: '/api/v1/predictions/flash/sessions',
2188
- ...options
2189
- });
2190
- /**
2191
- * Get active player count for a fixture
2192
- */
2193
- export const getFlashPlayerCount = (options) => (options.client ?? client).get({ url: '/api/v1/predictions/flash/players/{fixtureId}', ...options });
2194
- /**
2195
- * Get flash prediction leaderboard for a fixture
2196
- */
2197
- export const getFlashLeaderboard = (options) => (options.client ?? client).get({ url: '/api/v1/predictions/flash/leaderboard/{fixtureId}', ...options });
2198
- /**
2199
- * Get user's flash prediction history
2131
+ * Get user's ad watch status
2200
2132
  */
2201
- export const getMyFlashHistory = (options) => (options?.client ?? client).get({
2133
+ export const getAdWatchStatus = (options) => (options?.client ?? client).get({
2202
2134
  security: [{ scheme: 'bearer', type: 'http' }],
2203
- url: '/api/v1/predictions/flash/history/me',
2135
+ url: '/api/v1/rewards/ad-status',
2204
2136
  ...options
2205
2137
  });
2206
2138
  /**
2207
- * Join a flash play session for a fixture
2208
- */
2209
- export const joinFlashSession = (options) => (options?.client ?? client).post({
2210
- security: [{ scheme: 'bearer', type: 'http' }],
2211
- url: '/api/v1/predictions/flash/join',
2212
- ...options,
2213
- headers: {
2214
- 'Content-Type': 'application/json',
2215
- ...options?.headers
2216
- }
2217
- });
2218
- /**
2219
- * Leave a flash play session for a fixture
2220
- */
2221
- export const leaveFlashSession = (options) => (options?.client ?? client).post({
2222
- security: [{ scheme: 'bearer', type: 'http' }],
2223
- url: '/api/v1/predictions/flash/leave',
2224
- ...options,
2225
- headers: {
2226
- 'Content-Type': 'application/json',
2227
- ...options?.headers
2228
- }
2229
- });
2230
- /**
2231
- * Get pre-match quick pick options
2232
- */
2233
- export const getQuickPicks = (options) => (options.client ?? client).get({ url: '/api/v1/predictions/quick-picks/{fixtureId}', ...options });
2234
- /**
2235
- * Submit quick pick predictions
2139
+ * Claim reward after watching an ad
2236
2140
  */
2237
- export const submitQuickPicks = (options) => (options?.client ?? client).post({
2141
+ export const claimAdReward = (options) => (options?.client ?? client).post({
2238
2142
  security: [{ scheme: 'bearer', type: 'http' }],
2239
- url: '/api/v1/predictions/quick-picks',
2143
+ url: '/api/v1/rewards/ad-claim',
2240
2144
  ...options,
2241
2145
  headers: {
2242
2146
  'Content-Type': 'application/json',
@@ -2244,99 +2148,91 @@ export const submitQuickPicks = (options) => (options?.client ?? client).post({
2244
2148
  }
2245
2149
  });
2246
2150
  /**
2247
- * Get user's active stakes
2151
+ * List cosmetics catalog
2152
+ *
2153
+ * Public browse of the cosmetics catalog. When authenticated, each item includes `isOwned` and `isEquipped` flags.
2248
2154
  */
2249
- export const getMyActiveStakes = (options) => (options?.client ?? client).get({
2155
+ export const listCosmetics = (options) => (options?.client ?? client).get({
2250
2156
  security: [{ scheme: 'bearer', type: 'http' }],
2251
- url: '/api/v1/stakes/me/active',
2157
+ url: '/api/v1/cosmetics',
2252
2158
  ...options
2253
2159
  });
2254
2160
  /**
2255
- * Get user's stake history
2161
+ * List cosmetics owned by the current user
2256
2162
  */
2257
- export const getMyStakeHistory = (options) => (options?.client ?? client).get({
2163
+ export const getMyCosmetics = (options) => (options?.client ?? client).get({
2258
2164
  security: [{ scheme: 'bearer', type: 'http' }],
2259
- url: '/api/v1/stakes/me/history',
2165
+ url: '/api/v1/cosmetics/mine',
2260
2166
  ...options
2261
2167
  });
2262
2168
  /**
2263
- * Get community stake feed
2169
+ * Get a single cosmetic
2264
2170
  */
2265
- export const getStakeFeed = (options) => (options?.client ?? client).get({ url: '/api/v1/stakes/feed', ...options });
2266
- /**
2267
- * Get stakes for a fixture
2268
- */
2269
- export const listStakes = (options) => (options.client ?? client).get({
2171
+ export const getCosmetic = (options) => (options.client ?? client).get({
2270
2172
  security: [{ scheme: 'bearer', type: 'http' }],
2271
- url: '/api/v1/stakes',
2173
+ url: '/api/v1/cosmetics/{id}',
2272
2174
  ...options
2273
2175
  });
2274
2176
  /**
2275
- * Create a new stake
2276
- */
2277
- export const createStake = (options) => (options?.client ?? client).post({
2278
- security: [{ scheme: 'bearer', type: 'http' }],
2279
- url: '/api/v1/stakes',
2280
- ...options,
2281
- headers: {
2282
- 'Content-Type': 'application/json',
2283
- ...options?.headers
2284
- }
2285
- });
2286
- /**
2287
- * Get stake details
2177
+ * Buy a cosmetic with in-app coins
2178
+ *
2179
+ * Debits the price via recordTransaction (source=store_purchase) and grants ownership. Idempotent — repeat calls on an owned cosmetic return the existing ownership row.
2288
2180
  */
2289
- export const getStakeById = (options) => (options.client ?? client).get({
2181
+ export const purchaseCosmetic = (options) => (options.client ?? client).post({
2290
2182
  security: [{ scheme: 'bearer', type: 'http' }],
2291
- url: '/api/v1/stakes/{id}',
2183
+ url: '/api/v1/cosmetics/{id}/purchase',
2292
2184
  ...options
2293
2185
  });
2294
2186
  /**
2295
- * Accept a stake
2187
+ * Equip an owned cosmetic
2188
+ *
2189
+ * Mutually exclusive per category — any other equipped cosmetic in the same category is unequipped in the same transaction. Their IDs are returned in `unequippedIds`.
2296
2190
  */
2297
- export const acceptStake = (options) => (options.client ?? client).post({
2191
+ export const equipCosmetic = (options) => (options.client ?? client).post({
2298
2192
  security: [{ scheme: 'bearer', type: 'http' }],
2299
- url: '/api/v1/stakes/{id}/accept',
2193
+ url: '/api/v1/cosmetics/{id}/equip',
2300
2194
  ...options
2301
2195
  });
2302
2196
  /**
2303
- * Cancel a stake
2197
+ * Unequip an owned cosmetic
2304
2198
  */
2305
- export const cancelStake = (options) => (options.client ?? client).post({
2199
+ export const unequipCosmetic = (options) => (options.client ?? client).post({
2306
2200
  security: [{ scheme: 'bearer', type: 'http' }],
2307
- url: '/api/v1/stakes/{id}/cancel',
2201
+ url: '/api/v1/cosmetics/{id}/unequip',
2308
2202
  ...options
2309
2203
  });
2310
2204
  /**
2311
- * Manually resolve a stake (admin)
2205
+ * Create a cosmetic (admin)
2312
2206
  */
2313
- export const resolveStake = (options) => (options.client ?? client).post({
2207
+ export const createCosmetic = (options) => (options?.client ?? client).post({
2314
2208
  security: [{ scheme: 'bearer', type: 'http' }],
2315
- url: '/api/v1/stakes/{id}/resolve',
2209
+ url: '/api/v1/cosmetics/admin',
2316
2210
  ...options,
2317
2211
  headers: {
2318
2212
  'Content-Type': 'application/json',
2319
- ...options.headers
2213
+ ...options?.headers
2320
2214
  }
2321
2215
  });
2322
2216
  /**
2323
- * Get user's ad watch status
2217
+ * Delete a cosmetic (admin)
2218
+ *
2219
+ * Hard delete if unowned; otherwise deactivates (sets isActive=false) so ownership + audit remain intact.
2324
2220
  */
2325
- export const getAdWatchStatus = (options) => (options?.client ?? client).get({
2221
+ export const deleteCosmetic = (options) => (options.client ?? client).delete({
2326
2222
  security: [{ scheme: 'bearer', type: 'http' }],
2327
- url: '/api/v1/rewards/ad-status',
2223
+ url: '/api/v1/cosmetics/admin/{id}',
2328
2224
  ...options
2329
2225
  });
2330
2226
  /**
2331
- * Claim reward after watching an ad
2227
+ * Update a cosmetic (admin)
2332
2228
  */
2333
- export const claimAdReward = (options) => (options?.client ?? client).post({
2229
+ export const updateCosmetic = (options) => (options.client ?? client).patch({
2334
2230
  security: [{ scheme: 'bearer', type: 'http' }],
2335
- url: '/api/v1/rewards/ad-claim',
2231
+ url: '/api/v1/cosmetics/admin/{id}',
2336
2232
  ...options,
2337
2233
  headers: {
2338
2234
  'Content-Type': 'application/json',
2339
- ...options?.headers
2235
+ ...options.headers
2340
2236
  }
2341
2237
  });
2342
2238
  /**
@@ -2443,226 +2339,6 @@ export const revealGuessThePlayerClue = (options) => (options?.client ?? client)
2443
2339
  url: '/api/v1/mini-games/guess-the-player/reveal-clue',
2444
2340
  ...options
2445
2341
  });
2446
- /**
2447
- * Get user's communities
2448
- */
2449
- export const getMyCommunities = (options) => (options?.client ?? client).get({
2450
- security: [{ scheme: 'bearer', type: 'http' }],
2451
- url: '/api/v1/communities/me',
2452
- ...options
2453
- });
2454
- /**
2455
- * Get suggested communities
2456
- */
2457
- export const getSuggestedCommunities = (options) => (options?.client ?? client).get({
2458
- security: [{ scheme: 'bearer', type: 'http' }],
2459
- url: '/api/v1/communities/suggested',
2460
- ...options
2461
- });
2462
- /**
2463
- * Get user's pending invites
2464
- */
2465
- export const getMyInvites = (options) => (options?.client ?? client).get({
2466
- security: [{ scheme: 'bearer', type: 'http' }],
2467
- url: '/api/v1/communities/invites',
2468
- ...options
2469
- });
2470
- /**
2471
- * Accept or decline an invite
2472
- */
2473
- export const respondToInvite = (options) => (options.client ?? client).post({
2474
- security: [{ scheme: 'bearer', type: 'http' }],
2475
- url: '/api/v1/communities/invites/{inviteId}/respond',
2476
- ...options,
2477
- headers: {
2478
- 'Content-Type': 'application/json',
2479
- ...options.headers
2480
- }
2481
- });
2482
- /**
2483
- * Join community by invite code
2484
- */
2485
- export const joinCommunityByCode = (options) => (options.client ?? client).post({
2486
- security: [{ scheme: 'bearer', type: 'http' }],
2487
- url: '/api/v1/communities/join/{code}',
2488
- ...options
2489
- });
2490
- /**
2491
- * List or search communities
2492
- */
2493
- export const listCommunities = (options) => (options?.client ?? client).get({ url: '/api/v1/communities', ...options });
2494
- /**
2495
- * Create a user community
2496
- */
2497
- export const createCommunity = (options) => (options?.client ?? client).post({
2498
- security: [{ scheme: 'bearer', type: 'http' }],
2499
- url: '/api/v1/communities',
2500
- ...options,
2501
- headers: {
2502
- 'Content-Type': 'application/json',
2503
- ...options?.headers
2504
- }
2505
- });
2506
- /**
2507
- * Get community details
2508
- */
2509
- export const getCommunityById = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}', ...options });
2510
- /**
2511
- * Join a community
2512
- */
2513
- export const joinCommunity = (options) => (options.client ?? client).post({
2514
- security: [{ scheme: 'bearer', type: 'http' }],
2515
- url: '/api/v1/communities/{id}/join',
2516
- ...options
2517
- });
2518
- /**
2519
- * Leave a community
2520
- */
2521
- export const leaveCommunity = (options) => (options.client ?? client).post({
2522
- security: [{ scheme: 'bearer', type: 'http' }],
2523
- url: '/api/v1/communities/{id}/leave',
2524
- ...options
2525
- });
2526
- /**
2527
- * Get community members
2528
- */
2529
- export const getCommunityMembers = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}/members', ...options });
2530
- /**
2531
- * Get community leaderboard
2532
- */
2533
- export const getCommunityLeaderboard = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}/leaderboard', ...options });
2534
- /**
2535
- * Get community activity feed
2536
- */
2537
- export const getCommunityFeed = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}/feed', ...options });
2538
- /**
2539
- * Update community settings
2540
- */
2541
- export const updateCommunitySettings = (options) => (options.client ?? client).patch({
2542
- security: [{ scheme: 'bearer', type: 'http' }],
2543
- url: '/api/v1/communities/{id}/settings',
2544
- ...options,
2545
- headers: {
2546
- 'Content-Type': 'application/json',
2547
- ...options.headers
2548
- }
2549
- });
2550
- /**
2551
- * Moderate a community member
2552
- */
2553
- export const moderateCommunityMember = (options) => (options.client ?? client).post({
2554
- security: [{ scheme: 'bearer', type: 'http' }],
2555
- url: '/api/v1/communities/{id}/moderate',
2556
- ...options,
2557
- headers: {
2558
- 'Content-Type': 'application/json',
2559
- ...options.headers
2560
- }
2561
- });
2562
- /**
2563
- * Invite a user to the community
2564
- */
2565
- export const inviteToCommunity = (options) => (options.client ?? client).post({
2566
- security: [{ scheme: 'bearer', type: 'http' }],
2567
- url: '/api/v1/communities/{id}/invite',
2568
- ...options,
2569
- headers: {
2570
- 'Content-Type': 'application/json',
2571
- ...options.headers
2572
- }
2573
- });
2574
- /**
2575
- * View pending join requests
2576
- */
2577
- export const getCommunityJoinRequests = (options) => (options.client ?? client).get({
2578
- security: [{ scheme: 'bearer', type: 'http' }],
2579
- url: '/api/v1/communities/{id}/join-requests',
2580
- ...options
2581
- });
2582
- /**
2583
- * Accept or reject a join request
2584
- */
2585
- export const handleJoinRequest = (options) => (options.client ?? client).post({
2586
- security: [{ scheme: 'bearer', type: 'http' }],
2587
- url: '/api/v1/communities/{id}/join-requests',
2588
- ...options,
2589
- headers: {
2590
- 'Content-Type': 'application/json',
2591
- ...options.headers
2592
- }
2593
- });
2594
- /**
2595
- * Regenerate community invite code
2596
- */
2597
- export const regenerateCommunityInviteCode = (options) => (options.client ?? client).post({
2598
- security: [{ scheme: 'bearer', type: 'http' }],
2599
- url: '/api/v1/communities/{id}/invite-code/regenerate',
2600
- ...options
2601
- });
2602
- /**
2603
- * List community posts
2604
- */
2605
- export const listCommunityPosts = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}/posts', ...options });
2606
- /**
2607
- * Create a community post
2608
- */
2609
- export const createCommunityPost = (options) => (options.client ?? client).post({
2610
- security: [{ scheme: 'bearer', type: 'http' }],
2611
- url: '/api/v1/communities/{id}/posts',
2612
- ...options,
2613
- headers: {
2614
- 'Content-Type': 'application/json',
2615
- ...options.headers
2616
- }
2617
- });
2618
- /**
2619
- * Delete a community post
2620
- */
2621
- export const deleteCommunityPost = (options) => (options.client ?? client).delete({
2622
- security: [{ scheme: 'bearer', type: 'http' }],
2623
- url: '/api/v1/communities/{id}/posts/{postId}',
2624
- ...options
2625
- });
2626
- /**
2627
- * Get post with replies
2628
- */
2629
- export const getCommunityPostById = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}/posts/{postId}', ...options });
2630
- /**
2631
- * Edit a community post
2632
- */
2633
- export const editCommunityPost = (options) => (options.client ?? client).patch({
2634
- security: [{ scheme: 'bearer', type: 'http' }],
2635
- url: '/api/v1/communities/{id}/posts/{postId}',
2636
- ...options,
2637
- headers: {
2638
- 'Content-Type': 'application/json',
2639
- ...options.headers
2640
- }
2641
- });
2642
- /**
2643
- * Vote on a community post
2644
- */
2645
- export const voteCommunityPost = (options) => (options.client ?? client).post({
2646
- security: [{ scheme: 'bearer', type: 'http' }],
2647
- url: '/api/v1/communities/{id}/posts/{postId}/vote',
2648
- ...options,
2649
- headers: {
2650
- 'Content-Type': 'application/json',
2651
- ...options.headers
2652
- }
2653
- });
2654
- /**
2655
- * Pin or unpin a community post
2656
- */
2657
- export const togglePinCommunityPost = (options) => (options.client ?? client).post({
2658
- security: [{ scheme: 'bearer', type: 'http' }],
2659
- url: '/api/v1/communities/{id}/posts/{postId}/pin',
2660
- ...options
2661
- });
2662
- /**
2663
- * Get post replies
2664
- */
2665
- export const getCommunityPostReplies = (options) => (options.client ?? client).get({ url: '/api/v1/communities/{id}/posts/{postId}/replies', ...options });
2666
2342
  /**
2667
2343
  * Get active seasonal event
2668
2344
  */
@@ -3175,18 +2851,6 @@ export const adminDeactivateSeasonalEvent = (options) => (options.client ?? clie
3175
2851
  url: '/api/v1/admin/seasonal-events/{id}/deactivate',
3176
2852
  ...options
3177
2853
  });
3178
- /**
3179
- * Create a sponsored stake
3180
- */
3181
- export const adminCreateSponsoredStake = (options) => (options.client ?? client).post({
3182
- security: [{ scheme: 'bearer', type: 'http' }],
3183
- url: '/api/v1/admin/sponsors/{id}/stake',
3184
- ...options,
3185
- headers: {
3186
- 'Content-Type': 'application/json',
3187
- ...options.headers
3188
- }
3189
- });
3190
2854
  /**
3191
2855
  * Create a sponsored pack
3192
2856
  */
@@ -3274,6 +2938,58 @@ export const adminReviewModerationReport = (options) => (options.client ?? clien
3274
2938
  ...options.headers
3275
2939
  }
3276
2940
  });
2941
+ /**
2942
+ * List social auto-post queue
2943
+ *
2944
+ * Admin-only. Lists queued/approved/posted social posts with status/platform/source filters.
2945
+ */
2946
+ export const listSocialQueue = (options) => (options?.client ?? client).get({
2947
+ security: [{ scheme: 'bearer', type: 'http' }],
2948
+ url: '/api/v1/admin/social',
2949
+ ...options
2950
+ });
2951
+ /**
2952
+ * Create a manual social post (pre-approved)
2953
+ *
2954
+ * Bypasses auto-ingestion. Marked approved immediately and picked up by the SOCIAL_POST_DISPATCH cron.
2955
+ */
2956
+ export const createManualSocialPost = (options) => (options?.client ?? client).post({
2957
+ security: [{ scheme: 'bearer', type: 'http' }],
2958
+ url: '/api/v1/admin/social/manual',
2959
+ ...options,
2960
+ headers: {
2961
+ 'Content-Type': 'application/json',
2962
+ ...options?.headers
2963
+ }
2964
+ });
2965
+ /**
2966
+ * Approve a queued social post
2967
+ *
2968
+ * Flips status from pending → approved. Optional `scheduledFor` delays dispatch; otherwise the next cron tick sends.
2969
+ */
2970
+ export const approveSocialPost = (options) => (options.client ?? client).post({
2971
+ security: [{ scheme: 'bearer', type: 'http' }],
2972
+ url: '/api/v1/admin/social/{id}/approve',
2973
+ ...options,
2974
+ headers: {
2975
+ 'Content-Type': 'application/json',
2976
+ ...options.headers
2977
+ }
2978
+ });
2979
+ /**
2980
+ * Reject a queued social post
2981
+ *
2982
+ * Flips status from pending → rejected. Reason is optional and stored on the row.
2983
+ */
2984
+ export const rejectSocialPost = (options) => (options.client ?? client).post({
2985
+ security: [{ scheme: 'bearer', type: 'http' }],
2986
+ url: '/api/v1/admin/social/{id}/reject',
2987
+ ...options,
2988
+ headers: {
2989
+ 'Content-Type': 'application/json',
2990
+ ...options.headers
2991
+ }
2992
+ });
3277
2993
  /**
3278
2994
  * Clerk webhook endpoint
3279
2995
  *
@@ -3301,15 +3017,8 @@ export const handleClerkTestWebhook = (options) => (options?.client ?? client).p
3301
3017
  }
3302
3018
  });
3303
3019
  /**
3304
- * Ad network S2S callback
3020
+ * AdMob Server-Side Verification callback
3305
3021
  *
3306
- * Called by ad networks (AdMob, IronSource, Unity, AppLovin) after a verified ad view. Verifies signature, grants coins, creates RewardedAdView record. Public endpoint, no auth required.
3022
+ * Called by Google AdMob after a verified rewarded ad view. Verifies ECDSA signature against Google's public keys, then grants coins. Public endpoint; auth is via signature.
3307
3023
  */
3308
- export const handleAdCallbackWebhook = (options) => (options?.client ?? client).post({
3309
- url: '/api/v1/webhooks/ad-callback',
3310
- ...options,
3311
- headers: {
3312
- 'Content-Type': 'application/json',
3313
- ...options?.headers
3314
- }
3315
- });
3024
+ export const handleAdMobCallback = (options) => (options.client ?? client).get({ url: '/api/v1/webhooks/ad-callback/admob', ...options });