@aurora-interactive/fankare-api-sdk 0.1.0 → 0.1.2

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.
Files changed (233) hide show
  1. package/README.md +37 -1
  2. package/esm/funcs/creators-discovery-get-featured-creators.d.ts +14 -0
  3. package/esm/funcs/creators-discovery-get-featured-creators.d.ts.map +1 -0
  4. package/esm/funcs/creators-discovery-get-featured-creators.js +85 -0
  5. package/esm/funcs/creators-discovery-get-featured-creators.js.map +1 -0
  6. package/esm/funcs/creators-discovery-get-trending-creators.d.ts +14 -0
  7. package/esm/funcs/creators-discovery-get-trending-creators.d.ts.map +1 -0
  8. package/esm/funcs/creators-discovery-get-trending-creators.js +85 -0
  9. package/esm/funcs/creators-discovery-get-trending-creators.js.map +1 -0
  10. package/esm/funcs/notifications-get-notifications.d.ts +14 -0
  11. package/esm/funcs/notifications-get-notifications.d.ts.map +1 -0
  12. package/esm/funcs/notifications-get-notifications.js +87 -0
  13. package/esm/funcs/notifications-get-notifications.js.map +1 -0
  14. package/esm/funcs/notifications-get-unread-notification-count.d.ts +14 -0
  15. package/esm/funcs/notifications-get-unread-notification-count.d.ts.map +1 -0
  16. package/esm/funcs/notifications-get-unread-notification-count.js +67 -0
  17. package/esm/funcs/notifications-get-unread-notification-count.js.map +1 -0
  18. package/esm/funcs/notifications-mark-notifications-as-read.d.ts +14 -0
  19. package/esm/funcs/notifications-mark-notifications-as-read.d.ts.map +1 -0
  20. package/esm/funcs/notifications-mark-notifications-as-read.js +78 -0
  21. package/esm/funcs/notifications-mark-notifications-as-read.js.map +1 -0
  22. package/esm/funcs/posts-create-comment.d.ts +14 -0
  23. package/esm/funcs/posts-create-comment.d.ts.map +1 -0
  24. package/esm/funcs/posts-create-comment.js +89 -0
  25. package/esm/funcs/posts-create-comment.js.map +1 -0
  26. package/esm/funcs/posts-delete-comment.d.ts +13 -0
  27. package/esm/funcs/posts-delete-comment.d.ts.map +1 -0
  28. package/esm/funcs/posts-delete-comment.js +91 -0
  29. package/esm/funcs/posts-delete-comment.js.map +1 -0
  30. package/esm/funcs/posts-get-post-comments.d.ts +14 -0
  31. package/esm/funcs/posts-get-post-comments.d.ts.map +1 -0
  32. package/esm/funcs/posts-get-post-comments.js +94 -0
  33. package/esm/funcs/posts-get-post-comments.js.map +1 -0
  34. package/esm/funcs/posts-get-post-likes.d.ts +14 -0
  35. package/esm/funcs/posts-get-post-likes.d.ts.map +1 -0
  36. package/esm/funcs/posts-get-post-likes.js +94 -0
  37. package/esm/funcs/posts-get-post-likes.js.map +1 -0
  38. package/esm/funcs/posts-like-post.d.ts +13 -0
  39. package/esm/funcs/posts-like-post.d.ts.map +1 -0
  40. package/esm/funcs/posts-like-post.js +86 -0
  41. package/esm/funcs/posts-like-post.js.map +1 -0
  42. package/esm/funcs/posts-unlike-post.d.ts +13 -0
  43. package/esm/funcs/posts-unlike-post.d.ts.map +1 -0
  44. package/esm/funcs/posts-unlike-post.js +86 -0
  45. package/esm/funcs/posts-unlike-post.js.map +1 -0
  46. package/esm/funcs/user-discovery-get-follower-count.d.ts +14 -0
  47. package/esm/funcs/user-discovery-get-follower-count.d.ts.map +1 -0
  48. package/esm/funcs/user-discovery-get-follower-count.js +67 -0
  49. package/esm/funcs/user-discovery-get-follower-count.js.map +1 -0
  50. package/esm/funcs/user-discovery-get-followers.d.ts +14 -0
  51. package/esm/funcs/user-discovery-get-followers.d.ts.map +1 -0
  52. package/esm/funcs/user-discovery-get-followers.js +87 -0
  53. package/esm/funcs/user-discovery-get-followers.js.map +1 -0
  54. package/esm/funcs/user-discovery-get-user-follower-count.d.ts +14 -0
  55. package/esm/funcs/user-discovery-get-user-follower-count.d.ts.map +1 -0
  56. package/esm/funcs/user-discovery-get-user-follower-count.js +87 -0
  57. package/esm/funcs/user-discovery-get-user-follower-count.js.map +1 -0
  58. package/esm/funcs/user-discovery-get-user-followers.d.ts +14 -0
  59. package/esm/funcs/user-discovery-get-user-followers.d.ts.map +1 -0
  60. package/esm/funcs/user-discovery-get-user-followers.js +94 -0
  61. package/esm/funcs/user-discovery-get-user-followers.js.map +1 -0
  62. package/esm/lib/config.d.ts +3 -3
  63. package/esm/lib/config.d.ts.map +1 -1
  64. package/esm/lib/config.js +3 -3
  65. package/esm/lib/config.js.map +1 -1
  66. package/esm/models/comment.d.ts +15 -0
  67. package/esm/models/comment.d.ts.map +1 -0
  68. package/esm/models/comment.js +20 -0
  69. package/esm/models/comment.js.map +1 -0
  70. package/esm/models/create-comment-request.d.ts +15 -0
  71. package/esm/models/create-comment-request.d.ts.map +1 -0
  72. package/esm/models/create-comment-request.js +13 -0
  73. package/esm/models/create-comment-request.js.map +1 -0
  74. package/esm/models/follower-count-response.d.ts +10 -0
  75. package/esm/models/follower-count-response.d.ts.map +1 -0
  76. package/esm/models/follower-count-response.js +15 -0
  77. package/esm/models/follower-count-response.js.map +1 -0
  78. package/esm/models/index.d.ts +10 -0
  79. package/esm/models/index.d.ts.map +1 -1
  80. package/esm/models/index.js +10 -0
  81. package/esm/models/index.js.map +1 -1
  82. package/esm/models/mark-notifications-read-request.d.ts +20 -0
  83. package/esm/models/mark-notifications-read-request.d.ts.map +1 -0
  84. package/esm/models/mark-notifications-read-request.js +14 -0
  85. package/esm/models/mark-notifications-read-request.js.map +1 -0
  86. package/esm/models/notification.d.ts +30 -0
  87. package/esm/models/notification.d.ts.map +1 -0
  88. package/esm/models/notification.js +31 -0
  89. package/esm/models/notification.js.map +1 -0
  90. package/esm/models/operations/create-comment.d.ts +15 -0
  91. package/esm/models/operations/create-comment.d.ts.map +1 -0
  92. package/esm/models/operations/create-comment.js +15 -0
  93. package/esm/models/operations/create-comment.js.map +1 -0
  94. package/esm/models/operations/delete-comment.d.ts +14 -0
  95. package/esm/models/operations/delete-comment.d.ts.map +1 -0
  96. package/esm/models/operations/delete-comment.js +14 -0
  97. package/esm/models/operations/delete-comment.js.map +1 -0
  98. package/esm/models/operations/get-featured-creators.d.ts +12 -0
  99. package/esm/models/operations/get-featured-creators.d.ts.map +1 -0
  100. package/esm/models/operations/get-featured-creators.js +13 -0
  101. package/esm/models/operations/get-featured-creators.js.map +1 -0
  102. package/esm/models/operations/get-followers.d.ts +17 -0
  103. package/esm/models/operations/get-followers.d.ts.map +1 -0
  104. package/esm/models/operations/get-followers.js +14 -0
  105. package/esm/models/operations/get-followers.js.map +1 -0
  106. package/esm/models/operations/get-notifications.d.ts +17 -0
  107. package/esm/models/operations/get-notifications.d.ts.map +1 -0
  108. package/esm/models/operations/get-notifications.js +14 -0
  109. package/esm/models/operations/get-notifications.js.map +1 -0
  110. package/esm/models/operations/get-post-comments.d.ts +19 -0
  111. package/esm/models/operations/get-post-comments.d.ts.map +1 -0
  112. package/esm/models/operations/get-post-comments.js +15 -0
  113. package/esm/models/operations/get-post-comments.js.map +1 -0
  114. package/esm/models/operations/get-post-likes.d.ts +19 -0
  115. package/esm/models/operations/get-post-likes.d.ts.map +1 -0
  116. package/esm/models/operations/get-post-likes.js +15 -0
  117. package/esm/models/operations/get-post-likes.js.map +1 -0
  118. package/esm/models/operations/get-trending-creators.d.ts +12 -0
  119. package/esm/models/operations/get-trending-creators.d.ts.map +1 -0
  120. package/esm/models/operations/get-trending-creators.js +13 -0
  121. package/esm/models/operations/get-trending-creators.js.map +1 -0
  122. package/esm/models/operations/get-user-follower-count.d.ts +12 -0
  123. package/esm/models/operations/get-user-follower-count.d.ts.map +1 -0
  124. package/esm/models/operations/get-user-follower-count.js +13 -0
  125. package/esm/models/operations/get-user-follower-count.js.map +1 -0
  126. package/esm/models/operations/get-user-followers.d.ts +19 -0
  127. package/esm/models/operations/get-user-followers.d.ts.map +1 -0
  128. package/esm/models/operations/get-user-followers.js +15 -0
  129. package/esm/models/operations/get-user-followers.js.map +1 -0
  130. package/esm/models/operations/index.d.ts +12 -0
  131. package/esm/models/operations/index.d.ts.map +1 -1
  132. package/esm/models/operations/index.js +12 -0
  133. package/esm/models/operations/index.js.map +1 -1
  134. package/esm/models/operations/like-post.d.ts +12 -0
  135. package/esm/models/operations/like-post.d.ts.map +1 -0
  136. package/esm/models/operations/like-post.js +13 -0
  137. package/esm/models/operations/like-post.js.map +1 -0
  138. package/esm/models/operations/unlike-post.d.ts +12 -0
  139. package/esm/models/operations/unlike-post.d.ts.map +1 -0
  140. package/esm/models/operations/unlike-post.js +13 -0
  141. package/esm/models/operations/unlike-post.js.map +1 -0
  142. package/esm/models/paginated-comments-response.d.ts +15 -0
  143. package/esm/models/paginated-comments-response.d.ts.map +1 -0
  144. package/esm/models/paginated-comments-response.js +17 -0
  145. package/esm/models/paginated-comments-response.js.map +1 -0
  146. package/esm/models/paginated-followers-response.d.ts +15 -0
  147. package/esm/models/paginated-followers-response.d.ts.map +1 -0
  148. package/esm/models/paginated-followers-response.js +17 -0
  149. package/esm/models/paginated-followers-response.js.map +1 -0
  150. package/esm/models/paginated-likes-response.d.ts +15 -0
  151. package/esm/models/paginated-likes-response.d.ts.map +1 -0
  152. package/esm/models/paginated-likes-response.js +17 -0
  153. package/esm/models/paginated-likes-response.js.map +1 -0
  154. package/esm/models/paginated-notifications-response.d.ts +15 -0
  155. package/esm/models/paginated-notifications-response.d.ts.map +1 -0
  156. package/esm/models/paginated-notifications-response.js +17 -0
  157. package/esm/models/paginated-notifications-response.js.map +1 -0
  158. package/esm/models/unread-count-response.d.ts +10 -0
  159. package/esm/models/unread-count-response.d.ts.map +1 -0
  160. package/esm/models/unread-count-response.js +15 -0
  161. package/esm/models/unread-count-response.js.map +1 -0
  162. package/esm/models/user.d.ts +4 -0
  163. package/esm/models/user.d.ts.map +1 -1
  164. package/esm/models/user.js +1 -0
  165. package/esm/models/user.js.map +1 -1
  166. package/esm/sdk/creators-discovery.d.ts +13 -0
  167. package/esm/sdk/creators-discovery.d.ts.map +1 -0
  168. package/esm/sdk/creators-discovery.js +23 -0
  169. package/esm/sdk/creators-discovery.js.map +1 -0
  170. package/esm/sdk/notifications.d.ts +17 -0
  171. package/esm/sdk/notifications.d.ts.map +1 -0
  172. package/esm/sdk/notifications.js +30 -0
  173. package/esm/sdk/notifications.js.map +1 -0
  174. package/esm/sdk/posts.d.ts +24 -0
  175. package/esm/sdk/posts.d.ts.map +1 -1
  176. package/esm/sdk/posts.js +42 -0
  177. package/esm/sdk/posts.js.map +1 -1
  178. package/esm/sdk/sdk.d.ts +6 -0
  179. package/esm/sdk/sdk.d.ts.map +1 -1
  180. package/esm/sdk/sdk.js +10 -0
  181. package/esm/sdk/sdk.js.map +1 -1
  182. package/esm/sdk/user-discovery.d.ts +16 -0
  183. package/esm/sdk/user-discovery.d.ts.map +1 -1
  184. package/esm/sdk/user-discovery.js +28 -0
  185. package/esm/sdk/user-discovery.js.map +1 -1
  186. package/jsr.json +1 -1
  187. package/package.json +1 -1
  188. package/src/funcs/creators-discovery-get-featured-creators.ts +174 -0
  189. package/src/funcs/creators-discovery-get-trending-creators.ts +174 -0
  190. package/src/funcs/notifications-get-notifications.ts +179 -0
  191. package/src/funcs/notifications-get-unread-notification-count.ts +142 -0
  192. package/src/funcs/notifications-mark-notifications-as-read.ts +162 -0
  193. package/src/funcs/posts-create-comment.ts +176 -0
  194. package/src/funcs/posts-delete-comment.ts +178 -0
  195. package/src/funcs/posts-get-post-comments.ts +185 -0
  196. package/src/funcs/posts-get-post-likes.ts +185 -0
  197. package/src/funcs/posts-like-post.ts +170 -0
  198. package/src/funcs/posts-unlike-post.ts +170 -0
  199. package/src/funcs/user-discovery-get-follower-count.ts +142 -0
  200. package/src/funcs/user-discovery-get-followers.ts +176 -0
  201. package/src/funcs/user-discovery-get-user-follower-count.ts +172 -0
  202. package/src/funcs/user-discovery-get-user-followers.ts +186 -0
  203. package/src/lib/config.ts +3 -3
  204. package/src/models/comment.ts +38 -0
  205. package/src/models/create-comment-request.ts +34 -0
  206. package/src/models/follower-count-response.ts +32 -0
  207. package/src/models/index.ts +10 -0
  208. package/src/models/mark-notifications-read-request.ts +42 -0
  209. package/src/models/notification.ts +60 -0
  210. package/src/models/operations/create-comment.ts +35 -0
  211. package/src/models/operations/delete-comment.ts +34 -0
  212. package/src/models/operations/get-featured-creators.ts +31 -0
  213. package/src/models/operations/get-followers.ts +37 -0
  214. package/src/models/operations/get-notifications.ts +37 -0
  215. package/src/models/operations/get-post-comments.ts +40 -0
  216. package/src/models/operations/get-post-likes.ts +40 -0
  217. package/src/models/operations/get-trending-creators.ts +31 -0
  218. package/src/models/operations/get-user-follower-count.ts +33 -0
  219. package/src/models/operations/get-user-followers.ts +40 -0
  220. package/src/models/operations/index.ts +12 -0
  221. package/src/models/operations/like-post.ts +29 -0
  222. package/src/models/operations/unlike-post.ts +31 -0
  223. package/src/models/paginated-comments-response.ts +38 -0
  224. package/src/models/paginated-followers-response.ts +38 -0
  225. package/src/models/paginated-likes-response.ts +38 -0
  226. package/src/models/paginated-notifications-response.ts +38 -0
  227. package/src/models/unread-count-response.ts +32 -0
  228. package/src/models/user.ts +5 -0
  229. package/src/sdk/creators-discovery.ts +40 -0
  230. package/src/sdk/notifications.ts +55 -0
  231. package/src/sdk/posts.ts +102 -0
  232. package/src/sdk/sdk.ts +12 -0
  233. package/src/sdk/user-discovery.ts +64 -0
