frameio 4.2.2 → 4.2.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.
- package/dist/cjs/BaseClient.js +2 -2
- package/dist/cjs/Client.d.ts +30 -30
- package/dist/cjs/Client.js +38 -38
- package/dist/cjs/api/resources/collections/client/Client.d.ts +17 -17
- package/dist/cjs/api/resources/collections/client/Client.js +30 -30
- package/dist/cjs/api/resources/files/client/Client.d.ts +96 -96
- package/dist/cjs/api/resources/files/client/Client.js +175 -175
- package/dist/cjs/api/resources/folders/client/Client.d.ts +11 -11
- package/dist/cjs/api/resources/folders/client/Client.js +29 -29
- package/dist/cjs/api/resources/metadata/client/Client.d.ts +27 -27
- package/dist/cjs/api/resources/metadata/client/Client.js +50 -50
- package/dist/cjs/api/resources/metadata/client/requests/BulkUpdateMetadataParams.d.ts +4 -4
- package/dist/cjs/api/resources/projectPermissions/client/Client.d.ts +24 -24
- package/dist/cjs/api/resources/projectPermissions/client/Client.js +87 -87
- package/dist/cjs/api/resources/projects/client/Client.d.ts +56 -0
- package/dist/cjs/api/resources/projects/client/Client.js +166 -0
- package/dist/cjs/api/resources/projects/client/requests/AccountProjectsIndexRequest.d.ts +24 -0
- package/dist/cjs/api/resources/projects/client/requests/AccountProjectsIndexRequest.js +3 -0
- package/dist/cjs/api/resources/projects/client/requests/InvitedProjectsIndexRequest.d.ts +24 -0
- package/dist/cjs/api/resources/projects/client/requests/InvitedProjectsIndexRequest.js +3 -0
- package/dist/cjs/api/resources/projects/client/requests/index.d.ts +2 -0
- package/dist/cjs/api/resources/projects/types/AccountProjectsIndexRequestSort.d.ts +8 -0
- package/dist/cjs/api/resources/projects/types/AccountProjectsIndexRequestSort.js +11 -0
- package/dist/cjs/api/resources/projects/types/InvitedProjectsIndexRequestSort.d.ts +8 -0
- package/dist/cjs/api/resources/projects/types/InvitedProjectsIndexRequestSort.js +11 -0
- package/dist/cjs/api/resources/projects/types/index.d.ts +2 -0
- package/dist/cjs/api/resources/projects/types/index.js +2 -0
- package/dist/cjs/api/resources/shares/client/Client.d.ts +49 -49
- package/dist/cjs/api/resources/shares/client/Client.js +146 -146
- package/dist/cjs/api/resources/shares/client/requests/AddAssetParams.d.ts +1 -1
- package/dist/cjs/api/resources/shares/client/requests/CreateShareParams.d.ts +2 -2
- package/dist/cjs/api/resources/shares/client/requests/UpdateShareParams.d.ts +1 -1
- package/dist/cjs/api/resources/versionStacks/client/Client.d.ts +64 -64
- package/dist/cjs/api/resources/versionStacks/client/Client.js +121 -121
- package/dist/cjs/api/resources/versionStacks/client/requests/VersionStackCreateParams.d.ts +1 -1
- package/dist/cjs/api/resources/workspacePermissions/client/Client.d.ts +24 -24
- package/dist/cjs/api/resources/workspacePermissions/client/Client.js +87 -87
- package/dist/cjs/api/resources/workspaces/client/Client.d.ts +34 -34
- package/dist/cjs/api/resources/workspaces/client/Client.js +141 -141
- package/dist/cjs/api/types/AuditLogwithIncludes.d.ts +6 -0
- package/dist/cjs/api/types/AuditLogwithIncludes.js +6 -0
- package/dist/cjs/api/types/Filters.d.ts +6 -0
- package/dist/cjs/api/types/Filters.js +6 -0
- package/dist/cjs/api/types/LongTextDefinition.d.ts +0 -16
- package/dist/cjs/api/types/LongTextDefinition.js +0 -17
- package/dist/cjs/api/types/NumberDefinition.d.ts +16 -0
- package/dist/cjs/api/types/NumberDefinition.js +13 -0
- package/dist/cjs/api/types/TextDefinition.d.ts +0 -16
- package/dist/cjs/api/types/TextDefinition.js +0 -17
- package/dist/cjs/api/types/ToggleDefinition.d.ts +16 -0
- package/dist/cjs/api/types/ToggleDefinition.js +17 -0
- package/dist/cjs/api/types/UserSingleDefinition.d.ts +0 -16
- package/dist/cjs/api/types/UserSingleDefinition.js +0 -13
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/BaseClient.mjs +2 -2
- package/dist/esm/Client.d.mts +30 -30
- package/dist/esm/Client.mjs +38 -38
- package/dist/esm/api/resources/collections/client/Client.d.mts +17 -17
- package/dist/esm/api/resources/collections/client/Client.mjs +30 -30
- package/dist/esm/api/resources/files/client/Client.d.mts +96 -96
- package/dist/esm/api/resources/files/client/Client.mjs +175 -175
- package/dist/esm/api/resources/folders/client/Client.d.mts +11 -11
- package/dist/esm/api/resources/folders/client/Client.mjs +29 -29
- package/dist/esm/api/resources/metadata/client/Client.d.mts +27 -27
- package/dist/esm/api/resources/metadata/client/Client.mjs +50 -50
- package/dist/esm/api/resources/metadata/client/requests/BulkUpdateMetadataParams.d.mts +4 -4
- package/dist/esm/api/resources/projectPermissions/client/Client.d.mts +24 -24
- package/dist/esm/api/resources/projectPermissions/client/Client.mjs +87 -87
- package/dist/esm/api/resources/projects/client/Client.d.mts +56 -0
- package/dist/esm/api/resources/projects/client/Client.mjs +166 -0
- package/dist/esm/api/resources/projects/client/requests/AccountProjectsIndexRequest.d.mts +24 -0
- package/dist/esm/api/resources/projects/client/requests/AccountProjectsIndexRequest.mjs +2 -0
- package/dist/esm/api/resources/projects/client/requests/InvitedProjectsIndexRequest.d.mts +24 -0
- package/dist/esm/api/resources/projects/client/requests/InvitedProjectsIndexRequest.mjs +2 -0
- package/dist/esm/api/resources/projects/client/requests/index.d.mts +2 -0
- package/dist/esm/api/resources/projects/types/AccountProjectsIndexRequestSort.d.mts +8 -0
- package/dist/esm/api/resources/projects/types/AccountProjectsIndexRequestSort.mjs +8 -0
- package/dist/esm/api/resources/projects/types/InvitedProjectsIndexRequestSort.d.mts +8 -0
- package/dist/esm/api/resources/projects/types/InvitedProjectsIndexRequestSort.mjs +8 -0
- package/dist/esm/api/resources/projects/types/index.d.mts +2 -0
- package/dist/esm/api/resources/projects/types/index.mjs +2 -0
- package/dist/esm/api/resources/shares/client/Client.d.mts +49 -49
- package/dist/esm/api/resources/shares/client/Client.mjs +146 -146
- package/dist/esm/api/resources/shares/client/requests/AddAssetParams.d.mts +1 -1
- package/dist/esm/api/resources/shares/client/requests/CreateShareParams.d.mts +2 -2
- package/dist/esm/api/resources/shares/client/requests/UpdateShareParams.d.mts +1 -1
- package/dist/esm/api/resources/versionStacks/client/Client.d.mts +64 -64
- package/dist/esm/api/resources/versionStacks/client/Client.mjs +121 -121
- package/dist/esm/api/resources/versionStacks/client/requests/VersionStackCreateParams.d.mts +1 -1
- package/dist/esm/api/resources/workspacePermissions/client/Client.d.mts +24 -24
- package/dist/esm/api/resources/workspacePermissions/client/Client.mjs +87 -87
- package/dist/esm/api/resources/workspaces/client/Client.d.mts +34 -34
- package/dist/esm/api/resources/workspaces/client/Client.mjs +141 -141
- package/dist/esm/api/types/AuditLogwithIncludes.d.mts +6 -0
- package/dist/esm/api/types/AuditLogwithIncludes.mjs +6 -0
- package/dist/esm/api/types/Filters.d.mts +6 -0
- package/dist/esm/api/types/Filters.mjs +6 -0
- package/dist/esm/api/types/LongTextDefinition.d.mts +0 -16
- package/dist/esm/api/types/LongTextDefinition.mjs +1 -16
- package/dist/esm/api/types/NumberDefinition.d.mts +16 -0
- package/dist/esm/api/types/NumberDefinition.mjs +13 -0
- package/dist/esm/api/types/TextDefinition.d.mts +0 -16
- package/dist/esm/api/types/TextDefinition.mjs +1 -16
- package/dist/esm/api/types/ToggleDefinition.d.mts +16 -0
- package/dist/esm/api/types/ToggleDefinition.mjs +16 -1
- package/dist/esm/api/types/UserSingleDefinition.d.mts +0 -16
- package/dist/esm/api/types/UserSingleDefinition.mjs +0 -13
- package/dist/esm/version.d.mts +1 -1
- package/dist/esm/version.mjs +1 -1
- package/package.json +112 -112
- package/reference.md +1392 -1234
|
@@ -22,93 +22,6 @@ export class ProjectPermissionsClient {
|
|
|
22
22
|
constructor(options) {
|
|
23
23
|
this._options = normalizeClientOptionsWithAuth(options);
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
* List user roles for a given project. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
27
|
-
*
|
|
28
|
-
* @param {Frameio.FrameOrAdobeId} account_id
|
|
29
|
-
* @param {Frameio.FrameOrAdobeId} project_id
|
|
30
|
-
* @param {Frameio.ProjectPermissionsIndexRequest} request
|
|
31
|
-
* @param {ProjectPermissionsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
32
|
-
*
|
|
33
|
-
* @throws {@link Frameio.BadRequestError}
|
|
34
|
-
* @throws {@link Frameio.UnauthorizedError}
|
|
35
|
-
* @throws {@link Frameio.ForbiddenError}
|
|
36
|
-
* @throws {@link Frameio.NotFoundError}
|
|
37
|
-
* @throws {@link Frameio.ConflictError}
|
|
38
|
-
* @throws {@link Frameio.UnprocessableEntityError}
|
|
39
|
-
* @throws {@link Frameio.TooManyRequestsError}
|
|
40
|
-
*
|
|
41
|
-
* @example
|
|
42
|
-
* await client.projectPermissions.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
|
|
43
|
-
* include_deactivated: true,
|
|
44
|
-
* sort: "role_asc",
|
|
45
|
-
* after: "<opaque_cursor>",
|
|
46
|
-
* page_size: 10,
|
|
47
|
-
* include_total_count: false
|
|
48
|
-
* })
|
|
49
|
-
*/
|
|
50
|
-
index(account_id_1, project_id_1) {
|
|
51
|
-
return __awaiter(this, arguments, void 0, function* (account_id, project_id, _request = {}, requestOptions) {
|
|
52
|
-
var _a, _b;
|
|
53
|
-
const list = core.HttpResponsePromise.interceptFunction((_requestUrl) => __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
55
|
-
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
56
|
-
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "user-agent": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.userAgent) !== null && _b !== void 0 ? _b : "frameio-ts" }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
57
|
-
const _response = yield ((_c = this._options.fetcher) !== null && _c !== void 0 ? _c : core.fetcher)({
|
|
58
|
-
url: _requestUrl,
|
|
59
|
-
method: "GET",
|
|
60
|
-
headers: _headers,
|
|
61
|
-
timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
|
|
62
|
-
maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
|
|
63
|
-
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
64
|
-
fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
|
|
65
|
-
logging: this._options.logging,
|
|
66
|
-
});
|
|
67
|
-
if (_response.ok) {
|
|
68
|
-
return {
|
|
69
|
-
data: _response.body,
|
|
70
|
-
rawResponse: _response.rawResponse,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
if (_response.error.reason === "status-code") {
|
|
74
|
-
switch (_response.error.statusCode) {
|
|
75
|
-
case 400:
|
|
76
|
-
throw new Frameio.BadRequestError(_response.error.body, _response.rawResponse);
|
|
77
|
-
case 401:
|
|
78
|
-
throw new Frameio.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
79
|
-
case 403:
|
|
80
|
-
throw new Frameio.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
81
|
-
case 404:
|
|
82
|
-
throw new Frameio.NotFoundError(_response.error.body, _response.rawResponse);
|
|
83
|
-
case 409:
|
|
84
|
-
throw new Frameio.ConflictError(_response.error.body, _response.rawResponse);
|
|
85
|
-
case 422:
|
|
86
|
-
throw new Frameio.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
87
|
-
case 429:
|
|
88
|
-
throw new Frameio.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
89
|
-
default:
|
|
90
|
-
throw new errors.FrameioError({
|
|
91
|
-
statusCode: _response.error.statusCode,
|
|
92
|
-
body: _response.error.body,
|
|
93
|
-
rawResponse: _response.rawResponse,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v4/accounts/{account_id}/projects/{project_id}/users");
|
|
98
|
-
}));
|
|
99
|
-
const _baseUrl = (_b = (_a = (yield core.Supplier.get(this._options.baseUrl))) !== null && _a !== void 0 ? _a : (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.FrameioEnvironment.Default;
|
|
100
|
-
const dataWithRawResponse = yield list(core.url.join(_baseUrl, `v4/accounts/${core.url.encodePathParam(account_id)}/projects/${core.url.encodePathParam(project_id)}/users`)).withRawResponse();
|
|
101
|
-
return new core.Page({
|
|
102
|
-
response: dataWithRawResponse.data,
|
|
103
|
-
rawResponse: dataWithRawResponse.rawResponse,
|
|
104
|
-
hasNextPage: (response) => (response === null || response === void 0 ? void 0 : response.links.next) != null && (response === null || response === void 0 ? void 0 : response.links.next) !== "",
|
|
105
|
-
getItems: (response) => { var _a; return (_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : []; },
|
|
106
|
-
loadPage: (response) => {
|
|
107
|
-
return list(core.url.join(_baseUrl, response === null || response === void 0 ? void 0 : response.links.next));
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
25
|
/**
|
|
113
26
|
* Remove a user from a given project. <br/>Rate Limits: 60 calls per 1.00 minute(s) per account_user
|
|
114
27
|
*
|
|
@@ -254,4 +167,91 @@ export class ProjectPermissionsClient {
|
|
|
254
167
|
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/v4/accounts/{account_id}/projects/{project_id}/users/{user_id}");
|
|
255
168
|
});
|
|
256
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* List user roles for a given project. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
172
|
+
*
|
|
173
|
+
* @param {Frameio.FrameOrAdobeId} account_id
|
|
174
|
+
* @param {Frameio.FrameOrAdobeId} project_id
|
|
175
|
+
* @param {Frameio.ProjectPermissionsIndexRequest} request
|
|
176
|
+
* @param {ProjectPermissionsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
177
|
+
*
|
|
178
|
+
* @throws {@link Frameio.BadRequestError}
|
|
179
|
+
* @throws {@link Frameio.UnauthorizedError}
|
|
180
|
+
* @throws {@link Frameio.ForbiddenError}
|
|
181
|
+
* @throws {@link Frameio.NotFoundError}
|
|
182
|
+
* @throws {@link Frameio.ConflictError}
|
|
183
|
+
* @throws {@link Frameio.UnprocessableEntityError}
|
|
184
|
+
* @throws {@link Frameio.TooManyRequestsError}
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* await client.projectPermissions.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
|
|
188
|
+
* include_deactivated: true,
|
|
189
|
+
* sort: "role_asc",
|
|
190
|
+
* after: "<opaque_cursor>",
|
|
191
|
+
* page_size: 10,
|
|
192
|
+
* include_total_count: false
|
|
193
|
+
* })
|
|
194
|
+
*/
|
|
195
|
+
index(account_id_1, project_id_1) {
|
|
196
|
+
return __awaiter(this, arguments, void 0, function* (account_id, project_id, _request = {}, requestOptions) {
|
|
197
|
+
var _a, _b;
|
|
198
|
+
const list = core.HttpResponsePromise.interceptFunction((_requestUrl) => __awaiter(this, void 0, void 0, function* () {
|
|
199
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
200
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
201
|
+
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "user-agent": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.userAgent) !== null && _b !== void 0 ? _b : "frameio-ts" }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
202
|
+
const _response = yield ((_c = this._options.fetcher) !== null && _c !== void 0 ? _c : core.fetcher)({
|
|
203
|
+
url: _requestUrl,
|
|
204
|
+
method: "GET",
|
|
205
|
+
headers: _headers,
|
|
206
|
+
timeoutMs: ((_f = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _d !== void 0 ? _d : (_e = this._options) === null || _e === void 0 ? void 0 : _e.timeoutInSeconds) !== null && _f !== void 0 ? _f : 60) * 1000,
|
|
207
|
+
maxRetries: (_g = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _g !== void 0 ? _g : (_h = this._options) === null || _h === void 0 ? void 0 : _h.maxRetries,
|
|
208
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
209
|
+
fetchFn: (_j = this._options) === null || _j === void 0 ? void 0 : _j.fetch,
|
|
210
|
+
logging: this._options.logging,
|
|
211
|
+
});
|
|
212
|
+
if (_response.ok) {
|
|
213
|
+
return {
|
|
214
|
+
data: _response.body,
|
|
215
|
+
rawResponse: _response.rawResponse,
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
if (_response.error.reason === "status-code") {
|
|
219
|
+
switch (_response.error.statusCode) {
|
|
220
|
+
case 400:
|
|
221
|
+
throw new Frameio.BadRequestError(_response.error.body, _response.rawResponse);
|
|
222
|
+
case 401:
|
|
223
|
+
throw new Frameio.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
224
|
+
case 403:
|
|
225
|
+
throw new Frameio.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
226
|
+
case 404:
|
|
227
|
+
throw new Frameio.NotFoundError(_response.error.body, _response.rawResponse);
|
|
228
|
+
case 409:
|
|
229
|
+
throw new Frameio.ConflictError(_response.error.body, _response.rawResponse);
|
|
230
|
+
case 422:
|
|
231
|
+
throw new Frameio.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
232
|
+
case 429:
|
|
233
|
+
throw new Frameio.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
234
|
+
default:
|
|
235
|
+
throw new errors.FrameioError({
|
|
236
|
+
statusCode: _response.error.statusCode,
|
|
237
|
+
body: _response.error.body,
|
|
238
|
+
rawResponse: _response.rawResponse,
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v4/accounts/{account_id}/projects/{project_id}/users");
|
|
243
|
+
}));
|
|
244
|
+
const _baseUrl = (_b = (_a = (yield core.Supplier.get(this._options.baseUrl))) !== null && _a !== void 0 ? _a : (yield core.Supplier.get(this._options.environment))) !== null && _b !== void 0 ? _b : environments.FrameioEnvironment.Default;
|
|
245
|
+
const dataWithRawResponse = yield list(core.url.join(_baseUrl, `v4/accounts/${core.url.encodePathParam(account_id)}/projects/${core.url.encodePathParam(project_id)}/users`)).withRawResponse();
|
|
246
|
+
return new core.Page({
|
|
247
|
+
response: dataWithRawResponse.data,
|
|
248
|
+
rawResponse: dataWithRawResponse.rawResponse,
|
|
249
|
+
hasNextPage: (response) => (response === null || response === void 0 ? void 0 : response.links.next) != null && (response === null || response === void 0 ? void 0 : response.links.next) !== "",
|
|
250
|
+
getItems: (response) => { var _a; return (_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : []; },
|
|
251
|
+
loadPage: (response) => {
|
|
252
|
+
return list(core.url.join(_baseUrl, response === null || response === void 0 ? void 0 : response.links.next));
|
|
253
|
+
},
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
257
|
}
|
|
@@ -83,6 +83,32 @@ export declare class ProjectsClient {
|
|
|
83
83
|
*/
|
|
84
84
|
update(account_id: Frameio.FrameOrAdobeId, project_id: Frameio.FrameOrAdobeId, request: Frameio.ProjectUpdateParams, requestOptions?: ProjectsClient.RequestOptions): core.HttpResponsePromise<Frameio.ProjectResponse>;
|
|
85
85
|
private __update;
|
|
86
|
+
/**
|
|
87
|
+
* List all projects the authenticated user has access to within the specified account. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
88
|
+
*
|
|
89
|
+
* @param {Frameio.FrameOrAdobeId} account_id
|
|
90
|
+
* @param {Frameio.AccountProjectsIndexRequest} request
|
|
91
|
+
* @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
92
|
+
*
|
|
93
|
+
* @throws {@link Frameio.BadRequestError}
|
|
94
|
+
* @throws {@link Frameio.UnauthorizedError}
|
|
95
|
+
* @throws {@link Frameio.ForbiddenError}
|
|
96
|
+
* @throws {@link Frameio.NotFoundError}
|
|
97
|
+
* @throws {@link Frameio.ConflictError}
|
|
98
|
+
* @throws {@link Frameio.UnprocessableEntityError}
|
|
99
|
+
* @throws {@link Frameio.TooManyRequestsError}
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* await client.projects.accountProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
|
|
103
|
+
* include: "owner",
|
|
104
|
+
* sort: "name_asc",
|
|
105
|
+
* after: "<opaque_cursor>",
|
|
106
|
+
* page_size: 10,
|
|
107
|
+
* include_total_count: false
|
|
108
|
+
* })
|
|
109
|
+
*/
|
|
110
|
+
accountProjectsIndex(account_id: Frameio.FrameOrAdobeId, request?: Frameio.AccountProjectsIndexRequest, requestOptions?: ProjectsClient.RequestOptions): core.HttpResponsePromise<Frameio.ProjectsWithIncludesResponse>;
|
|
111
|
+
private __accountProjectsIndex;
|
|
86
112
|
/**
|
|
87
113
|
* List projects in a given workspace. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
88
114
|
*
|
|
@@ -135,4 +161,34 @@ export declare class ProjectsClient {
|
|
|
135
161
|
*/
|
|
136
162
|
create(account_id: Frameio.FrameOrAdobeId, workspace_id: Frameio.Uuid, request: Frameio.ProjectParams, requestOptions?: ProjectsClient.RequestOptions): core.HttpResponsePromise<Frameio.ProjectResponse>;
|
|
137
163
|
private __create;
|
|
164
|
+
/**
|
|
165
|
+
* List projects that the current user has been invited to within the specified account,
|
|
166
|
+
* but does not have workspace-level access to. These are projects where the user has
|
|
167
|
+
* project-specific collaborator access without broader team/workspace permissions.
|
|
168
|
+
*
|
|
169
|
+
* Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
170
|
+
*
|
|
171
|
+
* @param {Frameio.FrameOrAdobeId} account_id
|
|
172
|
+
* @param {Frameio.InvitedProjectsIndexRequest} request
|
|
173
|
+
* @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
174
|
+
*
|
|
175
|
+
* @throws {@link Frameio.BadRequestError}
|
|
176
|
+
* @throws {@link Frameio.UnauthorizedError}
|
|
177
|
+
* @throws {@link Frameio.ForbiddenError}
|
|
178
|
+
* @throws {@link Frameio.NotFoundError}
|
|
179
|
+
* @throws {@link Frameio.ConflictError}
|
|
180
|
+
* @throws {@link Frameio.UnprocessableEntityError}
|
|
181
|
+
* @throws {@link Frameio.TooManyRequestsError}
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* await client.projects.invitedProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
|
|
185
|
+
* include: "owner",
|
|
186
|
+
* sort: "name_asc",
|
|
187
|
+
* after: "<opaque_cursor>",
|
|
188
|
+
* page_size: 10,
|
|
189
|
+
* include_total_count: false
|
|
190
|
+
* })
|
|
191
|
+
*/
|
|
192
|
+
invitedProjectsIndex(account_id: Frameio.FrameOrAdobeId, request?: Frameio.InvitedProjectsIndexRequest, requestOptions?: ProjectsClient.RequestOptions): core.HttpResponsePromise<Frameio.ProjectsWithIncludesResponse>;
|
|
193
|
+
private __invitedProjectsIndex;
|
|
138
194
|
}
|
|
@@ -240,6 +240,87 @@ export class ProjectsClient {
|
|
|
240
240
|
return handleNonStatusCodeError(_response.error, _response.rawResponse, "PATCH", "/v4/accounts/{account_id}/projects/{project_id}");
|
|
241
241
|
});
|
|
242
242
|
}
|
|
243
|
+
/**
|
|
244
|
+
* List all projects the authenticated user has access to within the specified account. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
245
|
+
*
|
|
246
|
+
* @param {Frameio.FrameOrAdobeId} account_id
|
|
247
|
+
* @param {Frameio.AccountProjectsIndexRequest} request
|
|
248
|
+
* @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
249
|
+
*
|
|
250
|
+
* @throws {@link Frameio.BadRequestError}
|
|
251
|
+
* @throws {@link Frameio.UnauthorizedError}
|
|
252
|
+
* @throws {@link Frameio.ForbiddenError}
|
|
253
|
+
* @throws {@link Frameio.NotFoundError}
|
|
254
|
+
* @throws {@link Frameio.ConflictError}
|
|
255
|
+
* @throws {@link Frameio.UnprocessableEntityError}
|
|
256
|
+
* @throws {@link Frameio.TooManyRequestsError}
|
|
257
|
+
*
|
|
258
|
+
* @example
|
|
259
|
+
* await client.projects.accountProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
|
|
260
|
+
* include: "owner",
|
|
261
|
+
* sort: "name_asc",
|
|
262
|
+
* after: "<opaque_cursor>",
|
|
263
|
+
* page_size: 10,
|
|
264
|
+
* include_total_count: false
|
|
265
|
+
* })
|
|
266
|
+
*/
|
|
267
|
+
accountProjectsIndex(account_id, request = {}, requestOptions) {
|
|
268
|
+
return core.HttpResponsePromise.fromPromise(this.__accountProjectsIndex(account_id, request, requestOptions));
|
|
269
|
+
}
|
|
270
|
+
__accountProjectsIndex(account_id_1) {
|
|
271
|
+
return __awaiter(this, arguments, void 0, function* (account_id, request = {}, requestOptions) {
|
|
272
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
273
|
+
const { include, sort, after, page_size: pageSize, include_total_count: includeTotalCount } = request;
|
|
274
|
+
const _queryParams = {
|
|
275
|
+
include: include != null ? include : undefined,
|
|
276
|
+
sort: sort != null ? sort : undefined,
|
|
277
|
+
after,
|
|
278
|
+
page_size: pageSize,
|
|
279
|
+
include_total_count: includeTotalCount,
|
|
280
|
+
};
|
|
281
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
282
|
+
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "user-agent": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.userAgent) !== null && _b !== void 0 ? _b : "frameio-ts" }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
283
|
+
const _response = yield ((_c = this._options.fetcher) !== null && _c !== void 0 ? _c : core.fetcher)({
|
|
284
|
+
url: core.url.join((_e = (_d = (yield core.Supplier.get(this._options.baseUrl))) !== null && _d !== void 0 ? _d : (yield core.Supplier.get(this._options.environment))) !== null && _e !== void 0 ? _e : environments.FrameioEnvironment.Default, `v4/accounts/${core.url.encodePathParam(account_id)}/projects`),
|
|
285
|
+
method: "GET",
|
|
286
|
+
headers: _headers,
|
|
287
|
+
queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
|
|
288
|
+
timeoutMs: ((_h = (_f = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _f !== void 0 ? _f : (_g = this._options) === null || _g === void 0 ? void 0 : _g.timeoutInSeconds) !== null && _h !== void 0 ? _h : 60) * 1000,
|
|
289
|
+
maxRetries: (_j = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _j !== void 0 ? _j : (_k = this._options) === null || _k === void 0 ? void 0 : _k.maxRetries,
|
|
290
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
291
|
+
fetchFn: (_l = this._options) === null || _l === void 0 ? void 0 : _l.fetch,
|
|
292
|
+
logging: this._options.logging,
|
|
293
|
+
});
|
|
294
|
+
if (_response.ok) {
|
|
295
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
296
|
+
}
|
|
297
|
+
if (_response.error.reason === "status-code") {
|
|
298
|
+
switch (_response.error.statusCode) {
|
|
299
|
+
case 400:
|
|
300
|
+
throw new Frameio.BadRequestError(_response.error.body, _response.rawResponse);
|
|
301
|
+
case 401:
|
|
302
|
+
throw new Frameio.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
303
|
+
case 403:
|
|
304
|
+
throw new Frameio.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
305
|
+
case 404:
|
|
306
|
+
throw new Frameio.NotFoundError(_response.error.body, _response.rawResponse);
|
|
307
|
+
case 409:
|
|
308
|
+
throw new Frameio.ConflictError(_response.error.body, _response.rawResponse);
|
|
309
|
+
case 422:
|
|
310
|
+
throw new Frameio.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
311
|
+
case 429:
|
|
312
|
+
throw new Frameio.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
313
|
+
default:
|
|
314
|
+
throw new errors.FrameioError({
|
|
315
|
+
statusCode: _response.error.statusCode,
|
|
316
|
+
body: _response.error.body,
|
|
317
|
+
rawResponse: _response.rawResponse,
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v4/accounts/{account_id}/projects");
|
|
322
|
+
});
|
|
323
|
+
}
|
|
243
324
|
/**
|
|
244
325
|
* List projects in a given workspace. <br/>Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
245
326
|
*
|
|
@@ -403,4 +484,89 @@ export class ProjectsClient {
|
|
|
403
484
|
return handleNonStatusCodeError(_response.error, _response.rawResponse, "POST", "/v4/accounts/{account_id}/workspaces/{workspace_id}/projects");
|
|
404
485
|
});
|
|
405
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* List projects that the current user has been invited to within the specified account,
|
|
489
|
+
* but does not have workspace-level access to. These are projects where the user has
|
|
490
|
+
* project-specific collaborator access without broader team/workspace permissions.
|
|
491
|
+
*
|
|
492
|
+
* Rate Limits: 100 calls per 1.00 minute(s) per account_user
|
|
493
|
+
*
|
|
494
|
+
* @param {Frameio.FrameOrAdobeId} account_id
|
|
495
|
+
* @param {Frameio.InvitedProjectsIndexRequest} request
|
|
496
|
+
* @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.
|
|
497
|
+
*
|
|
498
|
+
* @throws {@link Frameio.BadRequestError}
|
|
499
|
+
* @throws {@link Frameio.UnauthorizedError}
|
|
500
|
+
* @throws {@link Frameio.ForbiddenError}
|
|
501
|
+
* @throws {@link Frameio.NotFoundError}
|
|
502
|
+
* @throws {@link Frameio.ConflictError}
|
|
503
|
+
* @throws {@link Frameio.UnprocessableEntityError}
|
|
504
|
+
* @throws {@link Frameio.TooManyRequestsError}
|
|
505
|
+
*
|
|
506
|
+
* @example
|
|
507
|
+
* await client.projects.invitedProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
|
|
508
|
+
* include: "owner",
|
|
509
|
+
* sort: "name_asc",
|
|
510
|
+
* after: "<opaque_cursor>",
|
|
511
|
+
* page_size: 10,
|
|
512
|
+
* include_total_count: false
|
|
513
|
+
* })
|
|
514
|
+
*/
|
|
515
|
+
invitedProjectsIndex(account_id, request = {}, requestOptions) {
|
|
516
|
+
return core.HttpResponsePromise.fromPromise(this.__invitedProjectsIndex(account_id, request, requestOptions));
|
|
517
|
+
}
|
|
518
|
+
__invitedProjectsIndex(account_id_1) {
|
|
519
|
+
return __awaiter(this, arguments, void 0, function* (account_id, request = {}, requestOptions) {
|
|
520
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
521
|
+
const { include, sort, after, page_size: pageSize, include_total_count: includeTotalCount } = request;
|
|
522
|
+
const _queryParams = {
|
|
523
|
+
include: include != null ? include : undefined,
|
|
524
|
+
sort: sort != null ? sort : undefined,
|
|
525
|
+
after,
|
|
526
|
+
page_size: pageSize,
|
|
527
|
+
include_total_count: includeTotalCount,
|
|
528
|
+
};
|
|
529
|
+
const _authRequest = yield this._options.authProvider.getAuthRequest();
|
|
530
|
+
const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ "user-agent": (_b = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.userAgent) !== null && _b !== void 0 ? _b : "frameio-ts" }), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
|
|
531
|
+
const _response = yield ((_c = this._options.fetcher) !== null && _c !== void 0 ? _c : core.fetcher)({
|
|
532
|
+
url: core.url.join((_e = (_d = (yield core.Supplier.get(this._options.baseUrl))) !== null && _d !== void 0 ? _d : (yield core.Supplier.get(this._options.environment))) !== null && _e !== void 0 ? _e : environments.FrameioEnvironment.Default, `v4/accounts/${core.url.encodePathParam(account_id)}/invited_projects`),
|
|
533
|
+
method: "GET",
|
|
534
|
+
headers: _headers,
|
|
535
|
+
queryParameters: Object.assign(Object.assign({}, _queryParams), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams),
|
|
536
|
+
timeoutMs: ((_h = (_f = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _f !== void 0 ? _f : (_g = this._options) === null || _g === void 0 ? void 0 : _g.timeoutInSeconds) !== null && _h !== void 0 ? _h : 60) * 1000,
|
|
537
|
+
maxRetries: (_j = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _j !== void 0 ? _j : (_k = this._options) === null || _k === void 0 ? void 0 : _k.maxRetries,
|
|
538
|
+
abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
|
|
539
|
+
fetchFn: (_l = this._options) === null || _l === void 0 ? void 0 : _l.fetch,
|
|
540
|
+
logging: this._options.logging,
|
|
541
|
+
});
|
|
542
|
+
if (_response.ok) {
|
|
543
|
+
return { data: _response.body, rawResponse: _response.rawResponse };
|
|
544
|
+
}
|
|
545
|
+
if (_response.error.reason === "status-code") {
|
|
546
|
+
switch (_response.error.statusCode) {
|
|
547
|
+
case 400:
|
|
548
|
+
throw new Frameio.BadRequestError(_response.error.body, _response.rawResponse);
|
|
549
|
+
case 401:
|
|
550
|
+
throw new Frameio.UnauthorizedError(_response.error.body, _response.rawResponse);
|
|
551
|
+
case 403:
|
|
552
|
+
throw new Frameio.ForbiddenError(_response.error.body, _response.rawResponse);
|
|
553
|
+
case 404:
|
|
554
|
+
throw new Frameio.NotFoundError(_response.error.body, _response.rawResponse);
|
|
555
|
+
case 409:
|
|
556
|
+
throw new Frameio.ConflictError(_response.error.body, _response.rawResponse);
|
|
557
|
+
case 422:
|
|
558
|
+
throw new Frameio.UnprocessableEntityError(_response.error.body, _response.rawResponse);
|
|
559
|
+
case 429:
|
|
560
|
+
throw new Frameio.TooManyRequestsError(_response.error.body, _response.rawResponse);
|
|
561
|
+
default:
|
|
562
|
+
throw new errors.FrameioError({
|
|
563
|
+
statusCode: _response.error.statusCode,
|
|
564
|
+
body: _response.error.body,
|
|
565
|
+
rawResponse: _response.rawResponse,
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
return handleNonStatusCodeError(_response.error, _response.rawResponse, "GET", "/v4/accounts/{account_id}/invited_projects");
|
|
570
|
+
});
|
|
571
|
+
}
|
|
406
572
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type * as Frameio from "../../../../index.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* {
|
|
5
|
+
* include: "owner",
|
|
6
|
+
* sort: "name_asc",
|
|
7
|
+
* after: "<opaque_cursor>",
|
|
8
|
+
* page_size: 10,
|
|
9
|
+
* include_total_count: false
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
export interface AccountProjectsIndexRequest {
|
|
13
|
+
include?: "owner";
|
|
14
|
+
/** Sort projects by query params */
|
|
15
|
+
sort?: Frameio.AccountProjectsIndexRequestSort;
|
|
16
|
+
/**
|
|
17
|
+
* Opaque Cursor query param for requests returning paginated results.
|
|
18
|
+
* <br/>
|
|
19
|
+
* NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
|
|
20
|
+
*/
|
|
21
|
+
after?: Frameio.RequestAfterOpaqueCursor | undefined;
|
|
22
|
+
page_size?: Frameio.RequestPageSize;
|
|
23
|
+
include_total_count?: Frameio.IncludeTotalCount;
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type * as Frameio from "../../../../index.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* @example
|
|
4
|
+
* {
|
|
5
|
+
* include: "owner",
|
|
6
|
+
* sort: "name_asc",
|
|
7
|
+
* after: "<opaque_cursor>",
|
|
8
|
+
* page_size: 10,
|
|
9
|
+
* include_total_count: false
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
export interface InvitedProjectsIndexRequest {
|
|
13
|
+
include?: "owner";
|
|
14
|
+
/** Sort projects by query params */
|
|
15
|
+
sort?: Frameio.InvitedProjectsIndexRequestSort;
|
|
16
|
+
/**
|
|
17
|
+
* Opaque Cursor query param for requests returning paginated results.
|
|
18
|
+
* <br/>
|
|
19
|
+
* NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
|
|
20
|
+
*/
|
|
21
|
+
after?: Frameio.RequestAfterOpaqueCursor | undefined;
|
|
22
|
+
page_size?: Frameio.RequestPageSize;
|
|
23
|
+
include_total_count?: Frameio.IncludeTotalCount;
|
|
24
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export type { AccountProjectsIndexRequest } from "./AccountProjectsIndexRequest.mjs";
|
|
2
|
+
export type { InvitedProjectsIndexRequest } from "./InvitedProjectsIndexRequest.mjs";
|
|
1
3
|
export type { ProjectParams } from "./ProjectParams.mjs";
|
|
2
4
|
export type { ProjectsIndexRequest } from "./ProjectsIndexRequest.mjs";
|
|
3
5
|
export type { ProjectsShowRequest } from "./ProjectsShowRequest.mjs";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Sort query parameter for projects */
|
|
2
|
+
export declare const AccountProjectsIndexRequestSort: {
|
|
3
|
+
readonly NameAsc: "name_asc";
|
|
4
|
+
readonly CreatedAtAsc: "created_at_asc";
|
|
5
|
+
readonly NameDesc: "name_desc";
|
|
6
|
+
readonly CreatedAtDesc: "created_at_desc";
|
|
7
|
+
};
|
|
8
|
+
export type AccountProjectsIndexRequestSort = (typeof AccountProjectsIndexRequestSort)[keyof typeof AccountProjectsIndexRequestSort];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
/** Sort query parameter for projects */
|
|
3
|
+
export const AccountProjectsIndexRequestSort = {
|
|
4
|
+
NameAsc: "name_asc",
|
|
5
|
+
CreatedAtAsc: "created_at_asc",
|
|
6
|
+
NameDesc: "name_desc",
|
|
7
|
+
CreatedAtDesc: "created_at_desc",
|
|
8
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Sort query parameter for projects */
|
|
2
|
+
export declare const InvitedProjectsIndexRequestSort: {
|
|
3
|
+
readonly NameAsc: "name_asc";
|
|
4
|
+
readonly CreatedAtAsc: "created_at_asc";
|
|
5
|
+
readonly NameDesc: "name_desc";
|
|
6
|
+
readonly CreatedAtDesc: "created_at_desc";
|
|
7
|
+
};
|
|
8
|
+
export type InvitedProjectsIndexRequestSort = (typeof InvitedProjectsIndexRequestSort)[keyof typeof InvitedProjectsIndexRequestSort];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// This file was auto-generated by Fern from our API Definition.
|
|
2
|
+
/** Sort query parameter for projects */
|
|
3
|
+
export const InvitedProjectsIndexRequestSort = {
|
|
4
|
+
NameAsc: "name_asc",
|
|
5
|
+
CreatedAtAsc: "created_at_asc",
|
|
6
|
+
NameDesc: "name_desc",
|
|
7
|
+
CreatedAtDesc: "created_at_desc",
|
|
8
|
+
};
|