tuix-timesheets-api 0.5.22 → 0.5.23

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.
@@ -16,8 +16,7 @@
16
16
  import * as runtime from '../runtime';
17
17
  import type {
18
18
  ClientDTO,
19
- Company,
20
- CreateCompanyDTO,
19
+ CompanyDTO,
21
20
  CreateSubscriptionDTO,
22
21
  EmailTemplates,
23
22
  ErrorDTO,
@@ -26,16 +25,14 @@ import type {
26
25
  SendNewsletterDto,
27
26
  Subscription,
28
27
  SubscriptionsSentResponseDto,
29
- UpdateCompanyDto,
28
+ UserDTO,
30
29
  UserDTOSc,
31
30
  } from '../models/index';
32
31
  import {
33
32
  ClientDTOFromJSON,
34
33
  ClientDTOToJSON,
35
- CompanyFromJSON,
36
- CompanyToJSON,
37
- CreateCompanyDTOFromJSON,
38
- CreateCompanyDTOToJSON,
34
+ CompanyDTOFromJSON,
35
+ CompanyDTOToJSON,
39
36
  CreateSubscriptionDTOFromJSON,
40
37
  CreateSubscriptionDTOToJSON,
41
38
  EmailTemplatesFromJSON,
@@ -52,47 +49,25 @@ import {
52
49
  SubscriptionToJSON,
53
50
  SubscriptionsSentResponseDtoFromJSON,
54
51
  SubscriptionsSentResponseDtoToJSON,
55
- UpdateCompanyDtoFromJSON,
56
- UpdateCompanyDtoToJSON,
52
+ UserDTOFromJSON,
53
+ UserDTOToJSON,
57
54
  UserDTOScFromJSON,
58
55
  UserDTOScToJSON,
59
56
  } from '../models/index';
60
57
 
61
- export interface CompaniesControllerAddUserToCompanyRequest {
58
+ export interface AddUserToCompanyRequest {
62
59
  id: string;
63
- body: object;
64
- }
65
-
66
- export interface CompaniesControllerCreateRequest {
67
- createCompanyDTO: CreateCompanyDTO;
68
- }
69
-
70
- export interface CompaniesControllerFindOneRequest {
71
- id: string;
72
- }
73
-
74
- export interface CompaniesControllerGetCompanyUsersRequest {
75
- id: string;
76
- }
77
-
78
- export interface CompaniesControllerRemoveRequest {
79
- id: string;
80
- }
81
-
82
- export interface CompaniesControllerRemoveUserFromCompanyRequest {
83
- id: string;
84
- userId: string;
85
- }
86
-
87
- export interface CompaniesControllerUpdateRequest {
88
- id: string;
89
- updateCompanyDto: UpdateCompanyDto;
60
+ userDTO: UserDTO;
90
61
  }
91
62
 
92
63
  export interface CreateClientRequest {
93
64
  clientDTO: ClientDTO;
94
65
  }
95
66
 
67
+ export interface CreateCompanyRequest {
68
+ companyDTO: CompanyDTO;
69
+ }
70
+
96
71
  export interface CreateSubscriptionRequest {
97
72
  createSubscriptionDTO: CreateSubscriptionDTO;
98
73
  }
@@ -105,6 +80,10 @@ export interface DeleteClientRequest {
105
80
  id: string;
106
81
  }
107
82
 
83
+ export interface DeleteCompanyRequest {
84
+ id: string;
85
+ }
86
+
108
87
  export interface DeleteSubscriptionRequest {
109
88
  id: string;
110
89
  }
@@ -117,6 +96,10 @@ export interface GetClientByIdRequest {
117
96
  id: string;
118
97
  }
119
98
 
99
+ export interface GetCompanyByIdRequest {
100
+ id: string;
101
+ }
102
+
120
103
  export interface GetTemplateByIdRequest {
121
104
  id: string;
122
105
  }
@@ -125,6 +108,11 @@ export interface GetTestUserByIdRequest {
125
108
  id: string;
126
109
  }
127
110
 
111
+ export interface RemoveUserFromCompanyRequest {
112
+ id: string;
113
+ userId: string;
114
+ }
115
+
128
116
  export interface SdkTestRequest {
129
117
  sDKTestRequestDTO: SDKTestRequestDTO;
130
118
  }
@@ -148,6 +136,11 @@ export interface UpdateClientRequest {
148
136
  clientDTO: ClientDTO;
149
137
  }
150
138
 
139
+ export interface UpdateCompanyRequest {
140
+ id: string;
141
+ companyDTO: CompanyDTO;
142
+ }
143
+
151
144
  export interface UpdateTestUserRequest {
152
145
  id: string;
153
146
  userDTOSc: UserDTOSc;
@@ -164,15 +157,16 @@ export interface UploadTemplateRequest {
164
157
  export class TuixTimesheetsClientApi extends runtime.BaseAPI {
165
158
 
166
159
  /**
160
+ * Add a user to a company
167
161
  * Add a user to a company
168
162
  */
169
- async companiesControllerAddUserToCompanyRaw(requestParameters: CompaniesControllerAddUserToCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
163
+ async addUserToCompanyRaw(requestParameters: AddUserToCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
170
164
  if (requestParameters.id === null || requestParameters.id === undefined) {
171
- throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling companiesControllerAddUserToCompany.');
165
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling addUserToCompany.');
172
166
  }
173
167
 
174
- if (requestParameters.body === null || requestParameters.body === undefined) {
175
- throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling companiesControllerAddUserToCompany.');
168
+ if (requestParameters.userDTO === null || requestParameters.userDTO === undefined) {
169
+ throw new runtime.RequiredError('userDTO','Required parameter requestParameters.userDTO was null or undefined when calling addUserToCompany.');
176
170
  }
177
171
 
178
172
  const queryParameters: any = {};
@@ -190,25 +184,26 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
190
184
  method: 'POST',
191
185
  headers: headerParameters,
192
186
  query: queryParameters,
193
- body: requestParameters.body as any,
187
+ body: UserDTOToJSON(requestParameters.userDTO),
194
188
  }, initOverrides);
195
189
 
196
190
  return new runtime.VoidApiResponse(response);
197
191
  }
198
192
 
199
193
  /**
194
+ * Add a user to a company
200
195
  * Add a user to a company
201
196
  */
202
- async companiesControllerAddUserToCompany(requestParameters: CompaniesControllerAddUserToCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
203
- await this.companiesControllerAddUserToCompanyRaw(requestParameters, initOverrides);
197
+ async addUserToCompany(requestParameters: AddUserToCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
198
+ await this.addUserToCompanyRaw(requestParameters, initOverrides);
204
199
  }
205
200
 
206
201
  /**
207
- * Creates a new company
202
+ * Create client
208
203
  */
209
- async companiesControllerCreateRaw(requestParameters: CompaniesControllerCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Company>> {
210
- if (requestParameters.createCompanyDTO === null || requestParameters.createCompanyDTO === undefined) {
211
- throw new runtime.RequiredError('createCompanyDTO','Required parameter requestParameters.createCompanyDTO was null or undefined when calling companiesControllerCreate.');
204
+ async createClientRaw(requestParameters: CreateClientRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClientDTO>> {
205
+ if (requestParameters.clientDTO === null || requestParameters.clientDTO === undefined) {
206
+ throw new runtime.RequiredError('clientDTO','Required parameter requestParameters.clientDTO was null or undefined when calling createClient.');
212
207
  }
213
208
 
214
209
  const queryParameters: any = {};
@@ -222,239 +217,31 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
222
217
  }
223
218
 
224
219
  const response = await this.request({
225
- path: `/companies`,
220
+ path: `/clients`,
226
221
  method: 'POST',
227
222
  headers: headerParameters,
228
223
  query: queryParameters,
229
- body: CreateCompanyDTOToJSON(requestParameters.createCompanyDTO),
230
- }, initOverrides);
231
-
232
- return new runtime.JSONApiResponse(response, (jsonValue) => CompanyFromJSON(jsonValue));
233
- }
234
-
235
- /**
236
- * Creates a new company
237
- */
238
- async companiesControllerCreate(requestParameters: CompaniesControllerCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Company> {
239
- const response = await this.companiesControllerCreateRaw(requestParameters, initOverrides);
240
- return await response.value();
241
- }
242
-
243
- /**
244
- * Get all companies
245
- */
246
- async companiesControllerFindAllRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Company>>> {
247
- const queryParameters: any = {};
248
-
249
- const headerParameters: runtime.HTTPHeaders = {};
250
-
251
- if (this.configuration && this.configuration.apiKey) {
252
- headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
253
- }
254
-
255
- const response = await this.request({
256
- path: `/companies`,
257
- method: 'GET',
258
- headers: headerParameters,
259
- query: queryParameters,
260
- }, initOverrides);
261
-
262
- return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CompanyFromJSON));
263
- }
264
-
265
- /**
266
- * Get all companies
267
- */
268
- async companiesControllerFindAll(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Company>> {
269
- const response = await this.companiesControllerFindAllRaw(initOverrides);
270
- return await response.value();
271
- }
272
-
273
- /**
274
- * Get a company by ID
275
- */
276
- async companiesControllerFindOneRaw(requestParameters: CompaniesControllerFindOneRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Company>> {
277
- if (requestParameters.id === null || requestParameters.id === undefined) {
278
- throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling companiesControllerFindOne.');
279
- }
280
-
281
- const queryParameters: any = {};
282
-
283
- const headerParameters: runtime.HTTPHeaders = {};
284
-
285
- if (this.configuration && this.configuration.apiKey) {
286
- headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
287
- }
288
-
289
- const response = await this.request({
290
- path: `/companies/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
291
- method: 'GET',
292
- headers: headerParameters,
293
- query: queryParameters,
294
- }, initOverrides);
295
-
296
- return new runtime.JSONApiResponse(response, (jsonValue) => CompanyFromJSON(jsonValue));
297
- }
298
-
299
- /**
300
- * Get a company by ID
301
- */
302
- async companiesControllerFindOne(requestParameters: CompaniesControllerFindOneRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Company> {
303
- const response = await this.companiesControllerFindOneRaw(requestParameters, initOverrides);
304
- return await response.value();
305
- }
306
-
307
- /**
308
- * Get all users from a company
309
- */
310
- async companiesControllerGetCompanyUsersRaw(requestParameters: CompaniesControllerGetCompanyUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<object>>> {
311
- if (requestParameters.id === null || requestParameters.id === undefined) {
312
- throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling companiesControllerGetCompanyUsers.');
313
- }
314
-
315
- const queryParameters: any = {};
316
-
317
- const headerParameters: runtime.HTTPHeaders = {};
318
-
319
- if (this.configuration && this.configuration.apiKey) {
320
- headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
321
- }
322
-
323
- const response = await this.request({
324
- path: `/companies/{id}/users`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
325
- method: 'GET',
326
- headers: headerParameters,
327
- query: queryParameters,
328
- }, initOverrides);
329
-
330
- return new runtime.JSONApiResponse<any>(response);
331
- }
332
-
333
- /**
334
- * Get all users from a company
335
- */
336
- async companiesControllerGetCompanyUsers(requestParameters: CompaniesControllerGetCompanyUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<object>> {
337
- const response = await this.companiesControllerGetCompanyUsersRaw(requestParameters, initOverrides);
338
- return await response.value();
339
- }
340
-
341
- /**
342
- * Delete a company by ID
343
- */
344
- async companiesControllerRemoveRaw(requestParameters: CompaniesControllerRemoveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
345
- if (requestParameters.id === null || requestParameters.id === undefined) {
346
- throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling companiesControllerRemove.');
347
- }
348
-
349
- const queryParameters: any = {};
350
-
351
- const headerParameters: runtime.HTTPHeaders = {};
352
-
353
- if (this.configuration && this.configuration.apiKey) {
354
- headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
355
- }
356
-
357
- const response = await this.request({
358
- path: `/companies/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
359
- method: 'DELETE',
360
- headers: headerParameters,
361
- query: queryParameters,
362
- }, initOverrides);
363
-
364
- return new runtime.VoidApiResponse(response);
365
- }
366
-
367
- /**
368
- * Delete a company by ID
369
- */
370
- async companiesControllerRemove(requestParameters: CompaniesControllerRemoveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
371
- await this.companiesControllerRemoveRaw(requestParameters, initOverrides);
372
- }
373
-
374
- /**
375
- * Remove a user from a company
376
- */
377
- async companiesControllerRemoveUserFromCompanyRaw(requestParameters: CompaniesControllerRemoveUserFromCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
378
- if (requestParameters.id === null || requestParameters.id === undefined) {
379
- throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling companiesControllerRemoveUserFromCompany.');
380
- }
381
-
382
- if (requestParameters.userId === null || requestParameters.userId === undefined) {
383
- throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling companiesControllerRemoveUserFromCompany.');
384
- }
385
-
386
- const queryParameters: any = {};
387
-
388
- const headerParameters: runtime.HTTPHeaders = {};
389
-
390
- if (this.configuration && this.configuration.apiKey) {
391
- headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
392
- }
393
-
394
- const response = await this.request({
395
- path: `/companies/{id}/{userId}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))),
396
- method: 'DELETE',
397
- headers: headerParameters,
398
- query: queryParameters,
399
- }, initOverrides);
400
-
401
- return new runtime.VoidApiResponse(response);
402
- }
403
-
404
- /**
405
- * Remove a user from a company
406
- */
407
- async companiesControllerRemoveUserFromCompany(requestParameters: CompaniesControllerRemoveUserFromCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
408
- await this.companiesControllerRemoveUserFromCompanyRaw(requestParameters, initOverrides);
409
- }
410
-
411
- /**
412
- * Update a company by ID
413
- */
414
- async companiesControllerUpdateRaw(requestParameters: CompaniesControllerUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Company>> {
415
- if (requestParameters.id === null || requestParameters.id === undefined) {
416
- throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling companiesControllerUpdate.');
417
- }
418
-
419
- if (requestParameters.updateCompanyDto === null || requestParameters.updateCompanyDto === undefined) {
420
- throw new runtime.RequiredError('updateCompanyDto','Required parameter requestParameters.updateCompanyDto was null or undefined when calling companiesControllerUpdate.');
421
- }
422
-
423
- const queryParameters: any = {};
424
-
425
- const headerParameters: runtime.HTTPHeaders = {};
426
-
427
- headerParameters['Content-Type'] = 'application/json';
428
-
429
- if (this.configuration && this.configuration.apiKey) {
430
- headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
431
- }
432
-
433
- const response = await this.request({
434
- path: `/companies/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
435
- method: 'PATCH',
436
- headers: headerParameters,
437
- query: queryParameters,
438
- body: UpdateCompanyDtoToJSON(requestParameters.updateCompanyDto),
224
+ body: ClientDTOToJSON(requestParameters.clientDTO),
439
225
  }, initOverrides);
440
226
 
441
- return new runtime.JSONApiResponse(response, (jsonValue) => CompanyFromJSON(jsonValue));
227
+ return new runtime.JSONApiResponse(response, (jsonValue) => ClientDTOFromJSON(jsonValue));
442
228
  }
443
229
 
444
230
  /**
445
- * Update a company by ID
231
+ * Create client
446
232
  */
447
- async companiesControllerUpdate(requestParameters: CompaniesControllerUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Company> {
448
- const response = await this.companiesControllerUpdateRaw(requestParameters, initOverrides);
233
+ async createClient(requestParameters: CreateClientRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClientDTO> {
234
+ const response = await this.createClientRaw(requestParameters, initOverrides);
449
235
  return await response.value();
450
236
  }
451
237
 
452
238
  /**
453
- * Create client
239
+ * Create a company
240
+ * Creates a new company
454
241
  */
455
- async createClientRaw(requestParameters: CreateClientRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ClientDTO>> {
456
- if (requestParameters.clientDTO === null || requestParameters.clientDTO === undefined) {
457
- throw new runtime.RequiredError('clientDTO','Required parameter requestParameters.clientDTO was null or undefined when calling createClient.');
242
+ async createCompanyRaw(requestParameters: CreateCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CompanyDTO>> {
243
+ if (requestParameters.companyDTO === null || requestParameters.companyDTO === undefined) {
244
+ throw new runtime.RequiredError('companyDTO','Required parameter requestParameters.companyDTO was null or undefined when calling createCompany.');
458
245
  }
459
246
 
460
247
  const queryParameters: any = {};
@@ -468,21 +255,22 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
468
255
  }
469
256
 
470
257
  const response = await this.request({
471
- path: `/clients`,
258
+ path: `/companies`,
472
259
  method: 'POST',
473
260
  headers: headerParameters,
474
261
  query: queryParameters,
475
- body: ClientDTOToJSON(requestParameters.clientDTO),
262
+ body: CompanyDTOToJSON(requestParameters.companyDTO),
476
263
  }, initOverrides);
477
264
 
478
- return new runtime.JSONApiResponse(response, (jsonValue) => ClientDTOFromJSON(jsonValue));
265
+ return new runtime.JSONApiResponse(response, (jsonValue) => CompanyDTOFromJSON(jsonValue));
479
266
  }
480
267
 
481
268
  /**
482
- * Create client
269
+ * Create a company
270
+ * Creates a new company
483
271
  */
484
- async createClient(requestParameters: CreateClientRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ClientDTO> {
485
- const response = await this.createClientRaw(requestParameters, initOverrides);
272
+ async createCompany(requestParameters: CreateCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CompanyDTO> {
273
+ const response = await this.createCompanyRaw(requestParameters, initOverrides);
486
274
  return await response.value();
487
275
  }
488
276
 
@@ -586,6 +374,41 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
586
374
  return await response.value();
587
375
  }
588
376
 
377
+ /**
378
+ * Delete a company
379
+ * delete a company
380
+ */
381
+ async deleteCompanyRaw(requestParameters: DeleteCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
382
+ if (requestParameters.id === null || requestParameters.id === undefined) {
383
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteCompany.');
384
+ }
385
+
386
+ const queryParameters: any = {};
387
+
388
+ const headerParameters: runtime.HTTPHeaders = {};
389
+
390
+ if (this.configuration && this.configuration.apiKey) {
391
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
392
+ }
393
+
394
+ const response = await this.request({
395
+ path: `/companies/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
396
+ method: 'DELETE',
397
+ headers: headerParameters,
398
+ query: queryParameters,
399
+ }, initOverrides);
400
+
401
+ return new runtime.VoidApiResponse(response);
402
+ }
403
+
404
+ /**
405
+ * Delete a company
406
+ * delete a company
407
+ */
408
+ async deleteCompany(requestParameters: DeleteCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
409
+ await this.deleteCompanyRaw(requestParameters, initOverrides);
410
+ }
411
+
589
412
  /**
590
413
  *
591
414
  */
@@ -708,6 +531,74 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
708
531
  return await response.value();
709
532
  }
710
533
 
534
+ /**
535
+ * Get all companies a user belongs to
536
+ * Get all companies a user belongs to
537
+ */
538
+ async getCompaniesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<CompanyDTO>>> {
539
+ const queryParameters: any = {};
540
+
541
+ const headerParameters: runtime.HTTPHeaders = {};
542
+
543
+ if (this.configuration && this.configuration.apiKey) {
544
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
545
+ }
546
+
547
+ const response = await this.request({
548
+ path: `/companies`,
549
+ method: 'GET',
550
+ headers: headerParameters,
551
+ query: queryParameters,
552
+ }, initOverrides);
553
+
554
+ return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CompanyDTOFromJSON));
555
+ }
556
+
557
+ /**
558
+ * Get all companies a user belongs to
559
+ * Get all companies a user belongs to
560
+ */
561
+ async getCompanies(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<CompanyDTO>> {
562
+ const response = await this.getCompaniesRaw(initOverrides);
563
+ return await response.value();
564
+ }
565
+
566
+ /**
567
+ * Get a company
568
+ * Get a company by ID
569
+ */
570
+ async getCompanyByIdRaw(requestParameters: GetCompanyByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CompanyDTO>> {
571
+ if (requestParameters.id === null || requestParameters.id === undefined) {
572
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getCompanyById.');
573
+ }
574
+
575
+ const queryParameters: any = {};
576
+
577
+ const headerParameters: runtime.HTTPHeaders = {};
578
+
579
+ if (this.configuration && this.configuration.apiKey) {
580
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
581
+ }
582
+
583
+ const response = await this.request({
584
+ path: `/companies/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
585
+ method: 'GET',
586
+ headers: headerParameters,
587
+ query: queryParameters,
588
+ }, initOverrides);
589
+
590
+ return new runtime.JSONApiResponse(response, (jsonValue) => CompanyDTOFromJSON(jsonValue));
591
+ }
592
+
593
+ /**
594
+ * Get a company
595
+ * Get a company by ID
596
+ */
597
+ async getCompanyById(requestParameters: GetCompanyByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CompanyDTO> {
598
+ const response = await this.getCompanyByIdRaw(requestParameters, initOverrides);
599
+ return await response.value();
600
+ }
601
+
711
602
  /**
712
603
  *
713
604
  */
@@ -850,6 +741,45 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
850
741
  return await response.value();
851
742
  }
852
743
 
744
+ /**
745
+ * Remove a user from a company
746
+ * Remove a user from a company
747
+ */
748
+ async removeUserFromCompanyRaw(requestParameters: RemoveUserFromCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
749
+ if (requestParameters.id === null || requestParameters.id === undefined) {
750
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removeUserFromCompany.');
751
+ }
752
+
753
+ if (requestParameters.userId === null || requestParameters.userId === undefined) {
754
+ throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling removeUserFromCompany.');
755
+ }
756
+
757
+ const queryParameters: any = {};
758
+
759
+ const headerParameters: runtime.HTTPHeaders = {};
760
+
761
+ if (this.configuration && this.configuration.apiKey) {
762
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
763
+ }
764
+
765
+ const response = await this.request({
766
+ path: `/companies/{id}/{userId}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))),
767
+ method: 'DELETE',
768
+ headers: headerParameters,
769
+ query: queryParameters,
770
+ }, initOverrides);
771
+
772
+ return new runtime.VoidApiResponse(response);
773
+ }
774
+
775
+ /**
776
+ * Remove a user from a company
777
+ * Remove a user from a company
778
+ */
779
+ async removeUserFromCompany(requestParameters: RemoveUserFromCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void> {
780
+ await this.removeUserFromCompanyRaw(requestParameters, initOverrides);
781
+ }
782
+
853
783
  /**
854
784
  *
855
785
  */
@@ -1043,6 +973,49 @@ export class TuixTimesheetsClientApi extends runtime.BaseAPI {
1043
973
  return await response.value();
1044
974
  }
1045
975
 
976
+ /**
977
+ * Update a company
978
+ * Update a company by ID
979
+ */
980
+ async updateCompanyRaw(requestParameters: UpdateCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CompanyDTO>> {
981
+ if (requestParameters.id === null || requestParameters.id === undefined) {
982
+ throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateCompany.');
983
+ }
984
+
985
+ if (requestParameters.companyDTO === null || requestParameters.companyDTO === undefined) {
986
+ throw new runtime.RequiredError('companyDTO','Required parameter requestParameters.companyDTO was null or undefined when calling updateCompany.');
987
+ }
988
+
989
+ const queryParameters: any = {};
990
+
991
+ const headerParameters: runtime.HTTPHeaders = {};
992
+
993
+ headerParameters['Content-Type'] = 'application/json';
994
+
995
+ if (this.configuration && this.configuration.apiKey) {
996
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // auth0Authorizer authentication
997
+ }
998
+
999
+ const response = await this.request({
1000
+ path: `/companies/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))),
1001
+ method: 'PATCH',
1002
+ headers: headerParameters,
1003
+ query: queryParameters,
1004
+ body: CompanyDTOToJSON(requestParameters.companyDTO),
1005
+ }, initOverrides);
1006
+
1007
+ return new runtime.JSONApiResponse(response, (jsonValue) => CompanyDTOFromJSON(jsonValue));
1008
+ }
1009
+
1010
+ /**
1011
+ * Update a company
1012
+ * Update a company by ID
1013
+ */
1014
+ async updateCompany(requestParameters: UpdateCompanyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CompanyDTO> {
1015
+ const response = await this.updateCompanyRaw(requestParameters, initOverrides);
1016
+ return await response.value();
1017
+ }
1018
+
1046
1019
  /**
1047
1020
  * Update user
1048
1021
  */