@@ -0,0 +1,176 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 80f8d1fd9b1c
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { FankareSDKCore } from "../core.js";
8
+ import { encodeFormQuery } from "../lib/encodings.js";
9
+ import { matchStatusCode } from "../lib/http.js";
10
+ import * as M from "../lib/matchers.js";
11
+ import { compactMap } from "../lib/primitives.js";
12
+ import { safeParse } from "../lib/schemas.js";
13
+ import { RequestOptions } from "../lib/sdks.js";
14
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
15
+ import { pathToFunc } from "../lib/url.js";
16
+ import { FankareSDKError } from "../models/errors/fankare-sdk-error.js";
17
+ import {
18
+ ConnectionError,
19
+ InvalidRequestError,
20
+ RequestAbortedError,
21
+ RequestTimeoutError,
22
+ UnexpectedClientError,
23
+ } from "../models/errors/http-client-errors.js";
24
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
25
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Fetch the authenticated user's paginated list of followers
33
+ */
34
+ export function userDiscoveryGetFollowers(
35
+ client: FankareSDKCore,
36
+ limit?: number | undefined,
37
+ cursor?: string | undefined,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ models.PaginatedFollowersResponse,
42
+ | FankareSDKError
43
+ | ResponseValidationError
44
+ | ConnectionError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | InvalidRequestError
48
+ | UnexpectedClientError
49
+ | SDKValidationError
50
+ >
51
+ > {
52
+ return new APIPromise($do(
53
+ client,
54
+ limit,
55
+ cursor,
56
+ options,
57
+ ));
58
+ }
59
+
60
+ async function $do(
61
+ client: FankareSDKCore,
62
+ limit?: number | undefined,
63
+ cursor?: string | undefined,
64
+ options?: RequestOptions,
65
+ ): Promise<
66
+ [
67
+ Result<
68
+ models.PaginatedFollowersResponse,
69
+ | FankareSDKError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const input: operations.GetFollowersRequest | undefined = {
82
+ limit: limit,
83
+ cursor: cursor,
84
+ };
85
+
86
+ const parsed = safeParse(
87
+ input,
88
+ (value) =>
89
+ z.parse(z.optional(operations.GetFollowersRequest$outboundSchema), value),
90
+ "Input validation failed",
91
+ );
92
+ if (!parsed.ok) {
93
+ return [parsed, { status: "invalid" }];
94
+ }
95
+ const payload = parsed.value;
96
+ const body = null;
97
+
98
+ const path = pathToFunc("/users/followers")();
99
+
100
+ const query = encodeFormQuery({
101
+ "cursor": payload?.cursor,
102
+ "limit": payload?.limit,
103
+ });
104
+
105
+ const headers = new Headers(compactMap({
106
+ Accept: "application/json",
107
+ }));
108
+
109
+ const secConfig = await extractSecurity(client._options.bearerAuth);
110
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
111
+ const requestSecurity = resolveGlobalSecurity(securityInput);
112
+
113
+ const context = {
114
+ options: client._options,
115
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
116
+ operationID: "getFollowers",
117
+ oAuth2Scopes: null,
118
+
119
+ resolvedSecurity: requestSecurity,
120
+
121
+ securitySource: client._options.bearerAuth,
122
+ retryConfig: options?.retries
123
+ || client._options.retryConfig
124
+ || { strategy: "none" },
125
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
126
+ };
127
+
128
+ const requestRes = client._createRequest(context, {
129
+ security: requestSecurity,
130
+ method: "GET",
131
+ baseURL: options?.serverURL,
132
+ path: path,
133
+ headers: headers,
134
+ query: query,
135
+ body: body,
136
+ userAgent: client._options.userAgent,
137
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
138
+ }, options);
139
+ if (!requestRes.ok) {
140
+ return [requestRes, { status: "invalid" }];
141
+ }
142
+ const req = requestRes.value;
143
+
144
+ const doResult = await client._do(req, {
145
+ context,
146
+ isErrorStatusCode: (statusCode: number) =>
147
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
148
+ retryConfig: context.retryConfig,
149
+ retryCodes: context.retryCodes,
150
+ });
151
+ if (!doResult.ok) {
152
+ return [doResult, { status: "request-error", request: req }];
153
+ }
154
+ const response = doResult.value;
155
+
156
+ const [result] = await M.match<
157
+ models.PaginatedFollowersResponse,
158
+ | FankareSDKError
159
+ | ResponseValidationError
160
+ | ConnectionError
161
+ | RequestAbortedError
162
+ | RequestTimeoutError
163
+ | InvalidRequestError
164
+ | UnexpectedClientError
165
+ | SDKValidationError
166
+ >(
167
+ M.json(200, models.PaginatedFollowersResponse$inboundSchema),
168
+ M.fail([401, "4XX"]),
169
+ M.fail("5XX"),
170
+ )(response, req);
171
+ if (!result.ok) {
172
+ return [result, { status: "complete", request: req, response }];
173
+ }
174
+
175
+ return [result, { status: "complete", request: req, response }];
176
+ }
@@ -0,0 +1,172 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 788aa2ce6d6e
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { FankareSDKCore } from "../core.js";
8
+ import { encodeSimple } from "../lib/encodings.js";
9
+ import { matchStatusCode } from "../lib/http.js";
10
+ import * as M from "../lib/matchers.js";
11
+ import { compactMap } from "../lib/primitives.js";
12
+ import { safeParse } from "../lib/schemas.js";
13
+ import { RequestOptions } from "../lib/sdks.js";
14
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
15
+ import { pathToFunc } from "../lib/url.js";
16
+ import { FankareSDKError } from "../models/errors/fankare-sdk-error.js";
17
+ import {
18
+ ConnectionError,
19
+ InvalidRequestError,
20
+ RequestAbortedError,
21
+ RequestTimeoutError,
22
+ UnexpectedClientError,
23
+ } from "../models/errors/http-client-errors.js";
24
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
25
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Fetch a specific user's follower count
33
+ */
34
+ export function userDiscoveryGetUserFollowerCount(
35
+ client: FankareSDKCore,
36
+ userId: number,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ models.FollowerCountResponse,
41
+ | FankareSDKError
42
+ | ResponseValidationError
43
+ | ConnectionError
44
+ | RequestAbortedError
45
+ | RequestTimeoutError
46
+ | InvalidRequestError
47
+ | UnexpectedClientError
48
+ | SDKValidationError
49
+ >
50
+ > {
51
+ return new APIPromise($do(
52
+ client,
53
+ userId,
54
+ options,
55
+ ));
56
+ }
57
+
58
+ async function $do(
59
+ client: FankareSDKCore,
60
+ userId: number,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ models.FollowerCountResponse,
66
+ | FankareSDKError
67
+ | ResponseValidationError
68
+ | ConnectionError
69
+ | RequestAbortedError
70
+ | RequestTimeoutError
71
+ | InvalidRequestError
72
+ | UnexpectedClientError
73
+ | SDKValidationError
74
+ >,
75
+ APICall,
76
+ ]
77
+ > {
78
+ const input: operations.GetUserFollowerCountRequest = {
79
+ userId: userId,
80
+ };
81
+
82
+ const parsed = safeParse(
83
+ input,
84
+ (value) =>
85
+ z.parse(operations.GetUserFollowerCountRequest$outboundSchema, value),
86
+ "Input validation failed",
87
+ );
88
+ if (!parsed.ok) {
89
+ return [parsed, { status: "invalid" }];
90
+ }
91
+ const payload = parsed.value;
92
+ const body = null;
93
+
94
+ const pathParams = {
95
+ userId: encodeSimple("userId", payload.userId, {
96
+ explode: false,
97
+ charEncoding: "percent",
98
+ }),
99
+ };
100
+ const path = pathToFunc("/users/{userId}/followers/count")(pathParams);
101
+
102
+ const headers = new Headers(compactMap({
103
+ Accept: "application/json",
104
+ }));
105
+
106
+ const secConfig = await extractSecurity(client._options.bearerAuth);
107
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
108
+ const requestSecurity = resolveGlobalSecurity(securityInput);
109
+
110
+ const context = {
111
+ options: client._options,
112
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
113
+ operationID: "getUserFollowerCount",
114
+ oAuth2Scopes: null,
115
+
116
+ resolvedSecurity: requestSecurity,
117
+
118
+ securitySource: client._options.bearerAuth,
119
+ retryConfig: options?.retries
120
+ || client._options.retryConfig
121
+ || { strategy: "none" },
122
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
123
+ };
124
+
125
+ const requestRes = client._createRequest(context, {
126
+ security: requestSecurity,
127
+ method: "GET",
128
+ baseURL: options?.serverURL,
129
+ path: path,
130
+ headers: headers,
131
+ body: body,
132
+ userAgent: client._options.userAgent,
133
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
134
+ }, options);
135
+ if (!requestRes.ok) {
136
+ return [requestRes, { status: "invalid" }];
137
+ }
138
+ const req = requestRes.value;
139
+
140
+ const doResult = await client._do(req, {
141
+ context,
142
+ isErrorStatusCode: (statusCode: number) =>
143
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
144
+ retryConfig: context.retryConfig,
145
+ retryCodes: context.retryCodes,
146
+ });
147
+ if (!doResult.ok) {
148
+ return [doResult, { status: "request-error", request: req }];
149
+ }
150
+ const response = doResult.value;
151
+
152
+ const [result] = await M.match<
153
+ models.FollowerCountResponse,
154
+ | FankareSDKError
155
+ | ResponseValidationError
156
+ | ConnectionError
157
+ | RequestAbortedError
158
+ | RequestTimeoutError
159
+ | InvalidRequestError
160
+ | UnexpectedClientError
161
+ | SDKValidationError
162
+ >(
163
+ M.json(200, models.FollowerCountResponse$inboundSchema),
164
+ M.fail([401, 404, "4XX"]),
165
+ M.fail("5XX"),
166
+ )(response, req);
167
+ if (!result.ok) {
168
+ return [result, { status: "complete", request: req, response }];
169
+ }
170
+
171
+ return [result, { status: "complete", request: req, response }];
172
+ }
@@ -0,0 +1,186 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 4085e9ab1118
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { FankareSDKCore } from "../core.js";
8
+ import { encodeFormQuery, encodeSimple } from "../lib/encodings.js";
9
+ import { matchStatusCode } from "../lib/http.js";
10
+ import * as M from "../lib/matchers.js";
11
+ import { compactMap } from "../lib/primitives.js";
12
+ import { safeParse } from "../lib/schemas.js";
13
+ import { RequestOptions } from "../lib/sdks.js";
14
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
15
+ import { pathToFunc } from "../lib/url.js";
16
+ import { FankareSDKError } from "../models/errors/fankare-sdk-error.js";
17
+ import {
18
+ ConnectionError,
19
+ InvalidRequestError,
20
+ RequestAbortedError,
21
+ RequestTimeoutError,
22
+ UnexpectedClientError,
23
+ } from "../models/errors/http-client-errors.js";
24
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
25
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
26
+ import * as models from "../models/index.js";
27
+ import * as operations from "../models/operations/index.js";
28
+ import { APICall, APIPromise } from "../types/async.js";
29
+ import { Result } from "../types/fp.js";
30
+
31
+ /**
32
+ * Fetch a specific user's paginated list of followers
33
+ */
34
+ export function userDiscoveryGetUserFollowers(
35
+ client: FankareSDKCore,
36
+ userId: number,
37
+ limit?: number | undefined,
38
+ cursor?: string | undefined,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ models.PaginatedFollowersResponse,
43
+ | FankareSDKError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ userId,
56
+ limit,
57
+ cursor,
58
+ options,
59
+ ));
60
+ }
61
+
62
+ async function $do(
63
+ client: FankareSDKCore,
64
+ userId: number,
65
+ limit?: number | undefined,
66
+ cursor?: string | undefined,
67
+ options?: RequestOptions,
68
+ ): Promise<
69
+ [
70
+ Result<
71
+ models.PaginatedFollowersResponse,
72
+ | FankareSDKError
73
+ | ResponseValidationError
74
+ | ConnectionError
75
+ | RequestAbortedError
76
+ | RequestTimeoutError
77
+ | InvalidRequestError
78
+ | UnexpectedClientError
79
+ | SDKValidationError
80
+ >,
81
+ APICall,
82
+ ]
83
+ > {
84
+ const input: operations.GetUserFollowersRequest = {
85
+ userId: userId,
86
+ limit: limit,
87
+ cursor: cursor,
88
+ };
89
+
90
+ const parsed = safeParse(
91
+ input,
92
+ (value) =>
93
+ z.parse(operations.GetUserFollowersRequest$outboundSchema, value),
94
+ "Input validation failed",
95
+ );
96
+ if (!parsed.ok) {
97
+ return [parsed, { status: "invalid" }];
98
+ }
99
+ const payload = parsed.value;
100
+ const body = null;
101
+
102
+ const pathParams = {
103
+ userId: encodeSimple("userId", payload.userId, {
104
+ explode: false,
105
+ charEncoding: "percent",
106
+ }),
107
+ };
108
+ const path = pathToFunc("/users/{userId}/followers")(pathParams);
109
+
110
+ const query = encodeFormQuery({
111
+ "cursor": payload.cursor,
112
+ "limit": payload.limit,
113
+ });
114
+
115
+ const headers = new Headers(compactMap({
116
+ Accept: "application/json",
117
+ }));
118
+
119
+ const secConfig = await extractSecurity(client._options.bearerAuth);
120
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
121
+ const requestSecurity = resolveGlobalSecurity(securityInput);
122
+
123
+ const context = {
124
+ options: client._options,
125
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
126
+ operationID: "getUserFollowers",
127
+ oAuth2Scopes: null,
128
+
129
+ resolvedSecurity: requestSecurity,
130
+
131
+ securitySource: client._options.bearerAuth,
132
+ retryConfig: options?.retries
133
+ || client._options.retryConfig
134
+ || { strategy: "none" },
135
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
136
+ };
137
+
138
+ const requestRes = client._createRequest(context, {
139
+ security: requestSecurity,
140
+ method: "GET",
141
+ baseURL: options?.serverURL,
142
+ path: path,
143
+ headers: headers,
144
+ query: query,
145
+ body: body,
146
+ userAgent: client._options.userAgent,
147
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
148
+ }, options);
149
+ if (!requestRes.ok) {
150
+ return [requestRes, { status: "invalid" }];
151
+ }
152
+ const req = requestRes.value;
153
+
154
+ const doResult = await client._do(req, {
155
+ context,
156
+ isErrorStatusCode: (statusCode: number) =>
157
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
158
+ retryConfig: context.retryConfig,
159
+ retryCodes: context.retryCodes,
160
+ });
161
+ if (!doResult.ok) {
162
+ return [doResult, { status: "request-error", request: req }];
163
+ }
164
+ const response = doResult.value;
165
+
166
+ const [result] = await M.match<
167
+ models.PaginatedFollowersResponse,
168
+ | FankareSDKError
169
+ | ResponseValidationError
170
+ | ConnectionError
171
+ | RequestAbortedError
172
+ | RequestTimeoutError
173
+ | InvalidRequestError
174
+ | UnexpectedClientError
175
+ | SDKValidationError
176
+ >(
177
+ M.json(200, models.PaginatedFollowersResponse$inboundSchema),
178
+ M.fail([401, 404, "4XX"]),
179
+ M.fail("5XX"),
180
+ )(response, req);
181
+ if (!result.ok) {
182
+ return [result, { status: "complete", request: req, response }];
183
+ }
184
+
185
+ return [result, { status: "complete", request: req, response }];
186
+ }
package/src/lib/config.ts CHANGED
@@ -15,7 +15,7 @@ export const ServerList = [
15
15
  /**
16
16
  * Local Development Server
17
17
  */
18
- "http://localhost:5000/api/v1",
18
+ "https://api.fankare.vip/api/v1",
19
19
  ] as const;
