@steamsets/client-ts 0.33.1 → 0.33.3

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 (86) hide show
  1. package/README.md +4 -0
  2. package/funcs/adminCmsDelete.d.ts +19 -0
  3. package/funcs/adminCmsDelete.d.ts.map +1 -0
  4. package/funcs/adminCmsDelete.js +135 -0
  5. package/funcs/adminCmsDelete.js.map +1 -0
  6. package/funcs/leaderboardLeaderboardGetChanges.d.ts +16 -0
  7. package/funcs/leaderboardLeaderboardGetChanges.d.ts.map +1 -0
  8. package/funcs/leaderboardLeaderboardGetChanges.js +134 -0
  9. package/funcs/leaderboardLeaderboardGetChanges.js.map +1 -0
  10. package/jsr.json +1 -1
  11. package/lib/config.d.ts +2 -2
  12. package/lib/config.js +2 -2
  13. package/models/components/index.d.ts +4 -0
  14. package/models/components/index.d.ts.map +1 -1
  15. package/models/components/index.js +4 -0
  16. package/models/components/index.js.map +1 -1
  17. package/models/components/leaderboardchange.d.ts +19 -0
  18. package/models/components/leaderboardchange.d.ts.map +1 -0
  19. package/models/components/leaderboardchange.js +59 -0
  20. package/models/components/leaderboardchange.js.map +1 -0
  21. package/models/components/leaderboardgetchangesrequestbody.d.ts +104 -0
  22. package/models/components/leaderboardgetchangesrequestbody.d.ts.map +1 -0
  23. package/models/components/leaderboardgetchangesrequestbody.js +109 -0
  24. package/models/components/leaderboardgetchangesrequestbody.js.map +1 -0
  25. package/models/components/leaderboardgetchangesresponsebody.d.ts +15 -0
  26. package/models/components/leaderboardgetchangesresponsebody.d.ts.map +1 -0
  27. package/models/components/leaderboardgetchangesresponsebody.js +57 -0
  28. package/models/components/leaderboardgetchangesresponsebody.js.map +1 -0
  29. package/models/components/v1admincmscreaterequestbody.d.ts +1 -16
  30. package/models/components/v1admincmscreaterequestbody.d.ts.map +1 -1
  31. package/models/components/v1admincmscreaterequestbody.js +2 -15
  32. package/models/components/v1admincmscreaterequestbody.js.map +1 -1
  33. package/models/components/v1admincmsdeleterequestbody.d.ts +12 -0
  34. package/models/components/v1admincmsdeleterequestbody.d.ts.map +1 -0
  35. package/models/components/v1admincmsdeleterequestbody.js +54 -0
  36. package/models/components/v1admincmsdeleterequestbody.js.map +1 -0
  37. package/models/components/v1admincmsreorderrequestbody.d.ts +1 -16
  38. package/models/components/v1admincmsreorderrequestbody.d.ts.map +1 -1
  39. package/models/components/v1admincmsreorderrequestbody.js +2 -15
  40. package/models/components/v1admincmsreorderrequestbody.js.map +1 -1
  41. package/models/operations/cmsdelete.d.ts +11 -0
  42. package/models/operations/cmsdelete.d.ts.map +1 -0
  43. package/models/operations/cmsdelete.js +56 -0
  44. package/models/operations/cmsdelete.js.map +1 -0
  45. package/models/operations/cmslist.d.ts +1 -22
  46. package/models/operations/cmslist.d.ts.map +1 -1
  47. package/models/operations/cmslist.js +2 -18
  48. package/models/operations/cmslist.js.map +1 -1
  49. package/models/operations/index.d.ts +2 -0
  50. package/models/operations/index.d.ts.map +1 -1
  51. package/models/operations/index.js +2 -0
  52. package/models/operations/index.js.map +1 -1
  53. package/models/operations/leaderboardgetchanges.d.ts +15 -0
  54. package/models/operations/leaderboardgetchanges.d.ts.map +1 -0
  55. package/models/operations/leaderboardgetchanges.js +59 -0
  56. package/models/operations/leaderboardgetchanges.js.map +1 -0
  57. package/models/operations/list.d.ts +1 -22
  58. package/models/operations/list.d.ts.map +1 -1
  59. package/models/operations/list.js +2 -18
  60. package/models/operations/list.js.map +1 -1
  61. package/package.json +1 -1
  62. package/sdk/admin.d.ts +7 -0
  63. package/sdk/admin.d.ts.map +1 -1
  64. package/sdk/admin.js +10 -0
  65. package/sdk/admin.js.map +1 -1
  66. package/sdk/leaderboard.d.ts +4 -0
  67. package/sdk/leaderboard.d.ts.map +1 -1
  68. package/sdk/leaderboard.js +7 -0
  69. package/sdk/leaderboard.js.map +1 -1
  70. package/src/funcs/adminCmsDelete.ts +189 -0
  71. package/src/funcs/leaderboardLeaderboardGetChanges.ts +188 -0
  72. package/src/lib/config.ts +2 -2
  73. package/src/models/components/index.ts +4 -0
  74. package/src/models/components/leaderboardchange.ts +51 -0
  75. package/src/models/components/leaderboardgetchangesrequestbody.ts +147 -0
  76. package/src/models/components/leaderboardgetchangesresponsebody.ts +45 -0
  77. package/src/models/components/v1admincmscreaterequestbody.ts +2 -23
  78. package/src/models/components/v1admincmsdeleterequestbody.ts +38 -0
  79. package/src/models/components/v1admincmsreorderrequestbody.ts +2 -23
  80. package/src/models/operations/cmsdelete.ts +37 -0
  81. package/src/models/operations/cmslist.ts +2 -27
  82. package/src/models/operations/index.ts +2 -0
  83. package/src/models/operations/leaderboardgetchanges.ts +46 -0
  84. package/src/models/operations/list.ts +2 -27
  85. package/src/sdk/admin.ts +18 -0
  86. package/src/sdk/leaderboard.ts +15 -0
