@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,174 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 14624243179a
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 popular creators to discover in the sidebar
33
+ */
34
+ export function creatorsDiscoveryGetTrendingCreators(
35
+ client: FankareSDKCore,
36
+ limit?: number | undefined,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ Array<models.User>,
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
+ limit,
54
+ options,
55
+ ));
56
+ }
57
+
58
+ async function $do(
59
+ client: FankareSDKCore,
60
+ limit?: number | undefined,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ Array<models.User>,
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.GetTrendingCreatorsRequest | undefined = {
79
+ limit: limit,
80
+ };
81
+
82
+ const parsed = safeParse(
83
+ input,
84
+ (value) =>
85
+ z.parse(
86
+ z.optional(operations.GetTrendingCreatorsRequest$outboundSchema),
87
+ value,
88
+ ),
89
+ "Input validation failed",
90
+ );
91
+ if (!parsed.ok) {
92
+ return [parsed, { status: "invalid" }];
93
+ }
94
+ const payload = parsed.value;
95
+ const body = null;
96
+
97
+ const path = pathToFunc("/creators/trending")();
98
+
99
+ const query = encodeFormQuery({
100
+ "limit": payload?.limit,
101
+ });
102
+
103
+ const headers = new Headers(compactMap({
104
+ Accept: "application/json",
105
+ }));
106
+
107
+ const secConfig = await extractSecurity(client._options.bearerAuth);
108
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
109
+ const requestSecurity = resolveGlobalSecurity(securityInput);
110
+
111
+ const context = {
112
+ options: client._options,
113
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
114
+ operationID: "getTrendingCreators",
115
+ oAuth2Scopes: null,
116
+
117
+ resolvedSecurity: requestSecurity,
118
+
119
+ securitySource: client._options.bearerAuth,
120
+ retryConfig: options?.retries
121
+ || client._options.retryConfig
122
+ || { strategy: "none" },
123
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
124
+ };
125
+
126
+ const requestRes = client._createRequest(context, {
127
+ security: requestSecurity,
128
+ method: "GET",
129
+ baseURL: options?.serverURL,
130
+ path: path,
131
+ headers: headers,
132
+ query: query,
133
+ body: body,
134
+ userAgent: client._options.userAgent,
135
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
136
+ }, options);
137
+ if (!requestRes.ok) {
138
+ return [requestRes, { status: "invalid" }];
139
+ }
140
+ const req = requestRes.value;
141
+
142
+ const doResult = await client._do(req, {
143
+ context,
144
+ isErrorStatusCode: (statusCode: number) =>
145
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
146
+ retryConfig: context.retryConfig,
147
+ retryCodes: context.retryCodes,
148
+ });
149
+ if (!doResult.ok) {
150
+ return [doResult, { status: "request-error", request: req }];
151
+ }
152
+ const response = doResult.value;
153
+
154
+ const [result] = await M.match<
155
+ Array<models.User>,
156
+ | FankareSDKError
157
+ | ResponseValidationError
158
+ | ConnectionError
159
+ | RequestAbortedError
160
+ | RequestTimeoutError
161
+ | InvalidRequestError
162
+ | UnexpectedClientError
163
+ | SDKValidationError
164
+ >(
165
+ M.json(200, z.array(models.User$inboundSchema)),
166
+ M.fail([401, "4XX"]),
167
+ M.fail("5XX"),
168
+ )(response, req);
169
+ if (!result.ok) {
170
+ return [result, { status: "complete", request: req, response }];
171
+ }
172
+
173
+ return [result, { status: "complete", request: req, response }];
174
+ }
@@ -0,0 +1,179 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: b2173f24802d
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 a paginated feed of notifications for the authenticated user
33
+ */
34
+ export function notificationsGetNotifications(
35
+ client: FankareSDKCore,
36
+ limit?: number | undefined,
37
+ cursor?: string | undefined,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ models.PaginatedNotificationsResponse,
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.PaginatedNotificationsResponse,
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.GetNotificationsRequest | undefined = {
82
+ limit: limit,
83
+ cursor: cursor,
84
+ };
85
+
86
+ const parsed = safeParse(
87
+ input,
88
+ (value) =>
89
+ z.parse(
90
+ z.optional(operations.GetNotificationsRequest$outboundSchema),
91
+ value,
92
+ ),
93
+ "Input validation failed",
94
+ );
95
+ if (!parsed.ok) {
96
+ return [parsed, { status: "invalid" }];
97
+ }
98
+ const payload = parsed.value;
99
+ const body = null;
100
+
101
+ const path = pathToFunc("/notifications")();
102
+
103
+ const query = encodeFormQuery({
104
+ "cursor": payload?.cursor,
105
+ "limit": payload?.limit,
106
+ });
107
+
108
+ const headers = new Headers(compactMap({
109
+ Accept: "application/json",
110
+ }));
111
+
112
+ const secConfig = await extractSecurity(client._options.bearerAuth);
113
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
114
+ const requestSecurity = resolveGlobalSecurity(securityInput);
115
+
116
+ const context = {
117
+ options: client._options,
118
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
119
+ operationID: "getNotifications",
120
+ oAuth2Scopes: null,
121
+
122
+ resolvedSecurity: requestSecurity,
123
+
124
+ securitySource: client._options.bearerAuth,
125
+ retryConfig: options?.retries
126
+ || client._options.retryConfig
127
+ || { strategy: "none" },
128
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
129
+ };
130
+
131
+ const requestRes = client._createRequest(context, {
132
+ security: requestSecurity,
133
+ method: "GET",
134
+ baseURL: options?.serverURL,
135
+ path: path,
136
+ headers: headers,
137
+ query: query,
138
+ body: body,
139
+ userAgent: client._options.userAgent,
140
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
141
+ }, options);
142
+ if (!requestRes.ok) {
143
+ return [requestRes, { status: "invalid" }];
144
+ }
145
+ const req = requestRes.value;
146
+
147
+ const doResult = await client._do(req, {
148
+ context,
149
+ isErrorStatusCode: (statusCode: number) =>
150
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
151
+ retryConfig: context.retryConfig,
152
+ retryCodes: context.retryCodes,
153
+ });
154
+ if (!doResult.ok) {
155
+ return [doResult, { status: "request-error", request: req }];
156
+ }
157
+ const response = doResult.value;
158
+
159
+ const [result] = await M.match<
160
+ models.PaginatedNotificationsResponse,
161
+ | FankareSDKError
162
+ | ResponseValidationError
163
+ | ConnectionError
164
+ | RequestAbortedError
165
+ | RequestTimeoutError
166
+ | InvalidRequestError
167
+ | UnexpectedClientError
168
+ | SDKValidationError
169
+ >(
170
+ M.json(200, models.PaginatedNotificationsResponse$inboundSchema),
171
+ M.fail([401, "4XX"]),
172
+ M.fail("5XX"),
173
+ )(response, req);
174
+ if (!result.ok) {
175
+ return [result, { status: "complete", request: req, response }];
176
+ }
177
+
178
+ return [result, { status: "complete", request: req, response }];
179
+ }
@@ -0,0 +1,142 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 7c2db9b8f95f
4
+ */
5
+
6
+ import { FankareSDKCore } from "../core.js";
7
+ import { matchStatusCode } from "../lib/http.js";
8
+ import * as M from "../lib/matchers.js";
9
+ import { compactMap } from "../lib/primitives.js";
10
+ import { RequestOptions } from "../lib/sdks.js";
11
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
12
+ import { pathToFunc } from "../lib/url.js";
13
+ import { FankareSDKError } from "../models/errors/fankare-sdk-error.js";
14
+ import {
15
+ ConnectionError,
16
+ InvalidRequestError,
17
+ RequestAbortedError,
18
+ RequestTimeoutError,
19
+ UnexpectedClientError,
20
+ } from "../models/errors/http-client-errors.js";
21
+ import { ResponseValidationError } from "../models/errors/response-validation-error.js";
22
+ import { SDKValidationError } from "../models/errors/sdk-validation-error.js";
23
+ import * as models from "../models/index.js";
24
+ import { APICall, APIPromise } from "../types/async.js";
25
+ import { Result } from "../types/fp.js";
26
+
27
+ /**
28
+ * Fetch the count of unread notifications for the authenticated user
29
+ */
30
+ export function notificationsGetUnreadNotificationCount(
31
+ client: FankareSDKCore,
32
+ options?: RequestOptions,
33
+ ): APIPromise<
34
+ Result<
35
+ models.UnreadCountResponse,
36
+ | FankareSDKError
37
+ | ResponseValidationError
38
+ | ConnectionError
39
+ | RequestAbortedError
40
+ | RequestTimeoutError
41
+ | InvalidRequestError
42
+ | UnexpectedClientError
43
+ | SDKValidationError
44
+ >
45
+ > {
46
+ return new APIPromise($do(
47
+ client,
48
+ options,
49
+ ));
50
+ }
51
+
52
+ async function $do(
53
+ client: FankareSDKCore,
54
+ options?: RequestOptions,
55
+ ): Promise<
56
+ [
57
+ Result<
58
+ models.UnreadCountResponse,
59
+ | FankareSDKError
60
+ | ResponseValidationError
61
+ | ConnectionError
62
+ | RequestAbortedError
63
+ | RequestTimeoutError
64
+ | InvalidRequestError
65
+ | UnexpectedClientError
66
+ | SDKValidationError
67
+ >,
68
+ APICall,
69
+ ]
70
+ > {
71
+ const path = pathToFunc("/notifications/unread-count")();
72
+
73
+ const headers = new Headers(compactMap({
74
+ Accept: "application/json",
75
+ }));
76
+
77
+ const secConfig = await extractSecurity(client._options.bearerAuth);
78
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
79
+ const requestSecurity = resolveGlobalSecurity(securityInput);
80
+
81
+ const context = {
82
+ options: client._options,
83
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
84
+ operationID: "getUnreadNotificationCount",
85
+ oAuth2Scopes: null,
86
+
87
+ resolvedSecurity: requestSecurity,
88
+
89
+ securitySource: client._options.bearerAuth,
90
+ retryConfig: options?.retries
91
+ || client._options.retryConfig
92
+ || { strategy: "none" },
93
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
94
+ };
95
+
96
+ const requestRes = client._createRequest(context, {
97
+ security: requestSecurity,
98
+ method: "GET",
99
+ baseURL: options?.serverURL,
100
+ path: path,
101
+ headers: headers,
102
+ userAgent: client._options.userAgent,
103
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
104
+ }, options);
105
+ if (!requestRes.ok) {
106
+ return [requestRes, { status: "invalid" }];
107
+ }
108
+ const req = requestRes.value;
109
+
110
+ const doResult = await client._do(req, {
111
+ context,
112
+ isErrorStatusCode: (statusCode: number) =>
113
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
114
+ retryConfig: context.retryConfig,
115
+ retryCodes: context.retryCodes,
116
+ });
117
+ if (!doResult.ok) {
118
+ return [doResult, { status: "request-error", request: req }];
119
+ }
120
+ const response = doResult.value;
121
+
122
+ const [result] = await M.match<
123
+ models.UnreadCountResponse,
124
+ | FankareSDKError
125
+ | ResponseValidationError
126
+ | ConnectionError
127
+ | RequestAbortedError
128
+ | RequestTimeoutError
129
+ | InvalidRequestError
130
+ | UnexpectedClientError
131
+ | SDKValidationError
132
+ >(
133
+ M.json(200, models.UnreadCountResponse$inboundSchema),
134
+ M.fail([401, "4XX"]),
135
+ M.fail("5XX"),
136
+ )(response, req);
137
+ if (!result.ok) {
138
+ return [result, { status: "complete", request: req, response }];
139
+ }
140
+
141
+ return [result, { status: "complete", request: req, response }];
142
+ }
@@ -0,0 +1,162 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ * @generated-id: 459a81081a14
4
+ */
5
+
6
+ import * as z from "zod/v4-mini";
7
+ import { FankareSDKCore } from "../core.js";
8
+ import { encodeJSON } 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 { APICall, APIPromise } from "../types/async.js";
28
+ import { Result } from "../types/fp.js";
29
+
30
+ /**
31
+ * Mark notifications as read
32
+ */
33
+ export function notificationsMarkNotificationsAsRead(
34
+ client: FankareSDKCore,
35
+ request: models.MarkNotificationsReadRequest,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ void,
40
+ | FankareSDKError
41
+ | ResponseValidationError
42
+ | ConnectionError
43
+ | RequestAbortedError
44
+ | RequestTimeoutError
45
+ | InvalidRequestError
46
+ | UnexpectedClientError
47
+ | SDKValidationError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client: FankareSDKCore,
59
+ request: models.MarkNotificationsReadRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ void,
65
+ | FankareSDKError
66
+ | ResponseValidationError
67
+ | ConnectionError
68
+ | RequestAbortedError
69
+ | RequestTimeoutError
70
+ | InvalidRequestError
71
+ | UnexpectedClientError
72
+ | SDKValidationError
73
+ >,
74
+ APICall,
75
+ ]
76
+ > {
77
+ const parsed = safeParse(
78
+ request,
79
+ (value) =>
80
+ z.parse(models.MarkNotificationsReadRequest$outboundSchema, value),
81
+ "Input validation failed",
82
+ );
83
+ if (!parsed.ok) {
84
+ return [parsed, { status: "invalid" }];
85
+ }
86
+ const payload = parsed.value;
87
+ const body = encodeJSON("body", payload, { explode: true });
88
+
89
+ const path = pathToFunc("/notifications/read")();
90
+
91
+ const headers = new Headers(compactMap({
92
+ "Content-Type": "application/json",
93
+ Accept: "*/*",
94
+ }));
95
+
96
+ const secConfig = await extractSecurity(client._options.bearerAuth);
97
+ const securityInput = secConfig == null ? {} : { bearerAuth: secConfig };
98
+ const requestSecurity = resolveGlobalSecurity(securityInput);
99
+
100
+ const context = {
101
+ options: client._options,
102
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
103
+ operationID: "markNotificationsAsRead",
104
+ oAuth2Scopes: null,
105
+
106
+ resolvedSecurity: requestSecurity,
107
+
108
+ securitySource: client._options.bearerAuth,
109
+ retryConfig: options?.retries
110
+ || client._options.retryConfig
111
+ || { strategy: "none" },
112
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
113
+ };
114
+
115
+ const requestRes = client._createRequest(context, {
116
+ security: requestSecurity,
117
+ method: "POST",
118
+ baseURL: options?.serverURL,
119
+ path: path,
120
+ headers: headers,
121
+ body: body,
122
+ userAgent: client._options.userAgent,
123
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
124
+ }, options);
125
+ if (!requestRes.ok) {
126
+ return [requestRes, { status: "invalid" }];
127
+ }
128
+ const req = requestRes.value;
129
+
130
+ const doResult = await client._do(req, {
131
+ context,
132
+ isErrorStatusCode: (statusCode: number) =>
133
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
134
+ retryConfig: context.retryConfig,
135
+ retryCodes: context.retryCodes,
136
+ });
137
+ if (!doResult.ok) {
138
+ return [doResult, { status: "request-error", request: req }];
139
+ }
140
+ const response = doResult.value;
141
+
142
+ const [result] = await M.match<
143
+ void,
144
+ | FankareSDKError
145
+ | ResponseValidationError
146
+ | ConnectionError
147
+ | RequestAbortedError
148
+ | RequestTimeoutError
149
+ | InvalidRequestError
150
+ | UnexpectedClientError
151
+ | SDKValidationError
152
+ >(
153
+ M.nil(204, z.void()),
154
+ M.fail([401, "4XX"]),
155
+ M.fail("5XX"),
156
+ )(response, req);
157
+ if (!result.ok) {
158
+ return [result, { status: "complete", request: req, response }];
159
+ }
160
+
161
+ return [result, { status: "complete", request: req, response }];
162
+ }