20
20
 
21
21
  export type SDKOptions = {
@@ -62,7 +62,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
62
62
  export const SDK_METADATA = {
63
63
  language: "typescript",
64
64
  openapiDocVersion: "1.1.0",
65
- sdkVersion: "0.1.0",
65
+ sdkVersion: "0.1.2",
66
66
  genVersion: "2.911.0",
67
- userAgent: "speakeasy-sdk/typescript 0.1.0 2.911.0 1.1.0 openapi",
67
+ userAgent: "speakeasy-sdk/typescript 0.1.2 2.911.0 1.1.0 openapi",
68
68
  } as const;
@@ -0,0 +1,38 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 31da50e38c51
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../types/fp.js";
9
+ import * as types from "../types/primitives.js";
10
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
11
+ import { User, User$inboundSchema } from "./user.js";
12
+
13
+ export type Comment = {
14
+ id: number;
15
+ postId: number;
16
+ user: User;
17
+ content: string;
18
+ createdAt: Date;
19
+ };
20
+
21
+ /** @internal */
22
+ export const Comment$inboundSchema: z.ZodMiniType<Comment, unknown> = z.object({
23
+ id: types.number(),
24
+ postId: types.number(),
25
+ user: User$inboundSchema,
26
+ content: types.string(),
27
+ createdAt: types.date(),
28
+ });
29
+
30
+ export function commentFromJSON(
31
+ jsonString: string,
32
+ ): SafeParseResult<Comment, SDKValidationError> {
33
+ return safeParse(
34
+ jsonString,
35
+ (x) => Comment$inboundSchema.parse(JSON.parse(x)),
36
+ `Failed to parse 'Comment' from JSON`,
37
+ );
38
+ }
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 1281f847c1db
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+
8
+ export type CreateCommentRequest = {
9
+ /**
10
+ * The textual content of the comment.
11
+ */
12
+ content: string;
13
+ };
14
+
15
+ /** @internal */
16
+ export type CreateCommentRequest$Outbound = {
17
+ content: string;
18
+ };
19
+
20
+ /** @internal */
21
+ export const CreateCommentRequest$outboundSchema: z.ZodMiniType<
22
+ CreateCommentRequest$Outbound,
23
+ CreateCommentRequest
24
+ > = z.object({
25
+ content: z.string(),
26
+ });
27
+
28
+ export function createCommentRequestToJSON(
29
+ createCommentRequest: CreateCommentRequest,
30
+ ): string {
31
+ return JSON.stringify(
32
+ CreateCommentRequest$outboundSchema.parse(createCommentRequest),
33
+ );
34
+ }
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: b61cb4711504
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { safeParse } from "../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../types/fp.js";
9
+ import * as types from "../types/primitives.js";
10
+ import { SDKValidationError } from "./errors/sdk-validation-error.js";
11
+
12
+ export type FollowerCountResponse = {
13
+ count: number;
14
+ };
15
+
16
+ /** @internal */
17
+ export const FollowerCountResponse$inboundSchema: z.ZodMiniType<
18
+ FollowerCountResponse,
19
+ unknown
20
+ > = z.object({
21
+ count: types.number(),
22
+ });
23
+
24
+ export function followerCountResponseFromJSON(
25
+ jsonString: string,
26
+ ): SafeParseResult<FollowerCountResponse, SDKValidationError> {
27
+ return safeParse(
28
+ jsonString,
29
+ (x) => FollowerCountResponse$inboundSchema.parse(JSON.parse(x)),
30
+ `Failed to parse 'FollowerCountResponse' from JSON`,
31
+ );
32
+ }
@@ -6,12 +6,21 @@
6
6
  export * from "./asset-declaration.js";
7
7
  export * from "./asset-processing-callback-request.js";
8
8
  export * from "./collection.js";
9
+ export * from "./comment.js";
9
10
  export * from "./conversation.js";
11
+ export * from "./create-comment-request.js";
10
12
  export * from "./create-post-request.js";
11
13
  export * from "./create-post-response.js";
14
+ export * from "./follower-count-response.js";
12
15
  export * from "./login-request.js";
16
+ export * from "./mark-notifications-read-request.js";
13
17
  export * from "./media-asset.js";
14
18
  export * from "./message.js";
19
+ export * from "./notification.js";
20
+ export * from "./paginated-comments-response.js";
21
+ export * from "./paginated-followers-response.js";
22
+ export * from "./paginated-likes-response.js";
23
+ export * from "./paginated-notifications-response.js";
15
24
  export * from "./paginated-posts-response.js";
16
25
  export * from "./post.js";
17
26
  export * from "./profile-media-confirm-request.js";
@@ -20,6 +29,7 @@ export * from "./profile-media-upload-response.js";
20
29
  export * from "./register-request.js";
21
30
  export * from "./security.js";
22
31
  export * from "./send-message-request.js";
32
+ export * from "./unread-count-response.js";
23
33
  export * from "./update-post-request.js";
24
34
  export * from "./update-profile-request.js";
25
35
  export * from "./upload-slot.js";