@scaleway/sdk-account 1.0.1

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.
@@ -0,0 +1,214 @@
1
+ import { API, urlParams, validatePathParam, enrichForPagination } from "@scaleway/sdk-client";
2
+ import { marshalContractApiCreateContractSignatureRequest, unmarshalContractSignature, marshalContractApiCheckContractSignatureRequest, unmarshalCheckContractSignatureResponse, unmarshalListContractSignaturesResponse, marshalProjectApiCreateProjectRequest, unmarshalProject, unmarshalListProjectsResponse, marshalProjectApiUpdateProjectRequest, marshalProjectApiSetProjectQualificationRequest, unmarshalProjectQualification } from "./marshalling.gen.js";
3
+ const jsonContentHeaders = {
4
+ "Content-Type": "application/json; charset=utf-8"
5
+ };
6
+ class ContractAPI extends API {
7
+ /**
8
+ * Download a contract content.
9
+ *
10
+ * @param request - The request {@link ContractApiDownloadContractSignatureRequest}
11
+ * @returns A Promise of Blob
12
+ */
13
+ downloadContractSignature = (request) => this.client.fetch({
14
+ method: "GET",
15
+ path: `/account/v3/contract-signatures/${validatePathParam("contractSignatureId", request.contractSignatureId)}/download`,
16
+ urlParams: urlParams(["dl", 1], ["locale", request.locale]),
17
+ responseType: "blob"
18
+ });
19
+ /**
20
+ * Create a signature for your Organization for the latest version of the requested contract.
21
+ *
22
+ * @param request - The request {@link ContractApiCreateContractSignatureRequest}
23
+ * @returns A Promise of ContractSignature
24
+ */
25
+ createContractSignature = (request) => this.client.fetch(
26
+ {
27
+ body: JSON.stringify(
28
+ marshalContractApiCreateContractSignatureRequest(
29
+ request,
30
+ this.client.settings
31
+ )
32
+ ),
33
+ headers: jsonContentHeaders,
34
+ method: "POST",
35
+ path: `/account/v3/contract-signatures`
36
+ },
37
+ unmarshalContractSignature
38
+ );
39
+ /**
40
+ * Sign a contract for your Organization.
41
+ *
42
+ * @param request - The request {@link ContractApiValidateContractSignatureRequest}
43
+ * @returns A Promise of ContractSignature
44
+ */
45
+ validateContractSignature = (request) => this.client.fetch(
46
+ {
47
+ body: "{}",
48
+ headers: jsonContentHeaders,
49
+ method: "POST",
50
+ path: `/account/v3/contract-signatures/${validatePathParam("contractSignatureId", request.contractSignatureId)}/validate`
51
+ },
52
+ unmarshalContractSignature
53
+ );
54
+ /**
55
+ * Check if a contract is signed for your Organization.
56
+ *
57
+ * @param request - The request {@link ContractApiCheckContractSignatureRequest}
58
+ * @returns A Promise of CheckContractSignatureResponse
59
+ */
60
+ checkContractSignature = (request) => this.client.fetch(
61
+ {
62
+ body: JSON.stringify(
63
+ marshalContractApiCheckContractSignatureRequest(
64
+ request,
65
+ this.client.settings
66
+ )
67
+ ),
68
+ headers: jsonContentHeaders,
69
+ method: "POST",
70
+ path: `/account/v3/contract-signatures/check`
71
+ },
72
+ unmarshalCheckContractSignatureResponse
73
+ );
74
+ pageOfListContractSignatures = (request = {}) => this.client.fetch(
75
+ {
76
+ method: "GET",
77
+ path: `/account/v3/contract-signatures`,
78
+ urlParams: urlParams(
79
+ ["order_by", request.orderBy],
80
+ [
81
+ "organization_id",
82
+ request.organizationId ?? this.client.settings.defaultOrganizationId
83
+ ],
84
+ ["page", request.page],
85
+ [
86
+ "page_size",
87
+ request.pageSize ?? this.client.settings.defaultPageSize
88
+ ]
89
+ )
90
+ },
91
+ unmarshalListContractSignaturesResponse
92
+ );
93
+ /**
94
+ * List contract signatures for an Organization.
95
+ *
96
+ * @param request - The request {@link ContractApiListContractSignaturesRequest}
97
+ * @returns A Promise of ListContractSignaturesResponse
98
+ */
99
+ listContractSignatures = (request = {}) => enrichForPagination(
100
+ "contractSignatures",
101
+ this.pageOfListContractSignatures,
102
+ request
103
+ );
104
+ }
105
+ class ProjectAPI extends API {
106
+ /**
107
+ * Create a new Project for an Organization. Generate a new Project for an Organization, specifying its configuration including name and description.
108
+ *
109
+ * @param request - The request {@link ProjectApiCreateProjectRequest}
110
+ * @returns A Promise of Project
111
+ */
112
+ createProject = (request) => this.client.fetch(
113
+ {
114
+ body: JSON.stringify(
115
+ marshalProjectApiCreateProjectRequest(request, this.client.settings)
116
+ ),
117
+ headers: jsonContentHeaders,
118
+ method: "POST",
119
+ path: `/account/v3/projects`
120
+ },
121
+ unmarshalProject
122
+ );
123
+ pageOfListProjects = (request = {}) => this.client.fetch(
124
+ {
125
+ method: "GET",
126
+ path: `/account/v3/projects`,
127
+ urlParams: urlParams(
128
+ ["name", request.name],
129
+ ["order_by", request.orderBy],
130
+ [
131
+ "organization_id",
132
+ request.organizationId ?? this.client.settings.defaultOrganizationId
133
+ ],
134
+ ["page", request.page],
135
+ [
136
+ "page_size",
137
+ request.pageSize ?? this.client.settings.defaultPageSize
138
+ ],
139
+ ["project_ids", request.projectIds]
140
+ )
141
+ },
142
+ unmarshalListProjectsResponse
143
+ );
144
+ /**
145
+ * List all Projects of an Organization. List all Projects of an Organization. The response will include the total number of Projects as well as their associated Organizations, names, and IDs. Other information includes the creation and update date of the Project.
146
+ *
147
+ * @param request - The request {@link ProjectApiListProjectsRequest}
148
+ * @returns A Promise of ListProjectsResponse
149
+ */
150
+ listProjects = (request = {}) => enrichForPagination("projects", this.pageOfListProjects, request);
151
+ /**
152
+ * Get an existing Project. Retrieve information about an existing Project, specified by its Project ID. Its full details, including ID, name and description, are returned in the response object.
153
+ *
154
+ * @param request - The request {@link ProjectApiGetProjectRequest}
155
+ * @returns A Promise of Project
156
+ */
157
+ getProject = (request = {}) => this.client.fetch(
158
+ {
159
+ method: "GET",
160
+ path: `/account/v3/projects/${validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
161
+ },
162
+ unmarshalProject
163
+ );
164
+ /**
165
+ * Delete an existing Project. Delete an existing Project, specified by its Project ID. The Project needs to be empty (meaning there are no resources left in it) to be deleted effectively. Note that deleting a Project is permanent, and cannot be undone.
166
+ *
167
+ * @param request - The request {@link ProjectApiDeleteProjectRequest}
168
+ */
169
+ deleteProject = (request = {}) => this.client.fetch({
170
+ method: "DELETE",
171
+ path: `/account/v3/projects/${validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
172
+ });
173
+ /**
174
+ * Update Project. Update the parameters of an existing Project, specified by its Project ID. These parameters include the name and description.
175
+ *
176
+ * @param request - The request {@link ProjectApiUpdateProjectRequest}
177
+ * @returns A Promise of Project
178
+ */
179
+ updateProject = (request = {}) => this.client.fetch(
180
+ {
181
+ body: JSON.stringify(
182
+ marshalProjectApiUpdateProjectRequest(request, this.client.settings)
183
+ ),
184
+ headers: jsonContentHeaders,
185
+ method: "PATCH",
186
+ path: `/account/v3/projects/${validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}`
187
+ },
188
+ unmarshalProject
189
+ );
190
+ /**
191
+ * Set project use case. Set the project use case for a new or existing Project, specified by its Project ID. You can customize the use case, sub use case, and architecture type you want to use in the Project.
192
+ *
193
+ * @param request - The request {@link ProjectApiSetProjectQualificationRequest}
194
+ * @returns A Promise of ProjectQualification
195
+ */
196
+ setProjectQualification = (request = {}) => this.client.fetch(
197
+ {
198
+ body: JSON.stringify(
199
+ marshalProjectApiSetProjectQualificationRequest(
200
+ request,
201
+ this.client.settings
202
+ )
203
+ ),
204
+ headers: jsonContentHeaders,
205
+ method: "POST",
206
+ path: `/account/v3/projects/${validatePathParam("projectId", request.projectId ?? this.client.settings.defaultProjectId)}/project-qualification`
207
+ },
208
+ unmarshalProjectQualification
209
+ );
210
+ }
211
+ export {
212
+ ContractAPI,
213
+ ProjectAPI
214
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const api_gen = require("./api.gen.cjs");
4
+ const marshalling_gen = require("./marshalling.gen.cjs");
5
+ const validationRules_gen = require("./validation-rules.gen.cjs");
6
+ exports.ContractAPI = api_gen.ContractAPI;
7
+ exports.ProjectAPI = api_gen.ProjectAPI;
8
+ exports.marshalContractApiCheckContractSignatureRequest = marshalling_gen.marshalContractApiCheckContractSignatureRequest;
9
+ exports.marshalContractApiCreateContractSignatureRequest = marshalling_gen.marshalContractApiCreateContractSignatureRequest;
10
+ exports.marshalProjectApiCreateProjectRequest = marshalling_gen.marshalProjectApiCreateProjectRequest;
11
+ exports.marshalProjectApiSetProjectQualificationRequest = marshalling_gen.marshalProjectApiSetProjectQualificationRequest;
12
+ exports.marshalProjectApiUpdateProjectRequest = marshalling_gen.marshalProjectApiUpdateProjectRequest;
13
+ exports.unmarshalCheckContractSignatureResponse = marshalling_gen.unmarshalCheckContractSignatureResponse;
14
+ exports.unmarshalContractSignature = marshalling_gen.unmarshalContractSignature;
15
+ exports.unmarshalListContractSignaturesResponse = marshalling_gen.unmarshalListContractSignaturesResponse;
16
+ exports.unmarshalListProjectsResponse = marshalling_gen.unmarshalListProjectsResponse;
17
+ exports.unmarshalProject = marshalling_gen.unmarshalProject;
18
+ exports.unmarshalProjectQualification = marshalling_gen.unmarshalProjectQualification;
19
+ exports.ValidationRules = validationRules_gen;
@@ -0,0 +1,4 @@
1
+ export { ContractAPI, ProjectAPI, } from './api.gen';
2
+ export * from './marshalling.gen';
3
+ export type { CheckContractSignatureResponse, Contract, ContractApiCheckContractSignatureRequest, ContractApiCreateContractSignatureRequest, ContractApiDownloadContractSignatureRequest, ContractApiListContractSignaturesRequest, ContractApiValidateContractSignatureRequest, ContractSignature, ContractType, ListContractSignaturesRequestOrderBy, ListContractSignaturesResponse, ListProjectsRequestOrderBy, ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiDeleteProjectRequest, ProjectApiGetProjectRequest, ProjectApiListProjectsRequest, ProjectApiSetProjectQualificationRequest, ProjectApiUpdateProjectRequest, ProjectQualification, Qualification, QualificationAiMachine, QualificationAiMachineSubUseCase, QualificationArchitectureType, QualificationArchiveData, QualificationArchiveDataSubUseCase, QualificationContainer, QualificationContainerSubUseCase, QualificationDeploySoftware, QualificationDeploySoftwareSubUseCase, QualificationHostApplication, QualificationHostApplicationSubUseCase, QualificationHostWebsite, QualificationHostWebsiteSubUseCase, QualificationOtherUseCase, QualificationOtherUseCaseSubUseCase, QualificationSetScalewayEnvironment, QualificationSetScalewayEnvironmentSubUseCase, QualificationShareData, QualificationShareDataSubUseCase, } from './types.gen';
4
+ export * as ValidationRules from './validation-rules.gen';
@@ -0,0 +1,19 @@
1
+ import { ContractAPI, ProjectAPI } from "./api.gen.js";
2
+ import { marshalContractApiCheckContractSignatureRequest, marshalContractApiCreateContractSignatureRequest, marshalProjectApiCreateProjectRequest, marshalProjectApiSetProjectQualificationRequest, marshalProjectApiUpdateProjectRequest, unmarshalCheckContractSignatureResponse, unmarshalContractSignature, unmarshalListContractSignaturesResponse, unmarshalListProjectsResponse, unmarshalProject, unmarshalProjectQualification } from "./marshalling.gen.js";
3
+ import * as validationRules_gen from "./validation-rules.gen.js";
4
+ export {
5
+ ContractAPI,
6
+ ProjectAPI,
7
+ validationRules_gen as ValidationRules,
8
+ marshalContractApiCheckContractSignatureRequest,
9
+ marshalContractApiCreateContractSignatureRequest,
10
+ marshalProjectApiCreateProjectRequest,
11
+ marshalProjectApiSetProjectQualificationRequest,
12
+ marshalProjectApiUpdateProjectRequest,
13
+ unmarshalCheckContractSignatureResponse,
14
+ unmarshalContractSignature,
15
+ unmarshalListContractSignaturesResponse,
16
+ unmarshalListProjectsResponse,
17
+ unmarshalProject,
18
+ unmarshalProjectQualification
19
+ };
@@ -0,0 +1,314 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const randomName = require("@scaleway/random-name");
4
+ const sdkClient = require("@scaleway/sdk-client");
5
+ const unmarshalContract = (data) => {
6
+ if (!sdkClient.isJSONObject(data)) {
7
+ throw new TypeError(
8
+ `Unmarshalling the type 'Contract' failed as data isn't a dictionary.`
9
+ );
10
+ }
11
+ return {
12
+ createdAt: sdkClient.unmarshalDate(data.created_at),
13
+ id: data.id,
14
+ name: data.name,
15
+ type: data.type,
16
+ updatedAt: sdkClient.unmarshalDate(data.updated_at),
17
+ version: data.version
18
+ };
19
+ };
20
+ const unmarshalContractSignature = (data) => {
21
+ if (!sdkClient.isJSONObject(data)) {
22
+ throw new TypeError(
23
+ `Unmarshalling the type 'ContractSignature' failed as data isn't a dictionary.`
24
+ );
25
+ }
26
+ return {
27
+ contract: data.contract ? unmarshalContract(data.contract) : void 0,
28
+ createdAt: sdkClient.unmarshalDate(data.created_at),
29
+ expiresAt: sdkClient.unmarshalDate(data.expires_at),
30
+ id: data.id,
31
+ organizationId: data.organization_id,
32
+ signedAt: sdkClient.unmarshalDate(data.signed_at)
33
+ };
34
+ };
35
+ const unmarshalQualificationAiMachine = (data) => {
36
+ if (!sdkClient.isJSONObject(data)) {
37
+ throw new TypeError(
38
+ `Unmarshalling the type 'QualificationAiMachine' failed as data isn't a dictionary.`
39
+ );
40
+ }
41
+ return {
42
+ subUseCase: data.sub_use_case
43
+ };
44
+ };
45
+ const unmarshalQualificationArchiveData = (data) => {
46
+ if (!sdkClient.isJSONObject(data)) {
47
+ throw new TypeError(
48
+ `Unmarshalling the type 'QualificationArchiveData' failed as data isn't a dictionary.`
49
+ );
50
+ }
51
+ return {
52
+ subUseCase: data.sub_use_case
53
+ };
54
+ };
55
+ const unmarshalQualificationContainer = (data) => {
56
+ if (!sdkClient.isJSONObject(data)) {
57
+ throw new TypeError(
58
+ `Unmarshalling the type 'QualificationContainer' failed as data isn't a dictionary.`
59
+ );
60
+ }
61
+ return {
62
+ subUseCase: data.sub_use_case
63
+ };
64
+ };
65
+ const unmarshalQualificationDeploySoftware = (data) => {
66
+ if (!sdkClient.isJSONObject(data)) {
67
+ throw new TypeError(
68
+ `Unmarshalling the type 'QualificationDeploySoftware' failed as data isn't a dictionary.`
69
+ );
70
+ }
71
+ return {
72
+ subUseCase: data.sub_use_case
73
+ };
74
+ };
75
+ const unmarshalQualificationHostApplication = (data) => {
76
+ if (!sdkClient.isJSONObject(data)) {
77
+ throw new TypeError(
78
+ `Unmarshalling the type 'QualificationHostApplication' failed as data isn't a dictionary.`
79
+ );
80
+ }
81
+ return {
82
+ subUseCase: data.sub_use_case
83
+ };
84
+ };
85
+ const unmarshalQualificationHostWebsite = (data) => {
86
+ if (!sdkClient.isJSONObject(data)) {
87
+ throw new TypeError(
88
+ `Unmarshalling the type 'QualificationHostWebsite' failed as data isn't a dictionary.`
89
+ );
90
+ }
91
+ return {
92
+ subUseCase: data.sub_use_case
93
+ };
94
+ };
95
+ const unmarshalQualificationOtherUseCase = (data) => {
96
+ if (!sdkClient.isJSONObject(data)) {
97
+ throw new TypeError(
98
+ `Unmarshalling the type 'QualificationOtherUseCase' failed as data isn't a dictionary.`
99
+ );
100
+ }
101
+ return {
102
+ subUseCase: data.sub_use_case
103
+ };
104
+ };
105
+ const unmarshalQualificationSetScalewayEnvironment = (data) => {
106
+ if (!sdkClient.isJSONObject(data)) {
107
+ throw new TypeError(
108
+ `Unmarshalling the type 'QualificationSetScalewayEnvironment' failed as data isn't a dictionary.`
109
+ );
110
+ }
111
+ return {
112
+ subUseCase: data.sub_use_case
113
+ };
114
+ };
115
+ const unmarshalQualificationShareData = (data) => {
116
+ if (!sdkClient.isJSONObject(data)) {
117
+ throw new TypeError(
118
+ `Unmarshalling the type 'QualificationShareData' failed as data isn't a dictionary.`
119
+ );
120
+ }
121
+ return {
122
+ subUseCase: data.sub_use_case
123
+ };
124
+ };
125
+ const unmarshalQualification = (data) => {
126
+ if (!sdkClient.isJSONObject(data)) {
127
+ throw new TypeError(
128
+ `Unmarshalling the type 'Qualification' failed as data isn't a dictionary.`
129
+ );
130
+ }
131
+ return {
132
+ aiMachine: data.ai_machine ? unmarshalQualificationAiMachine(data.ai_machine) : void 0,
133
+ architectureType: data.architecture_type,
134
+ archiveData: data.archive_data ? unmarshalQualificationArchiveData(data.archive_data) : void 0,
135
+ container: data.container ? unmarshalQualificationContainer(data.container) : void 0,
136
+ deploySoftware: data.deploy_software ? unmarshalQualificationDeploySoftware(data.deploy_software) : void 0,
137
+ hostApplication: data.host_application ? unmarshalQualificationHostApplication(data.host_application) : void 0,
138
+ hostWebsite: data.host_website ? unmarshalQualificationHostWebsite(data.host_website) : void 0,
139
+ otherUseCase: data.other_use_case ? unmarshalQualificationOtherUseCase(data.other_use_case) : void 0,
140
+ setScalewayEnvironment: data.set_scaleway_environment ? unmarshalQualificationSetScalewayEnvironment(
141
+ data.set_scaleway_environment
142
+ ) : void 0,
143
+ shareData: data.share_data ? unmarshalQualificationShareData(data.share_data) : void 0
144
+ };
145
+ };
146
+ const unmarshalProject = (data) => {
147
+ if (!sdkClient.isJSONObject(data)) {
148
+ throw new TypeError(
149
+ `Unmarshalling the type 'Project' failed as data isn't a dictionary.`
150
+ );
151
+ }
152
+ return {
153
+ createdAt: sdkClient.unmarshalDate(data.created_at),
154
+ description: data.description,
155
+ id: data.id,
156
+ name: data.name,
157
+ organizationId: data.organization_id,
158
+ qualification: data.qualification ? unmarshalQualification(data.qualification) : void 0,
159
+ updatedAt: sdkClient.unmarshalDate(data.updated_at)
160
+ };
161
+ };
162
+ const unmarshalCheckContractSignatureResponse = (data) => {
163
+ if (!sdkClient.isJSONObject(data)) {
164
+ throw new TypeError(
165
+ `Unmarshalling the type 'CheckContractSignatureResponse' failed as data isn't a dictionary.`
166
+ );
167
+ }
168
+ return {
169
+ created: data.created,
170
+ validated: data.validated
171
+ };
172
+ };
173
+ const unmarshalListContractSignaturesResponse = (data) => {
174
+ if (!sdkClient.isJSONObject(data)) {
175
+ throw new TypeError(
176
+ `Unmarshalling the type 'ListContractSignaturesResponse' failed as data isn't a dictionary.`
177
+ );
178
+ }
179
+ return {
180
+ contractSignatures: sdkClient.unmarshalArrayOfObject(
181
+ data.contract_signatures,
182
+ unmarshalContractSignature
183
+ ),
184
+ totalCount: data.total_count
185
+ };
186
+ };
187
+ const unmarshalListProjectsResponse = (data) => {
188
+ if (!sdkClient.isJSONObject(data)) {
189
+ throw new TypeError(
190
+ `Unmarshalling the type 'ListProjectsResponse' failed as data isn't a dictionary.`
191
+ );
192
+ }
193
+ return {
194
+ projects: sdkClient.unmarshalArrayOfObject(data.projects, unmarshalProject),
195
+ totalCount: data.total_count
196
+ };
197
+ };
198
+ const unmarshalProjectQualification = (data) => {
199
+ if (!sdkClient.isJSONObject(data)) {
200
+ throw new TypeError(
201
+ `Unmarshalling the type 'ProjectQualification' failed as data isn't a dictionary.`
202
+ );
203
+ }
204
+ return {
205
+ projectId: data.project_id,
206
+ qualification: data.qualification ? unmarshalQualification(data.qualification) : void 0
207
+ };
208
+ };
209
+ const marshalContractApiCheckContractSignatureRequest = (request, defaults) => ({
210
+ contract_name: request.contractName,
211
+ contract_type: request.contractType,
212
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId
213
+ });
214
+ const marshalContractApiCreateContractSignatureRequest = (request, defaults) => ({
215
+ contract_name: request.contractName,
216
+ contract_type: request.contractType,
217
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId,
218
+ validated: request.validated
219
+ });
220
+ const marshalProjectApiCreateProjectRequest = (request, defaults) => ({
221
+ description: request.description,
222
+ name: request.name || randomName("proj"),
223
+ organization_id: request.organizationId ?? defaults.defaultOrganizationId
224
+ });
225
+ const marshalQualificationAiMachine = (request, defaults) => ({
226
+ sub_use_case: request.subUseCase
227
+ });
228
+ const marshalQualificationArchiveData = (request, defaults) => ({
229
+ sub_use_case: request.subUseCase
230
+ });
231
+ const marshalQualificationContainer = (request, defaults) => ({
232
+ sub_use_case: request.subUseCase
233
+ });
234
+ const marshalQualificationDeploySoftware = (request, defaults) => ({
235
+ sub_use_case: request.subUseCase
236
+ });
237
+ const marshalQualificationHostApplication = (request, defaults) => ({
238
+ sub_use_case: request.subUseCase
239
+ });
240
+ const marshalQualificationHostWebsite = (request, defaults) => ({
241
+ sub_use_case: request.subUseCase
242
+ });
243
+ const marshalQualificationOtherUseCase = (request, defaults) => ({
244
+ sub_use_case: request.subUseCase
245
+ });
246
+ const marshalQualificationSetScalewayEnvironment = (request, defaults) => ({
247
+ sub_use_case: request.subUseCase
248
+ });
249
+ const marshalQualificationShareData = (request, defaults) => ({
250
+ sub_use_case: request.subUseCase
251
+ });
252
+ const marshalQualification = (request, defaults) => ({
253
+ architecture_type: request.architectureType,
254
+ ...sdkClient.resolveOneOf([
255
+ {
256
+ param: "host_website",
257
+ value: request.hostWebsite !== void 0 ? marshalQualificationHostWebsite(request.hostWebsite) : void 0
258
+ },
259
+ {
260
+ param: "host_application",
261
+ value: request.hostApplication !== void 0 ? marshalQualificationHostApplication(
262
+ request.hostApplication
263
+ ) : void 0
264
+ },
265
+ {
266
+ param: "deploy_software",
267
+ value: request.deploySoftware !== void 0 ? marshalQualificationDeploySoftware(request.deploySoftware) : void 0
268
+ },
269
+ {
270
+ param: "set_scaleway_environment",
271
+ value: request.setScalewayEnvironment !== void 0 ? marshalQualificationSetScalewayEnvironment(
272
+ request.setScalewayEnvironment
273
+ ) : void 0
274
+ },
275
+ {
276
+ param: "ai_machine",
277
+ value: request.aiMachine !== void 0 ? marshalQualificationAiMachine(request.aiMachine) : void 0
278
+ },
279
+ {
280
+ param: "container",
281
+ value: request.container !== void 0 ? marshalQualificationContainer(request.container) : void 0
282
+ },
283
+ {
284
+ param: "archive_data",
285
+ value: request.archiveData !== void 0 ? marshalQualificationArchiveData(request.archiveData) : void 0
286
+ },
287
+ {
288
+ param: "share_data",
289
+ value: request.shareData !== void 0 ? marshalQualificationShareData(request.shareData) : void 0
290
+ },
291
+ {
292
+ param: "other_use_case",
293
+ value: request.otherUseCase !== void 0 ? marshalQualificationOtherUseCase(request.otherUseCase) : void 0
294
+ }
295
+ ])
296
+ });
297
+ const marshalProjectApiSetProjectQualificationRequest = (request, defaults) => ({
298
+ qualification: request.qualification !== void 0 ? marshalQualification(request.qualification) : void 0
299
+ });
300
+ const marshalProjectApiUpdateProjectRequest = (request, defaults) => ({
301
+ description: request.description,
302
+ name: request.name
303
+ });
304
+ exports.marshalContractApiCheckContractSignatureRequest = marshalContractApiCheckContractSignatureRequest;
305
+ exports.marshalContractApiCreateContractSignatureRequest = marshalContractApiCreateContractSignatureRequest;
306
+ exports.marshalProjectApiCreateProjectRequest = marshalProjectApiCreateProjectRequest;
307
+ exports.marshalProjectApiSetProjectQualificationRequest = marshalProjectApiSetProjectQualificationRequest;
308
+ exports.marshalProjectApiUpdateProjectRequest = marshalProjectApiUpdateProjectRequest;
309
+ exports.unmarshalCheckContractSignatureResponse = unmarshalCheckContractSignatureResponse;
310
+ exports.unmarshalContractSignature = unmarshalContractSignature;
311
+ exports.unmarshalListContractSignaturesResponse = unmarshalListContractSignaturesResponse;
312
+ exports.unmarshalListProjectsResponse = unmarshalListProjectsResponse;
313
+ exports.unmarshalProject = unmarshalProject;
314
+ exports.unmarshalProjectQualification = unmarshalProjectQualification;
@@ -0,0 +1,13 @@
1
+ import type { DefaultValues } from '@scaleway/sdk-client';
2
+ import type { CheckContractSignatureResponse, ContractApiCheckContractSignatureRequest, ContractApiCreateContractSignatureRequest, ContractSignature, ListContractSignaturesResponse, ListProjectsResponse, Project, ProjectApiCreateProjectRequest, ProjectApiSetProjectQualificationRequest, ProjectApiUpdateProjectRequest, ProjectQualification } from './types.gen';
3
+ export declare const unmarshalContractSignature: (data: unknown) => ContractSignature;
4
+ export declare const unmarshalProject: (data: unknown) => Project;
5
+ export declare const unmarshalCheckContractSignatureResponse: (data: unknown) => CheckContractSignatureResponse;
6
+ export declare const unmarshalListContractSignaturesResponse: (data: unknown) => ListContractSignaturesResponse;
7
+ export declare const unmarshalListProjectsResponse: (data: unknown) => ListProjectsResponse;
8
+ export declare const unmarshalProjectQualification: (data: unknown) => ProjectQualification;
9
+ export declare const marshalContractApiCheckContractSignatureRequest: (request: ContractApiCheckContractSignatureRequest, defaults: DefaultValues) => Record<string, unknown>;
10
+ export declare const marshalContractApiCreateContractSignatureRequest: (request: ContractApiCreateContractSignatureRequest, defaults: DefaultValues) => Record<string, unknown>;
11
+ export declare const marshalProjectApiCreateProjectRequest: (request: ProjectApiCreateProjectRequest, defaults: DefaultValues) => Record<string, unknown>;
12
+ export declare const marshalProjectApiSetProjectQualificationRequest: (request: ProjectApiSetProjectQualificationRequest, defaults: DefaultValues) => Record<string, unknown>;
13
+ export declare const marshalProjectApiUpdateProjectRequest: (request: ProjectApiUpdateProjectRequest, defaults: DefaultValues) => Record<string, unknown>;