@snokam/platform-client 1.0.0 → 3.0.0

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.
@@ -30,6 +30,7 @@ import type {
30
30
  BusinessAccess,
31
31
  BusinessHealth,
32
32
  Capability,
33
+ ChooseProviderRequest,
33
34
  CreateApiTokenRequest,
34
35
  CreateUserRequest,
35
36
  CreatedApiToken,
@@ -81,6 +82,7 @@ import type {
81
82
  PowerOfficeProject,
82
83
  PowerOfficeProjectsResponse,
83
84
  ProtectedEmployee,
85
+ ProviderCatalogResponse,
84
86
  RecordImpersonationActivityRequest,
85
87
  RenameDeviceRequest,
86
88
  ResetConfirmRequest,
@@ -88,7 +90,6 @@ import type {
88
90
  RevokeRequest,
89
91
  ScopeDefinition,
90
92
  SessionBootstrapRequest,
91
- SetActiveProviderRequest,
92
93
  SetFacebookAccountRequest,
93
94
  SetGoogleAnalyticsPropertyRequest,
94
95
  SetPlatformSecretRequest,
@@ -152,6 +153,11 @@ export interface CheckPlatformIntegrationRequest {
152
153
  key: string;
153
154
  }
154
155
 
156
+ export interface ChooseProviderOperationRequest {
157
+ id: string;
158
+ chooseProviderRequest: ChooseProviderRequest;
159
+ }
160
+
155
161
  export interface ConnectTenantRequest {
156
162
  id: string;
157
163
  }
@@ -202,6 +208,11 @@ export interface DisableCredentialRequest {
202
208
  credentialId: string;
203
209
  }
204
210
 
211
+ export interface DisconnectIntegrationRequest {
212
+ id: string;
213
+ key: string;
214
+ }
215
+
205
216
  export interface EndImpersonationRequest {
206
217
  tokenId: string;
207
218
  }
@@ -510,11 +521,6 @@ export interface SetAccountingReinvoiceProductRequest {
510
521
  powerOfficeProduct: PowerOfficeProduct;
511
522
  }
512
523
 
513
- export interface SetActiveProviderOperationRequest {
514
- id: string;
515
- setActiveProviderRequest: SetActiveProviderRequest;
516
- }
517
-
518
524
  export interface SetBusinessEmployeePhotoRequest {
519
525
  id: string;
520
526
  employeeId: string;
@@ -978,6 +984,68 @@ export class PlatformClient extends runtime.BaseAPI {
978
984
  return await response.value();
979
985
  }
980
986
 
987
+ /**
988
+ * Creates request options for chooseProvider without sending the request
989
+ */
990
+ async chooseProviderRequestOpts(requestParameters: ChooseProviderOperationRequest): Promise<runtime.RequestOpts> {
991
+ if (requestParameters['id'] == null) {
992
+ throw new runtime.RequiredError(
993
+ 'id',
994
+ 'Required parameter "id" was null or undefined when calling chooseProvider().'
995
+ );
996
+ }
997
+
998
+ if (requestParameters['chooseProviderRequest'] == null) {
999
+ throw new runtime.RequiredError(
1000
+ 'chooseProviderRequest',
1001
+ 'Required parameter "chooseProviderRequest" was null or undefined when calling chooseProvider().'
1002
+ );
1003
+ }
1004
+
1005
+ const queryParameters: any = {};
1006
+
1007
+ const headerParameters: runtime.HTTPHeaders = {};
1008
+
1009
+ headerParameters['Content-Type'] = 'application/json';
1010
+
1011
+ if (this.configuration && this.configuration.accessToken) {
1012
+ // oauth required
1013
+ headerParameters["Authorization"] = await this.configuration.accessToken("Implicit", []);
1014
+ }
1015
+
1016
+
1017
+ let urlPath = `/v1.0/protected/businesses/{id}/integrations/chosen`;
1018
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1019
+
1020
+ return {
1021
+ path: urlPath,
1022
+ method: 'PUT',
1023
+ headers: headerParameters,
1024
+ query: queryParameters,
1025
+ body: requestParameters['chooseProviderRequest'],
1026
+ };
1027
+ }
1028
+
1029
+ /**
1030
+ * When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
1031
+ * Choose the active provider for a capability
1032
+ */
1033
+ async chooseProviderRaw(requestParameters: ChooseProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Business>> {
1034
+ const requestOptions = await this.chooseProviderRequestOpts(requestParameters);
1035
+ const response = await this.request(requestOptions, initOverrides);
1036
+
1037
+ return new runtime.JSONApiResponse(response);
1038
+ }
1039
+
1040
+ /**
1041
+ * When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
1042
+ * Choose the active provider for a capability
1043
+ */
1044
+ async chooseProvider(requestParameters: ChooseProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Business> {
1045
+ const response = await this.chooseProviderRaw(requestParameters, initOverrides);
1046
+ return await response.value();
1047
+ }
1048
+
981
1049
  /**
982
1050
  * Creates request options for connectTenant without sending the request
983
1051
  */
@@ -1593,6 +1661,66 @@ export class PlatformClient extends runtime.BaseAPI {
1593
1661
  await this.disableCredentialRaw(requestParameters, initOverrides);
1594
1662
  }
1595
1663
 
1664
+ /**
1665
+ * Creates request options for disconnectIntegration without sending the request
1666
+ */
1667
+ async disconnectIntegrationRequestOpts(requestParameters: DisconnectIntegrationRequest): Promise<runtime.RequestOpts> {
1668
+ if (requestParameters['id'] == null) {
1669
+ throw new runtime.RequiredError(
1670
+ 'id',
1671
+ 'Required parameter "id" was null or undefined when calling disconnectIntegration().'
1672
+ );
1673
+ }
1674
+
1675
+ if (requestParameters['key'] == null) {
1676
+ throw new runtime.RequiredError(
1677
+ 'key',
1678
+ 'Required parameter "key" was null or undefined when calling disconnectIntegration().'
1679
+ );
1680
+ }
1681
+
1682
+ const queryParameters: any = {};
1683
+
1684
+ const headerParameters: runtime.HTTPHeaders = {};
1685
+
1686
+ if (this.configuration && this.configuration.accessToken) {
1687
+ // oauth required
1688
+ headerParameters["Authorization"] = await this.configuration.accessToken("Implicit", []);
1689
+ }
1690
+
1691
+
1692
+ let urlPath = `/v1.0/protected/businesses/{id}/integrations/{key}`;
1693
+ urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
1694
+ urlPath = urlPath.replace('{key}', encodeURIComponent(String(requestParameters['key'])));
1695
+
1696
+ return {
1697
+ path: urlPath,
1698
+ method: 'DELETE',
1699
+ headers: headerParameters,
1700
+ query: queryParameters,
1701
+ };
1702
+ }
1703
+
1704
+ /**
1705
+ * Deletes every secret the integration stores for this business — including the OAuth refresh token and cached access token — and clears the capability\'s provider choice when it pointed at this integration. Settings such as base URLs are left alone.
1706
+ * Disconnect an integration
1707
+ */
1708
+ async disconnectIntegrationRaw(requestParameters: DisconnectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Business>> {
1709
+ const requestOptions = await this.disconnectIntegrationRequestOpts(requestParameters);
1710
+ const response = await this.request(requestOptions, initOverrides);
1711
+
1712
+ return new runtime.JSONApiResponse(response);
1713
+ }
1714
+
1715
+ /**
1716
+ * Deletes every secret the integration stores for this business — including the OAuth refresh token and cached access token — and clears the capability\'s provider choice when it pointed at this integration. Settings such as base URLs are left alone.
1717
+ * Disconnect an integration
1718
+ */
1719
+ async disconnectIntegration(requestParameters: DisconnectIntegrationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Business> {
1720
+ const response = await this.disconnectIntegrationRaw(requestParameters, initOverrides);
1721
+ return await response.value();
1722
+ }
1723
+
1596
1724
  /**
1597
1725
  * Creates request options for endImpersonation without sending the request
1598
1726
  */
@@ -2986,6 +3114,50 @@ export class PlatformClient extends runtime.BaseAPI {
2986
3114
  return await response.value();
2987
3115
  }
2988
3116
 
3117
+ /**
3118
+ * Creates request options for getProviderCatalog without sending the request
3119
+ */
3120
+ async getProviderCatalogRequestOpts(): Promise<runtime.RequestOpts> {
3121
+ const queryParameters: any = {};
3122
+
3123
+ const headerParameters: runtime.HTTPHeaders = {};
3124
+
3125
+ if (this.configuration && this.configuration.accessToken) {
3126
+ // oauth required
3127
+ headerParameters["Authorization"] = await this.configuration.accessToken("Implicit", []);
3128
+ }
3129
+
3130
+
3131
+ let urlPath = `/v1.0/protected/catalog/providers`;
3132
+
3133
+ return {
3134
+ path: urlPath,
3135
+ method: 'GET',
3136
+ headers: headerParameters,
3137
+ query: queryParameters,
3138
+ };
3139
+ }
3140
+
3141
+ /**
3142
+ * Returns the global, platform-owned provider brand catalog (key, capability, title, logo, description). Single source of truth for provider branding across tenants.
3143
+ * List provider brand catalog
3144
+ */
3145
+ async getProviderCatalogRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ProviderCatalogResponse>> {
3146
+ const requestOptions = await this.getProviderCatalogRequestOpts();
3147
+ const response = await this.request(requestOptions, initOverrides);
3148
+
3149
+ return new runtime.JSONApiResponse(response);
3150
+ }
3151
+
3152
+ /**
3153
+ * Returns the global, platform-owned provider brand catalog (key, capability, title, logo, description). Single source of truth for provider branding across tenants.
3154
+ * List provider brand catalog
3155
+ */
3156
+ async getProviderCatalog(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ProviderCatalogResponse> {
3157
+ const response = await this.getProviderCatalogRaw(initOverrides);
3158
+ return await response.value();
3159
+ }
3160
+
2989
3161
  /**
2990
3162
  * Creates request options for getProvisioningStatus without sending the request
2991
3163
  */
@@ -5786,8 +5958,8 @@ export class PlatformClient extends runtime.BaseAPI {
5786
5958
  }
5787
5959
 
5788
5960
  /**
5789
- * Returns the non-secret Sanity project id and dataset a studio should point at for the given host. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
5790
- * Resolve the Sanity Studio project/dataset for a host
5961
+ * Returns the non-secret Sanity project id and dataset a studio should point at for the given host, plus that tenant\'s frontend app URLs so document \'Vis side\' links resolve per tenant. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project and no app URLs. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
5962
+ * Resolve the Sanity Studio project/dataset and frontend URLs for a host
5791
5963
  */
5792
5964
  async resolveStudioSanityConfigRaw(requestParameters: ResolveStudioSanityConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StudioSanityConfig>> {
5793
5965
  const requestOptions = await this.resolveStudioSanityConfigRequestOpts(requestParameters);
@@ -5797,8 +5969,8 @@ export class PlatformClient extends runtime.BaseAPI {
5797
5969
  }
5798
5970
 
5799
5971
  /**
5800
- * Returns the non-secret Sanity project id and dataset a studio should point at for the given host. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
5801
- * Resolve the Sanity Studio project/dataset for a host
5972
+ * Returns the non-secret Sanity project id and dataset a studio should point at for the given host, plus that tenant\'s frontend app URLs so document \'Vis side\' links resolve per tenant. A tenant host returns that tenant\'s project; a host that belongs to no business (the platform host) returns the shared platform project and no app URLs. No read/write token is returned — the studio authenticates the user via Sanity login — so this is a public endpoint safe to call from a browser.
5973
+ * Resolve the Sanity Studio project/dataset and frontend URLs for a host
5802
5974
  */
5803
5975
  async resolveStudioSanityConfig(requestParameters: ResolveStudioSanityConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<StudioSanityConfig> {
5804
5976
  const response = await this.resolveStudioSanityConfigRaw(requestParameters, initOverrides);
@@ -6219,68 +6391,6 @@ export class PlatformClient extends runtime.BaseAPI {
6219
6391
  await this.setAccountingReinvoiceProductRaw(requestParameters, initOverrides);
6220
6392
  }
6221
6393
 
6222
- /**
6223
- * Creates request options for setActiveProvider without sending the request
6224
- */
6225
- async setActiveProviderRequestOpts(requestParameters: SetActiveProviderOperationRequest): Promise<runtime.RequestOpts> {
6226
- if (requestParameters['id'] == null) {
6227
- throw new runtime.RequiredError(
6228
- 'id',
6229
- 'Required parameter "id" was null or undefined when calling setActiveProvider().'
6230
- );
6231
- }
6232
-
6233
- if (requestParameters['setActiveProviderRequest'] == null) {
6234
- throw new runtime.RequiredError(
6235
- 'setActiveProviderRequest',
6236
- 'Required parameter "setActiveProviderRequest" was null or undefined when calling setActiveProvider().'
6237
- );
6238
- }
6239
-
6240
- const queryParameters: any = {};
6241
-
6242
- const headerParameters: runtime.HTTPHeaders = {};
6243
-
6244
- headerParameters['Content-Type'] = 'application/json';
6245
-
6246
- if (this.configuration && this.configuration.accessToken) {
6247
- // oauth required
6248
- headerParameters["Authorization"] = await this.configuration.accessToken("Implicit", []);
6249
- }
6250
-
6251
-
6252
- let urlPath = `/v1.0/protected/businesses/{id}/integrations/active`;
6253
- urlPath = urlPath.replace('{id}', encodeURIComponent(String(requestParameters['id'])));
6254
-
6255
- return {
6256
- path: urlPath,
6257
- method: 'PUT',
6258
- headers: headerParameters,
6259
- query: queryParameters,
6260
- body: requestParameters['setActiveProviderRequest'],
6261
- };
6262
- }
6263
-
6264
- /**
6265
- * When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
6266
- * Choose the active provider for a capability
6267
- */
6268
- async setActiveProviderRaw(requestParameters: SetActiveProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Business>> {
6269
- const requestOptions = await this.setActiveProviderRequestOpts(requestParameters);
6270
- const response = await this.request(requestOptions, initOverrides);
6271
-
6272
- return new runtime.JSONApiResponse(response);
6273
- }
6274
-
6275
- /**
6276
- * When a capability has several providers (e.g. PowerOffice vs Tripletex, Coinbase API-key vs OAuth), selects which one the business uses.
6277
- * Choose the active provider for a capability
6278
- */
6279
- async setActiveProvider(requestParameters: SetActiveProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Business> {
6280
- const response = await this.setActiveProviderRaw(requestParameters, initOverrides);
6281
- return await response.value();
6282
- }
6283
-
6284
6394
  /**
6285
6395
  * Creates request options for setBusinessEmployeePhoto without sending the request
6286
6396
  */
@@ -744,6 +744,12 @@ export interface BusinessConfig {
744
744
  * @memberof BusinessConfig
745
745
  */
746
746
  olafTeamsSettings?: OlafTeamsSettings;
747
+ /**
748
+ *
749
+ * @type {{ [key: string]: string; }}
750
+ * @memberof BusinessConfig
751
+ */
752
+ onboardingActivateUrlOverrides?: { [key: string]: string; } | null;
747
753
  /**
748
754
  *
749
755
  * @type {string}
@@ -948,6 +954,25 @@ export interface Capability {
948
954
  */
949
955
  platformProvided?: boolean | null;
950
956
  }
957
+ /**
958
+ *
959
+ * @export
960
+ * @interface ChooseProviderRequest
961
+ */
962
+ export interface ChooseProviderRequest {
963
+ /**
964
+ *
965
+ * @type {string}
966
+ * @memberof ChooseProviderRequest
967
+ */
968
+ capability?: string | null;
969
+ /**
970
+ *
971
+ * @type {string}
972
+ * @memberof ChooseProviderRequest
973
+ */
974
+ integrationKey?: string | null;
975
+ }
951
976
  /**
952
977
  *
953
978
  * @export
@@ -2201,19 +2226,25 @@ export interface IntegrationSummary {
2201
2226
  * @type {boolean}
2202
2227
  * @memberof IntegrationSummary
2203
2228
  */
2204
- isActive?: boolean | null;
2229
+ isConfigured?: boolean | null;
2205
2230
  /**
2206
2231
  *
2207
2232
  * @type {boolean}
2208
2233
  * @memberof IntegrationSummary
2209
2234
  */
2210
- isConfigured?: boolean | null;
2235
+ isInUse?: boolean | null;
2211
2236
  /**
2212
2237
  *
2213
2238
  * @type {string}
2214
2239
  * @memberof IntegrationSummary
2215
2240
  */
2216
2241
  key?: string | null;
2242
+ /**
2243
+ *
2244
+ * @type {string}
2245
+ * @memberof IntegrationSummary
2246
+ */
2247
+ logoUrl?: string | null;
2217
2248
  /**
2218
2249
  *
2219
2250
  * @type {Array<string>}
@@ -4281,6 +4312,56 @@ export const ProtectedEmployeeSanityTypeEnum = {
4281
4312
  } as const;
4282
4313
  export type ProtectedEmployeeSanityTypeEnum = typeof ProtectedEmployeeSanityTypeEnum[keyof typeof ProtectedEmployeeSanityTypeEnum];
4283
4314
 
4315
+ /**
4316
+ *
4317
+ * @export
4318
+ * @interface ProviderCatalogEntry
4319
+ */
4320
+ export interface ProviderCatalogEntry {
4321
+ /**
4322
+ *
4323
+ * @type {string}
4324
+ * @memberof ProviderCatalogEntry
4325
+ */
4326
+ capability?: string | null;
4327
+ /**
4328
+ *
4329
+ * @type {string}
4330
+ * @memberof ProviderCatalogEntry
4331
+ */
4332
+ description?: string | null;
4333
+ /**
4334
+ *
4335
+ * @type {string}
4336
+ * @memberof ProviderCatalogEntry
4337
+ */
4338
+ key?: string | null;
4339
+ /**
4340
+ *
4341
+ * @type {string}
4342
+ * @memberof ProviderCatalogEntry
4343
+ */
4344
+ logoUrl?: string | null;
4345
+ /**
4346
+ *
4347
+ * @type {string}
4348
+ * @memberof ProviderCatalogEntry
4349
+ */
4350
+ title?: string | null;
4351
+ }
4352
+ /**
4353
+ *
4354
+ * @export
4355
+ * @interface ProviderCatalogResponse
4356
+ */
4357
+ export interface ProviderCatalogResponse {
4358
+ /**
4359
+ *
4360
+ * @type {Array<ProviderCatalogEntry>}
4361
+ * @memberof ProviderCatalogResponse
4362
+ */
4363
+ providers?: Array<ProviderCatalogEntry> | null;
4364
+ }
4284
4365
  /**
4285
4366
  *
4286
4367
  * @export
@@ -5548,25 +5629,6 @@ export interface SessionBootstrapRequest {
5548
5629
  */
5549
5630
  bootstrapToken?: string | null;
5550
5631
  }
5551
- /**
5552
- *
5553
- * @export
5554
- * @interface SetActiveProviderRequest
5555
- */
5556
- export interface SetActiveProviderRequest {
5557
- /**
5558
- *
5559
- * @type {string}
5560
- * @memberof SetActiveProviderRequest
5561
- */
5562
- capability?: string | null;
5563
- /**
5564
- *
5565
- * @type {string}
5566
- * @memberof SetActiveProviderRequest
5567
- */
5568
- integrationKey?: string | null;
5569
- }
5570
5632
  /**
5571
5633
  *
5572
5634
  * @export
@@ -5902,6 +5964,12 @@ export interface StartImpersonationResult {
5902
5964
  * @interface StudioSanityConfig
5903
5965
  */
5904
5966
  export interface StudioSanityConfig {
5967
+ /**
5968
+ *
5969
+ * @type {{ [key: string]: string; }}
5970
+ * @memberof StudioSanityConfig
5971
+ */
5972
+ appUrls?: { [key: string]: string; } | null;
5905
5973
  /**
5906
5974
  *
5907
5975
  * @type {string}
@@ -6093,6 +6161,12 @@ export interface TenantInfo {
6093
6161
  * @memberof TenantInfo
6094
6162
  */
6095
6163
  keyVaultName?: string | null;
6164
+ /**
6165
+ *
6166
+ * @type {{ [key: string]: string; }}
6167
+ * @memberof TenantInfo
6168
+ */
6169
+ onboardingActivateUrlOverrides?: { [key: string]: string; } | null;
6096
6170
  /**
6097
6171
  *
6098
6172
  * @type {string}