@@ -0,0 +1,189 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SteamSetsCore } from "../core.js";
6
+ import { encodeJSON } from "../lib/encodings.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 { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import * as components from "../models/components/index.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import { SteamSetsError } from "../models/errors/steamsetserror.js";
26
+ import * as operations from "../models/operations/index.js";
27
+ import { APICall, APIPromise } from "../types/async.js";
28
+ import { Result } from "../types/fp.js";
29
+
30
+ /**
31
+ * Permanently delete a CMS document and all its versions
32
+ *
33
+ * @remarks
34
+ * Hard delete: removes the cms_document row + every cms_document_version row pointing at it. Irreversible. Public reads stay correct because the type cache is invalidated. The CMS admin UI should restrict this to archived documents to give staff one extra step before destruction.
35
+ */
36
+ export function adminCmsDelete(
37
+ client: SteamSetsCore,
38
+ request: components.V1AdminCmsDeleteRequestBody,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ operations.CmsDeleteResponse,
43
+ | errors.ErrorModel
44
+ | SteamSetsError
45
+ | ResponseValidationError
46
+ | ConnectionError
47
+ | RequestAbortedError
48
+ | RequestTimeoutError
49
+ | InvalidRequestError
50
+ | UnexpectedClientError
51
+ | SDKValidationError
52
+ >
53
+ > {
54
+ return new APIPromise($do(
55
+ client,
56
+ request,
57
+ options,
58
+ ));
59
+ }
60
+
61
+ async function $do(
62
+ client: SteamSetsCore,
63
+ request: components.V1AdminCmsDeleteRequestBody,
64
+ options?: RequestOptions,
65
+ ): Promise<
66
+ [
67
+ Result<
68
+ operations.CmsDeleteResponse,
69
+ | errors.ErrorModel
70
+ | SteamSetsError
71
+ | ResponseValidationError
72
+ | ConnectionError
73
+ | RequestAbortedError
74
+ | RequestTimeoutError
75
+ | InvalidRequestError
76
+ | UnexpectedClientError
77
+ | SDKValidationError
78
+ >,
79
+ APICall,
80
+ ]
81
+ > {
82
+ const parsed = safeParse(
83
+ request,
84
+ (value) =>
85
+ components.V1AdminCmsDeleteRequestBody$outboundSchema.parse(value),
86
+ "Input validation failed",
87
+ );
88
+ if (!parsed.ok) {
89
+ return [parsed, { status: "invalid" }];
90
+ }
91
+ const payload = parsed.value;
92
+ const body = encodeJSON("body", payload, { explode: true });
93
+
94
+ const path = pathToFunc("/v1/admin.cms.delete")();
95
+
96
+ const headers = new Headers(compactMap({
97
+ "Content-Type": "application/json",
98
+ Accept: "application/problem+json",
99
+ }));
100
+
101
+ const secConfig = await extractSecurity(client._options.token);
102
+ const securityInput = secConfig == null ? {} : { token: secConfig };
103
+ const requestSecurity = resolveGlobalSecurity(securityInput);
104
+
105
+ const context = {
106
+ options: client._options,
107
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
108
+ operationID: "cms.delete",
109
+ oAuth2Scopes: null,
110
+
111
+ resolvedSecurity: requestSecurity,
112
+
113
+ securitySource: client._options.token,
114
+ retryConfig: options?.retries
115
+ || client._options.retryConfig
116
+ || {
117
+ strategy: "backoff",
118
+ backoff: {
119
+ initialInterval: 500,
120
+ maxInterval: 5000,
121
+ exponent: 1.5,
122
+ maxElapsedTime: 60000,
123
+ },
124
+ retryConnectionErrors: true,
125
+ }
126
+ || { strategy: "none" },
127
+ retryCodes: options?.retryCodes || ["501", "502", "503", "504"],
128
+ };
129
+
130
+ const requestRes = client._createRequest(context, {
131
+ security: requestSecurity,
132
+ method: "POST",
133
+ baseURL: options?.serverURL,
134
+ path: path,
135
+ headers: headers,
136
+ body: body,
137
+ uaHeader: "x-speakeasy-user-agent",
138
+ userAgent: client._options.userAgent,
139
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
140
+ }, options);
141
+ if (!requestRes.ok) {
142
+ return [requestRes, { status: "invalid" }];
143
+ }
144
+ const req = requestRes.value;
145
+
146
+ const doResult = await client._do(req, {
147
+ context,
148
+ isErrorStatusCode: (statusCode: number) =>
149
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
150
+ retryConfig: context.retryConfig,
151
+ retryCodes: context.retryCodes,
152
+ });
153
+ if (!doResult.ok) {
154
+ return [doResult, { status: "request-error", request: req }];
155
+ }
156
+ const response = doResult.value;
157
+
158
+ const responseFields = {
159
+ HttpMeta: { Response: response, Request: req },
160
+ };
161
+
162
+ const [result] = await M.match<
163
+ operations.CmsDeleteResponse,
164
+ | errors.ErrorModel
165
+ | SteamSetsError
166
+ | ResponseValidationError
167
+ | ConnectionError
168
+ | RequestAbortedError
169
+ | RequestTimeoutError
170
+ | InvalidRequestError
171
+ | UnexpectedClientError
172
+ | SDKValidationError
173
+ >(
174
+ M.nil(204, operations.CmsDeleteResponse$inboundSchema),
175
+ M.jsonErr([400, 401, 403, 404, 422], errors.ErrorModel$inboundSchema, {
176
+ ctype: "application/problem+json",
177
+ }),
178
+ M.jsonErr(500, errors.ErrorModel$inboundSchema, {
179
+ ctype: "application/problem+json",
180
+ }),
181
+ M.fail("4XX"),
182
+ M.fail("5XX"),
183
+ )(response, req, { extraFields: responseFields });
184
+ if (!result.ok) {
185
+ return [result, { status: "complete", request: req, response }];
186
+ }
187
+
188
+ return [result, { status: "complete", request: req, response }];
189
+ }
@@ -0,0 +1,188 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { SteamSetsCore } from "../core.js";
6
+ import { encodeJSON } from "../lib/encodings.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 { safeParse } from "../lib/schemas.js";
11
+ import { RequestOptions } from "../lib/sdks.js";
12
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
13
+ import { pathToFunc } from "../lib/url.js";
14
+ import * as components from "../models/components/index.js";
15
+ import {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../models/errors/httpclienterrors.js";
22
+ import * as errors from "../models/errors/index.js";
23
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
24
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
25
+ import { SteamSetsError } from "../models/errors/steamsetserror.js";
26
+ import * as operations from "../models/operations/index.js";
27
+ import { APICall, APIPromise } from "../types/async.js";
28
+ import { Result } from "../types/fp.js";
29
+
30
+ /**
31
+ * Top movers in a windowed delta on a leaderboard
32
+ */
33
+ export function leaderboardLeaderboardGetChanges(
34
+ client: SteamSetsCore,
35
+ request: components.LeaderboardGetChangesRequestBody,
36
+ options?: RequestOptions,
37
+ ): APIPromise<
38
+ Result<
39
+ operations.LeaderboardGetChangesResponse,
40
+ | errors.ErrorModel
41
+ | SteamSetsError
42
+ | ResponseValidationError
43
+ | ConnectionError
44
+ | RequestAbortedError
45
+ | RequestTimeoutError
46
+ | InvalidRequestError
47
+ | UnexpectedClientError
48
+ | SDKValidationError
49
+ >
50
+ > {
51
+ return new APIPromise($do(
52
+ client,
53
+ request,
54
+ options,
55
+ ));
56
+ }
57
+
58
+ async function $do(
59
+ client: SteamSetsCore,
60
+ request: components.LeaderboardGetChangesRequestBody,
61
+ options?: RequestOptions,
62
+ ): Promise<
63
+ [
64
+ Result<
65
+ operations.LeaderboardGetChangesResponse,
66
+ | errors.ErrorModel
67
+ | SteamSetsError
68
+ | ResponseValidationError
69
+ | ConnectionError
70
+ | RequestAbortedError
71
+ | RequestTimeoutError
72
+ | InvalidRequestError
73
+ | UnexpectedClientError
74
+ | SDKValidationError
75
+ >,
76
+ APICall,
77
+ ]
78
+ > {
79
+ const parsed = safeParse(
80
+ request,
81
+ (value) =>
82
+ components.LeaderboardGetChangesRequestBody$outboundSchema.parse(value),
83
+ "Input validation failed",
84
+ );
85
+ if (!parsed.ok) {
86
+ return [parsed, { status: "invalid" }];
87
+ }
88
+ const payload = parsed.value;
89
+ const body = encodeJSON("body", payload, { explode: true });
90
+
91
+ const path = pathToFunc("/v1/leaderboard.getChanges")();
92
+
93
+ const headers = new Headers(compactMap({
94
+ "Content-Type": "application/json",
95
+ Accept: "application/json",
96
+ }));
97
+
98
+ const secConfig = await extractSecurity(client._options.token);
99
+ const securityInput = secConfig == null ? {} : { token: secConfig };
100
+ const requestSecurity = resolveGlobalSecurity(securityInput);
101
+
102
+ const context = {
103
+ options: client._options,
104
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
105
+ operationID: "leaderboard.getChanges",
106
+ oAuth2Scopes: null,
107
+
108
+ resolvedSecurity: requestSecurity,
109
+
110
+ securitySource: client._options.token,
111
+ retryConfig: options?.retries
112
+ || client._options.retryConfig
113
+ || {
114
+ strategy: "backoff",
115
+ backoff: {
116
+ initialInterval: 500,
117
+ maxInterval: 5000,
118
+ exponent: 1.5,
119
+ maxElapsedTime: 60000,
120
+ },
121
+ retryConnectionErrors: true,
122
+ }
123
+ || { strategy: "none" },
124
+ retryCodes: options?.retryCodes || ["501", "502", "503", "504"],
125
+ };
126
+
127
+ const requestRes = client._createRequest(context, {
128
+ security: requestSecurity,
129
+ method: "POST",
130
+ baseURL: options?.serverURL,
131
+ path: path,
132
+ headers: headers,
133
+ body: body,
134
+ uaHeader: "x-speakeasy-user-agent",
135
+ userAgent: client._options.userAgent,
136
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
137
+ }, options);
138
+ if (!requestRes.ok) {
139
+ return [requestRes, { status: "invalid" }];
140
+ }
141
+ const req = requestRes.value;
142
+
143
+ const doResult = await client._do(req, {
144
+ context,
145
+ isErrorStatusCode: (statusCode: number) =>
146
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
147
+ retryConfig: context.retryConfig,
148
+ retryCodes: context.retryCodes,
149
+ });
150
+ if (!doResult.ok) {
151
+ return [doResult, { status: "request-error", request: req }];
152
+ }
153
+ const response = doResult.value;
154
+
155
+ const responseFields = {
156
+ HttpMeta: { Response: response, Request: req },
157
+ };
158
+
159
+ const [result] = await M.match<
160
+ operations.LeaderboardGetChangesResponse,
161
+ | errors.ErrorModel
162
+ | SteamSetsError
163
+ | ResponseValidationError
164
+ | ConnectionError
165
+ | RequestAbortedError
166
+ | RequestTimeoutError
167
+ | InvalidRequestError
168
+ | UnexpectedClientError
169
+ | SDKValidationError
170
+ >(
171
+ M.json(200, operations.LeaderboardGetChangesResponse$inboundSchema, {
172
+ key: "LeaderboardGetChangesResponseBody",
173
+ }),
174
+ M.jsonErr([400, 422], errors.ErrorModel$inboundSchema, {
175
+ ctype: "application/problem+json",
176
+ }),
177
+ M.jsonErr(500, errors.ErrorModel$inboundSchema, {
178
+ ctype: "application/problem+json",
179
+ }),
180
+ M.fail("4XX"),
181
+ M.fail("5XX"),
182
+ )(response, req, { extraFields: responseFields });
183
+ if (!result.ok) {
184
+ return [result, { status: "complete", request: req, response }];
185
+ }
186
+
187
+ return [result, { status: "complete", request: req, response }];
188
+ }
package/src/lib/config.ts CHANGED
@@ -59,8 +59,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
59
59
  export const SDK_METADATA = {
60
60
  language: "typescript",
61
61
  openapiDocVersion: "1.0.0",
62
- sdkVersion: "0.33.1",
62
+ sdkVersion: "0.33.3",
63
63
  genVersion: "2.881.4",
64
64
  userAgent:
65
- "speakeasy-sdk/typescript 0.33.1 2.881.4 1.0.0 @steamsets/client-ts",
65
+ "speakeasy-sdk/typescript 0.33.3 2.881.4 1.0.0 @steamsets/client-ts",
66
66
  } as const;
@@ -36,8 +36,11 @@ export * from "./idsearch.js";
36
36
  export * from "./image.js";
37
37
  export * from "./inventoryset.js";
38
38
  export * from "./leaderboardaccount.js";
39
+ export * from "./leaderboardchange.js";
39
40
  export * from "./leaderboardcity.js";
40
41
  export * from "./leaderboardcountry.js";
42
+ export * from "./leaderboardgetchangesrequestbody.js";
43
+ export * from "./leaderboardgetchangesresponsebody.js";
41
44
  export * from "./leaderboardregion.js";
42
45
  export * from "./leaderboardstate.js";
43
46
  export * from "./loginrequestbody.js";
@@ -134,6 +137,7 @@ export * from "./v1activitystreamfeedevent.js";
134
137
  export * from "./v1admincmsarchiverequestbody.js";
135
138
  export * from "./v1admincmscreaterequestbody.js";
136
139
  export * from "./v1admincmscreateresponsebody.js";
140
+ export * from "./v1admincmsdeleterequestbody.js";
137
141
  export * from "./v1admincmslistassetsresponsebody.js";
138
142
  export * from "./v1admincmslistresponsebody.js";
139
143
  export * from "./v1admincmspreviewtokenrequestbody.js";
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { safeParse } from "../../lib/schemas.js";
7
+ import { Result as SafeParseResult } from "../../types/fp.js";
8
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ LeaderboardAccount,
11
+ LeaderboardAccount$inboundSchema,
12
+ } from "./leaderboardaccount.js";
13
+
14
+ export type LeaderboardChange = {
15
+ account?: LeaderboardAccount | null | undefined;
16
+ accountId: number;
17
+ latestDate: Date;
18
+ newRank: number;
19
+ newScore: number;
20
+ oldRank: number;
21
+ oldScore: number;
22
+ rankDelta: number;
23
+ scoreDelta: number;
24
+ };
25
+
26
+ /** @internal */
27
+ export const LeaderboardChange$inboundSchema: z.ZodType<
28
+ LeaderboardChange,
29
+ z.ZodTypeDef,
30
+ unknown
31
+ > = z.object({
32
+ account: z.nullable(LeaderboardAccount$inboundSchema).optional(),
33
+ accountId: z.number().int(),
34
+ latestDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
35
+ newRank: z.number().int(),
36
+ newScore: z.number().int(),
37
+ oldRank: z.number().int(),
38
+ oldScore: z.number().int(),
39
+ rankDelta: z.number().int(),
40
+ scoreDelta: z.number().int(),
41
+ });
42
+
43
+ export function leaderboardChangeFromJSON(
44
+ jsonString: string,
45
+ ): SafeParseResult<LeaderboardChange, SDKValidationError> {
46
+ return safeParse(
47
+ jsonString,
48
+ (x) => LeaderboardChange$inboundSchema.parse(JSON.parse(x)),
49
+ `Failed to parse 'LeaderboardChange' from JSON`,
50
+ );
51
+ }
@@ -0,0 +1,147 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ /**
9
+ * improvements = positive delta, declines = negative delta.
10
+ */
11
+ export const LeaderboardGetChangesRequestBodyDirection = {
12
+ Improvements: "improvements",
13
+ Declines: "declines",
14
+ } as const;
15
+ /**
16
+ * improvements = positive delta, declines = negative delta.
17
+ */
18
+ export type LeaderboardGetChangesRequestBodyDirection = ClosedEnum<
19
+ typeof LeaderboardGetChangesRequestBodyDirection
20
+ >;
21
+
22
+ /**
23
+ * Which leaderboard the delta is computed against.
24
+ */
25
+ export const LeaderboardGetChangesRequestBodyLeaderboard = {
26
+ Apps: "apps",
27
+ AwardsGiven: "awards_given",
28
+ AwardsReceived: "awards_received",
29
+ Bans: "bans",
30
+ GameBans: "game_bans",
31
+ VacBans: "vac_bans",
32
+ FoilBadges: "foil_badges",
33
+ NormalBadges: "normal_badges",
34
+ Badges: "badges",
35
+ Playtime: "playtime",
36
+ PointsGiven: "points_given",
37
+ PointsReceived: "points_received",
38
+ SteamSets: "steam_sets",
39
+ Xp: "xp",
40
+ ValidPlaytime: "valid_playtime",
41
+ } as const;
42
+ /**
43
+ * Which leaderboard the delta is computed against.
44
+ */
45
+ export type LeaderboardGetChangesRequestBodyLeaderboard = ClosedEnum<
46
+ typeof LeaderboardGetChangesRequestBodyLeaderboard
47
+ >;
48
+
49
+ /**
50
+ * What to sort by. score = XP/playtime/badges depending on leaderboard. rank = leaderboard position.
51
+ */
52
+ export const Metric = {
53
+ Score: "score",
54
+ Rank: "rank",
55
+ } as const;
56
+ /**
57
+ * What to sort by. score = XP/playtime/badges depending on leaderboard. rank = leaderboard position.
58
+ */
59
+ export type Metric = ClosedEnum<typeof Metric>;
60
+
61
+ /**
62
+ * Lookback window for the delta.
63
+ */
64
+ export const Window = {
65
+ TwentyFourh: "24h",
66
+ Sevend: "7d",
67
+ Thirtyd: "30d",
68
+ Ninetyd: "90d",
69
+ Oney: "1y",
70
+ } as const;
71
+ /**
72
+ * Lookback window for the delta.
73
+ */
74
+ export type Window = ClosedEnum<typeof Window>;
75
+
76
+ export type LeaderboardGetChangesRequestBody = {
77
+ /**
78
+ * improvements = positive delta, declines = negative delta.
79
+ */
80
+ direction: LeaderboardGetChangesRequestBodyDirection;
81
+ /**
82
+ * Which leaderboard the delta is computed against.
83
+ */
84
+ leaderboard: LeaderboardGetChangesRequestBodyLeaderboard;
85
+ /**
86
+ * Number of accounts returned. Default 100.
87
+ */
88
+ limit?: number | undefined;
89
+ /**
90
+ * What to sort by. score = XP/playtime/badges depending on leaderboard. rank = leaderboard position.
91
+ */
92
+ metric: Metric;
93
+ /**
94
+ * Lookback window for the delta.
95
+ */
96
+ window: Window;
97
+ };
98
+
99
+ /** @internal */
100
+ export const LeaderboardGetChangesRequestBodyDirection$outboundSchema:
101
+ z.ZodNativeEnum<typeof LeaderboardGetChangesRequestBodyDirection> = z
102
+ .nativeEnum(LeaderboardGetChangesRequestBodyDirection);
103
+
104
+ /** @internal */
105
+ export const LeaderboardGetChangesRequestBodyLeaderboard$outboundSchema:
106
+ z.ZodNativeEnum<typeof LeaderboardGetChangesRequestBodyLeaderboard> = z
107
+ .nativeEnum(LeaderboardGetChangesRequestBodyLeaderboard);
108
+
109
+ /** @internal */
110
+ export const Metric$outboundSchema: z.ZodNativeEnum<typeof Metric> = z
111
+ .nativeEnum(Metric);
112
+
113
+ /** @internal */
114
+ export const Window$outboundSchema: z.ZodNativeEnum<typeof Window> = z
115
+ .nativeEnum(Window);
116
+
117
+ /** @internal */
118
+ export type LeaderboardGetChangesRequestBody$Outbound = {
119
+ direction: string;
120
+ leaderboard: string;
121
+ limit?: number | undefined;
122
+ metric: string;
123
+ window: string;
124
+ };
125
+
126
+ /** @internal */
127
+ export const LeaderboardGetChangesRequestBody$outboundSchema: z.ZodType<
128
+ LeaderboardGetChangesRequestBody$Outbound,
129
+ z.ZodTypeDef,
130
+ LeaderboardGetChangesRequestBody
131
+ > = z.object({
132
+ direction: LeaderboardGetChangesRequestBodyDirection$outboundSchema,
133
+ leaderboard: LeaderboardGetChangesRequestBodyLeaderboard$outboundSchema,
134
+ limit: z.number().int().optional(),
135
+ metric: Metric$outboundSchema,
136
+ window: Window$outboundSchema,
137
+ });
138
+
139
+ export function leaderboardGetChangesRequestBodyToJSON(
140
+ leaderboardGetChangesRequestBody: LeaderboardGetChangesRequestBody,
141
+ ): string {
142
+ return JSON.stringify(
143
+ LeaderboardGetChangesRequestBody$outboundSchema.parse(
144
+ leaderboardGetChangesRequestBody,
145
+ ),
146
+ );
147
+ }
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { remap as remap$ } from "../../lib/primitives.js";
7
+ import { safeParse } from "../../lib/schemas.js";
8
+ import { Result as SafeParseResult } from "../../types/fp.js";
9
+ import { SDKValidationError } from "../errors/sdkvalidationerror.js";
10
+ import {
11
+ LeaderboardChange,
12
+ LeaderboardChange$inboundSchema,
13
+ } from "./leaderboardchange.js";
14
+
15
+ export type LeaderboardGetChangesResponseBody = {
16
+ /**
17
+ * A URL to the JSON Schema for this object.
18
+ */
19
+ dollarSchema?: string | undefined;
20
+ changes: Array<LeaderboardChange> | null;
21
+ };
22
+
23
+ /** @internal */
24
+ export const LeaderboardGetChangesResponseBody$inboundSchema: z.ZodType<
25
+ LeaderboardGetChangesResponseBody,
26
+ z.ZodTypeDef,
27
+ unknown
28
+ > = z.object({
29
+ $schema: z.string().optional(),
30
+ changes: z.nullable(z.array(LeaderboardChange$inboundSchema)),
31
+ }).transform((v) => {
32
+ return remap$(v, {
33
+ "$schema": "dollarSchema",
34
+ });
35
+ });
36
+
37
+ export function leaderboardGetChangesResponseBodyFromJSON(
38
+ jsonString: string,
39
+ ): SafeParseResult<LeaderboardGetChangesResponseBody, SDKValidationError> {
40
+ return safeParse(
41
+ jsonString,
42
+ (x) => LeaderboardGetChangesResponseBody$inboundSchema.parse(JSON.parse(x)),
43
+ `Failed to parse 'LeaderboardGetChangesResponseBody' from JSON`,
44
+ );
45
+ }
@@ -4,22 +4,6 @@
4
4
 
5
5
  import * as z from "zod/v3";
6
6
  import { remap as remap$ } from "../../lib/primitives.js";
7
- import { ClosedEnum } from "../../types/enums.js";
8
-
9
- export const V1AdminCmsCreateRequestBodyType = {
10
- NavItem: "nav_item",
11
- Faq: "faq",
12
- Partner: "partner",
13
- FooterCategory: "footer_category",
14
- FooterLink: "footer_link",
15
- DonateFeature: "donate_feature",
16
- RoleMeta: "role_meta",
17
- StaffText: "staff_text",
18
- Page: "page",
19
- } as const;
20
- export type V1AdminCmsCreateRequestBodyType = ClosedEnum<
21
- typeof V1AdminCmsCreateRequestBodyType
22
- >;
23
7
 
24
8
  export type V1AdminCmsCreateRequestBody = {
25
9
  /**
@@ -33,14 +17,9 @@ export type V1AdminCmsCreateRequestBody = {
33
17
  */
34
18
  payload?: any | undefined;
35
19
  sortOrder: number;
36
- type: V1AdminCmsCreateRequestBodyType;
20
+ type: string;
37
21
  };
38
22
 
39
- /** @internal */
40
- export const V1AdminCmsCreateRequestBodyType$outboundSchema: z.ZodNativeEnum<
41
- typeof V1AdminCmsCreateRequestBodyType
42
- > = z.nativeEnum(V1AdminCmsCreateRequestBodyType);
43
-
44
23
  /** @internal */
45
24
  export type V1AdminCmsCreateRequestBody$Outbound = {
46
25
  doc_key: string;
@@ -62,7 +41,7 @@ export const V1AdminCmsCreateRequestBody$outboundSchema: z.ZodType<
62
41
  parentUid: z.string().optional(),
63
42
  payload: z.any().optional(),
64
43
  sortOrder: z.number().int(),
65
- type: V1AdminCmsCreateRequestBodyType$outboundSchema,
44
+ type: z.string(),
66
45
  }).transform((v) => {
67
46
  return remap$(v, {
68
47
  docKey: "doc_key",