@flowcore/sdk 1.60.2 → 1.62.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.
- package/CHANGELOG.md +16 -0
- package/esm/commands/index.d.ts +2 -0
- package/esm/commands/index.d.ts.map +1 -1
- package/esm/commands/index.js +2 -0
- package/esm/commands/tenant/tenant.create.d.ts +43 -0
- package/esm/commands/tenant/tenant.create.d.ts.map +1 -0
- package/esm/commands/tenant/tenant.create.js +69 -0
- package/esm/commands/tenant/tenant.update.d.ts +46 -0
- package/esm/commands/tenant/tenant.update.d.ts.map +1 -0
- package/esm/commands/tenant/tenant.update.js +77 -0
- package/package.json +1 -1
- package/script/commands/index.d.ts +2 -0
- package/script/commands/index.d.ts.map +1 -1
- package/script/commands/index.js +2 -0
- package/script/commands/tenant/tenant.create.d.ts +43 -0
- package/script/commands/tenant/tenant.create.d.ts.map +1 -0
- package/script/commands/tenant/tenant.create.js +73 -0
- package/script/commands/tenant/tenant.update.d.ts +46 -0
- package/script/commands/tenant/tenant.update.d.ts.map +1 -0
- package/script/commands/tenant/tenant.update.js +81 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.62.0](https://github.com/flowcore-io/flowcore-sdk/compare/v1.61.0...v1.62.0) (2025-12-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add tenant creation command to manage tenant lifecycle ([0da5d80](https://github.com/flowcore-io/flowcore-sdk/commit/0da5d80c2da949c7cf8dcc703deb99496ad17d97))
|
|
9
|
+
* add tenant creation command to manage tenant lifecycle ([05d3972](https://github.com/flowcore-io/flowcore-sdk/commit/05d3972a160e74d95baafd4e8c7016c46604039e))
|
|
10
|
+
|
|
11
|
+
## [1.61.0](https://github.com/flowcore-io/flowcore-sdk/compare/v1.60.2...v1.61.0) (2025-12-05)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* add tenant update command to manage tenant details ([2520980](https://github.com/flowcore-io/flowcore-sdk/commit/2520980ddbe82da0fb5ad367270795911b46d684))
|
|
17
|
+
* add tenant update command to manage tenant details ([e4b358a](https://github.com/flowcore-io/flowcore-sdk/commit/e4b358add6a7c7321024c4dcc1d469fc5e2aa6d8))
|
|
18
|
+
|
|
3
19
|
## [1.60.2](https://github.com/flowcore-io/flowcore-sdk/compare/v1.60.1...v1.60.2) (2025-12-03)
|
|
4
20
|
|
|
5
21
|
|
package/esm/commands/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from "./tenant/tenant.disable-sensitive-data.js";
|
|
2
2
|
export * from "./tenant/tenant.enable-sensitive-data.js";
|
|
3
|
+
export * from "./tenant/tenant.create.js";
|
|
3
4
|
export * from "./tenant/tenant.fetch.js";
|
|
4
5
|
export * from "./tenant/tenant.list.js";
|
|
6
|
+
export * from "./tenant/tenant.update.js";
|
|
5
7
|
export * from "./tenant/tenant.user-add.js";
|
|
6
8
|
export * from "./tenant/tenant.user-remove.js";
|
|
7
9
|
export * from "./tenant/tenant.user-list.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,2CAA2C,CAAA;AACzD,cAAc,0CAA0C,CAAA;AACxD,cAAc,0BAA0B,CAAA;AACxC,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yCAAyC,CAAA;AAGvD,cAAc,4BAA4B,CAAA;AAG1C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AACzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,2BAA2B,CAAA;AAGzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AAGvC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAG3C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAG/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,gCAAgC,CAAA;AAC9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yCAAyC,CAAA;AACvD,cAAc,iCAAiC,CAAA;AAG/C,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,wDAAwD,CAAA;AACtE,cAAc,iCAAiC,CAAA;AAC/C,cAAc,kDAAkD,CAAA;AAChE,cAAc,2CAA2C,CAAA;AACzD,cAAc,6CAA6C,CAAA;AAC3D,cAAc,mCAAmC,CAAA;AAGjD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAG3C,cAAc,wBAAwB,CAAA;AACtC,cAAc,gDAAgD,CAAA;AAC9D,cAAc,0BAA0B,CAAA;AACxC,cAAc,8BAA8B,CAAA;AAG5C,cAAc,mDAAmD,CAAA;AACjE,cAAc,mDAAmD,CAAA;AACjE,cAAc,kDAAkD,CAAA;AAChE,cAAc,iDAAiD,CAAA;AAC/D,cAAc,mDAAmD,CAAA;AAGjE,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gCAAgC,CAAA;AAG9C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAG7C,cAAc,6CAA6C,CAAA;AAC3D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,2CAA2C,CAAA;AACzD,cAAc,0DAA0D,CAAA;AACxE,cAAc,sDAAsD,CAAA;AAGpE,cAAc,2CAA2C,CAAA;AAEzD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,qCAAqC,CAAA;AACnD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAElD,cAAc,+CAA+C,CAAA;AAC7D,cAAc,wDAAwD,CAAA;AACtE,cAAc,sDAAsD,CAAA;AACpE,cAAc,gDAAgD,CAAA;AAC9D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,8CAA8C,CAAA;AAC5D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,+CAA+C,CAAA;AAC7D,cAAc,gDAAgD,CAAA;AAC9D,cAAc,iDAAiD,CAAA;AAC/D,cAAc,iDAAiD,CAAA;AAE/D,cAAc,0CAA0C,CAAA;AACxD,cAAc,mDAAmD,CAAA;AACjE,cAAc,kDAAkD,CAAA;AAChE,cAAc,2CAA2C,CAAA;AACzD,cAAc,0CAA0C,CAAA;AACxD,cAAc,2CAA2C,CAAA;AACzD,cAAc,4CAA4C,CAAA;AAC1D,cAAc,6CAA6C,CAAA;AAE3D,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,+BAA+B,CAAA;AAE7C,cAAc,gDAAgD,CAAA;AAE9D,cAAc,gCAAgC,CAAA;AAC9C,cAAc,iCAAiC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/esm/commands/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
// Tenant
|
|
2
2
|
export * from "./tenant/tenant.disable-sensitive-data.js";
|
|
3
3
|
export * from "./tenant/tenant.enable-sensitive-data.js";
|
|
4
|
+
export * from "./tenant/tenant.create.js";
|
|
4
5
|
export * from "./tenant/tenant.fetch.js";
|
|
5
6
|
export * from "./tenant/tenant.list.js";
|
|
7
|
+
export * from "./tenant/tenant.update.js";
|
|
6
8
|
export * from "./tenant/tenant.user-add.js";
|
|
7
9
|
export * from "./tenant/tenant.user-remove.js";
|
|
8
10
|
export * from "./tenant/tenant.user-list.js";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type Tenant } from "../../contracts/tenant.js";
|
|
3
|
+
/**
|
|
4
|
+
* The input for the tenant create command
|
|
5
|
+
*/
|
|
6
|
+
export interface TenantCreateInput {
|
|
7
|
+
/** The tenant slug (already normalized, lowercase, URL-safe) */
|
|
8
|
+
tenantSlug: string;
|
|
9
|
+
/** The description of the tenant */
|
|
10
|
+
description?: string;
|
|
11
|
+
/** The display name of the tenant */
|
|
12
|
+
displayName?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Create a tenant
|
|
16
|
+
*/
|
|
17
|
+
export declare class TenantCreateCommand extends Command<TenantCreateInput, Tenant> {
|
|
18
|
+
/**
|
|
19
|
+
* Whether the command should retry on failure
|
|
20
|
+
*/
|
|
21
|
+
protected retryOnFailure: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get the method
|
|
24
|
+
*/
|
|
25
|
+
protected getMethod(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get the base url
|
|
28
|
+
*/
|
|
29
|
+
protected getBaseUrl(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get the path
|
|
32
|
+
*/
|
|
33
|
+
protected getPath(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get the body for the request
|
|
36
|
+
*/
|
|
37
|
+
protected getBody(): Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* Parse the response
|
|
40
|
+
*/
|
|
41
|
+
protected parseResponse(rawResponse: unknown): Tenant;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=tenant.create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant.create.d.ts","sourceRoot":"","sources":["../../../src/commands/tenant/tenant.create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,2BAA2B,CAAA;AAGrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAuBD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACzE;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;CAI/D"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { Command } from "../../common/command.js";
|
|
3
|
+
import { TenantSchema } from "../../contracts/tenant.js";
|
|
4
|
+
import { parseResponseHelper } from "../../utils/parse-response-helper.js";
|
|
5
|
+
/**
|
|
6
|
+
* Response schema for the tenant create command
|
|
7
|
+
*/
|
|
8
|
+
const responseSchema = Type.Object({
|
|
9
|
+
...TenantSchema.properties,
|
|
10
|
+
dedicated: Type.Union([
|
|
11
|
+
Type.Null(),
|
|
12
|
+
Type.Object({
|
|
13
|
+
// parse as string to avoid SDK failures if new statuses are added
|
|
14
|
+
status: Type.String(),
|
|
15
|
+
configuration: Type.Object({
|
|
16
|
+
domain: Type.String(),
|
|
17
|
+
configurationRepoUrl: Type.String(),
|
|
18
|
+
configurationRepoCredentials: Type.String(),
|
|
19
|
+
}),
|
|
20
|
+
}),
|
|
21
|
+
]),
|
|
22
|
+
configured: Type.Boolean(),
|
|
23
|
+
sensitiveDataEnabled: Type.Boolean(),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Create a tenant
|
|
27
|
+
*/
|
|
28
|
+
export class TenantCreateCommand extends Command {
|
|
29
|
+
/**
|
|
30
|
+
* Whether the command should retry on failure
|
|
31
|
+
*/
|
|
32
|
+
retryOnFailure = false;
|
|
33
|
+
/**
|
|
34
|
+
* Get the method
|
|
35
|
+
*/
|
|
36
|
+
getMethod() {
|
|
37
|
+
return "POST";
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Get the base url
|
|
41
|
+
*/
|
|
42
|
+
getBaseUrl() {
|
|
43
|
+
return "https://tenant.api.flowcore.io";
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get the path
|
|
47
|
+
*/
|
|
48
|
+
getPath() {
|
|
49
|
+
return `/api/v1/tenants`;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get the body for the request
|
|
53
|
+
*/
|
|
54
|
+
getBody() {
|
|
55
|
+
const { tenantSlug, description, displayName } = this.input;
|
|
56
|
+
return {
|
|
57
|
+
tenant_slug: tenantSlug,
|
|
58
|
+
...(description !== undefined && { description }),
|
|
59
|
+
...(displayName !== undefined && { displayName }),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Parse the response
|
|
64
|
+
*/
|
|
65
|
+
parseResponse(rawResponse) {
|
|
66
|
+
const response = parseResponseHelper(responseSchema, rawResponse);
|
|
67
|
+
return response;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type Tenant } from "../../contracts/tenant.js";
|
|
3
|
+
import type { ClientError } from "../../exceptions/client-error.js";
|
|
4
|
+
/**
|
|
5
|
+
* The input for the tenant update command
|
|
6
|
+
*/
|
|
7
|
+
export interface TenantUpdateInput {
|
|
8
|
+
/** The id of the tenant to update */
|
|
9
|
+
tenantId: string;
|
|
10
|
+
/** The description of the tenant */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** The display name of the tenant */
|
|
13
|
+
displayName?: string;
|
|
14
|
+
/** The website URL of the tenant */
|
|
15
|
+
website?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Update a tenant
|
|
19
|
+
*/
|
|
20
|
+
export declare class TenantUpdateCommand extends Command<TenantUpdateInput, Tenant> {
|
|
21
|
+
/**
|
|
22
|
+
* Get the method
|
|
23
|
+
*/
|
|
24
|
+
protected getMethod(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Get the base url
|
|
27
|
+
*/
|
|
28
|
+
protected getBaseUrl(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Get the path
|
|
31
|
+
*/
|
|
32
|
+
protected getPath(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get the body for the request
|
|
35
|
+
*/
|
|
36
|
+
protected getBody(): Record<string, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse the response
|
|
39
|
+
*/
|
|
40
|
+
protected parseResponse(rawResponse: unknown): Tenant;
|
|
41
|
+
/**
|
|
42
|
+
* Handle the client error
|
|
43
|
+
*/
|
|
44
|
+
protected handleClientError(error: ClientError): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=tenant.update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant.update.d.ts","sourceRoot":"","sources":["../../../src/commands/tenant/tenant.update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAKnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAuBD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACzE;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAerD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;IAK9D;;OAEG;cACgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAM/D"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { Command } from "../../common/command.js";
|
|
3
|
+
import { TenantSchema } from "../../contracts/tenant.js";
|
|
4
|
+
import { CommandError } from "../../exceptions/command-error.js";
|
|
5
|
+
import { NotFoundException } from "../../exceptions/not-found.js";
|
|
6
|
+
import { parseResponseHelper } from "../../utils/parse-response-helper.js";
|
|
7
|
+
/**
|
|
8
|
+
* The response schema for the tenant update command
|
|
9
|
+
*/
|
|
10
|
+
const responseSchema = Type.Object({
|
|
11
|
+
...TenantSchema.properties,
|
|
12
|
+
dedicated: Type.Union([
|
|
13
|
+
Type.Null(),
|
|
14
|
+
Type.Object({
|
|
15
|
+
// parse as string to prevent sdk to fail when new status are added
|
|
16
|
+
status: Type.String(),
|
|
17
|
+
configuration: Type.Object({
|
|
18
|
+
domain: Type.String(),
|
|
19
|
+
configurationRepoUrl: Type.String(),
|
|
20
|
+
configurationRepoCredentials: Type.String(),
|
|
21
|
+
}),
|
|
22
|
+
}),
|
|
23
|
+
]),
|
|
24
|
+
configured: Type.Boolean(),
|
|
25
|
+
sensitiveDataEnabled: Type.Boolean(),
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Update a tenant
|
|
29
|
+
*/
|
|
30
|
+
export class TenantUpdateCommand extends Command {
|
|
31
|
+
/**
|
|
32
|
+
* Get the method
|
|
33
|
+
*/
|
|
34
|
+
getMethod() {
|
|
35
|
+
return "PATCH";
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get the base url
|
|
39
|
+
*/
|
|
40
|
+
getBaseUrl() {
|
|
41
|
+
return "https://tenant.api.flowcore.io";
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Get the path
|
|
45
|
+
*/
|
|
46
|
+
getPath() {
|
|
47
|
+
return `/api/v1/tenants/${this.input.tenantId}`;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Get the body for the request
|
|
51
|
+
*/
|
|
52
|
+
getBody() {
|
|
53
|
+
const { tenantId: _tenantId, ...payload } = this.input;
|
|
54
|
+
// Check if there are any fields to update
|
|
55
|
+
const updateFields = Object.fromEntries(Object.entries(payload).filter(([_, value]) => value !== undefined));
|
|
56
|
+
if (Object.keys(updateFields).length === 0) {
|
|
57
|
+
throw new CommandError(this.constructor.name, "No fields to update");
|
|
58
|
+
}
|
|
59
|
+
return updateFields;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Parse the response
|
|
63
|
+
*/
|
|
64
|
+
parseResponse(rawResponse) {
|
|
65
|
+
const response = parseResponseHelper(responseSchema, rawResponse);
|
|
66
|
+
return response;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Handle the client error
|
|
70
|
+
*/
|
|
71
|
+
handleClientError(error) {
|
|
72
|
+
if (error.status === 404) {
|
|
73
|
+
throw new NotFoundException("Tenant", { id: this.input.tenantId });
|
|
74
|
+
}
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export * from "./tenant/tenant.disable-sensitive-data.js";
|
|
2
2
|
export * from "./tenant/tenant.enable-sensitive-data.js";
|
|
3
|
+
export * from "./tenant/tenant.create.js";
|
|
3
4
|
export * from "./tenant/tenant.fetch.js";
|
|
4
5
|
export * from "./tenant/tenant.list.js";
|
|
6
|
+
export * from "./tenant/tenant.update.js";
|
|
5
7
|
export * from "./tenant/tenant.user-add.js";
|
|
6
8
|
export * from "./tenant/tenant.user-remove.js";
|
|
7
9
|
export * from "./tenant/tenant.user-list.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
|
package/script/commands/index.js
CHANGED
|
@@ -17,8 +17,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
// Tenant
|
|
18
18
|
__exportStar(require("./tenant/tenant.disable-sensitive-data.js"), exports);
|
|
19
19
|
__exportStar(require("./tenant/tenant.enable-sensitive-data.js"), exports);
|
|
20
|
+
__exportStar(require("./tenant/tenant.create.js"), exports);
|
|
20
21
|
__exportStar(require("./tenant/tenant.fetch.js"), exports);
|
|
21
22
|
__exportStar(require("./tenant/tenant.list.js"), exports);
|
|
23
|
+
__exportStar(require("./tenant/tenant.update.js"), exports);
|
|
22
24
|
__exportStar(require("./tenant/tenant.user-add.js"), exports);
|
|
23
25
|
__exportStar(require("./tenant/tenant.user-remove.js"), exports);
|
|
24
26
|
__exportStar(require("./tenant/tenant.user-list.js"), exports);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type Tenant } from "../../contracts/tenant.js";
|
|
3
|
+
/**
|
|
4
|
+
* The input for the tenant create command
|
|
5
|
+
*/
|
|
6
|
+
export interface TenantCreateInput {
|
|
7
|
+
/** The tenant slug (already normalized, lowercase, URL-safe) */
|
|
8
|
+
tenantSlug: string;
|
|
9
|
+
/** The description of the tenant */
|
|
10
|
+
description?: string;
|
|
11
|
+
/** The display name of the tenant */
|
|
12
|
+
displayName?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Create a tenant
|
|
16
|
+
*/
|
|
17
|
+
export declare class TenantCreateCommand extends Command<TenantCreateInput, Tenant> {
|
|
18
|
+
/**
|
|
19
|
+
* Whether the command should retry on failure
|
|
20
|
+
*/
|
|
21
|
+
protected retryOnFailure: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get the method
|
|
24
|
+
*/
|
|
25
|
+
protected getMethod(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get the base url
|
|
28
|
+
*/
|
|
29
|
+
protected getBaseUrl(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get the path
|
|
32
|
+
*/
|
|
33
|
+
protected getPath(): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get the body for the request
|
|
36
|
+
*/
|
|
37
|
+
protected getBody(): Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* Parse the response
|
|
40
|
+
*/
|
|
41
|
+
protected parseResponse(rawResponse: unknown): Tenant;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=tenant.create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant.create.d.ts","sourceRoot":"","sources":["../../../src/commands/tenant/tenant.create.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,2BAA2B,CAAA;AAGrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAuBD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACzE;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAUrD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;CAI/D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantCreateCommand = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const command_js_1 = require("../../common/command.js");
|
|
6
|
+
const tenant_js_1 = require("../../contracts/tenant.js");
|
|
7
|
+
const parse_response_helper_js_1 = require("../../utils/parse-response-helper.js");
|
|
8
|
+
/**
|
|
9
|
+
* Response schema for the tenant create command
|
|
10
|
+
*/
|
|
11
|
+
const responseSchema = typebox_1.Type.Object({
|
|
12
|
+
...tenant_js_1.TenantSchema.properties,
|
|
13
|
+
dedicated: typebox_1.Type.Union([
|
|
14
|
+
typebox_1.Type.Null(),
|
|
15
|
+
typebox_1.Type.Object({
|
|
16
|
+
// parse as string to avoid SDK failures if new statuses are added
|
|
17
|
+
status: typebox_1.Type.String(),
|
|
18
|
+
configuration: typebox_1.Type.Object({
|
|
19
|
+
domain: typebox_1.Type.String(),
|
|
20
|
+
configurationRepoUrl: typebox_1.Type.String(),
|
|
21
|
+
configurationRepoCredentials: typebox_1.Type.String(),
|
|
22
|
+
}),
|
|
23
|
+
}),
|
|
24
|
+
]),
|
|
25
|
+
configured: typebox_1.Type.Boolean(),
|
|
26
|
+
sensitiveDataEnabled: typebox_1.Type.Boolean(),
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Create a tenant
|
|
30
|
+
*/
|
|
31
|
+
class TenantCreateCommand extends command_js_1.Command {
|
|
32
|
+
/**
|
|
33
|
+
* Whether the command should retry on failure
|
|
34
|
+
*/
|
|
35
|
+
retryOnFailure = false;
|
|
36
|
+
/**
|
|
37
|
+
* Get the method
|
|
38
|
+
*/
|
|
39
|
+
getMethod() {
|
|
40
|
+
return "POST";
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the base url
|
|
44
|
+
*/
|
|
45
|
+
getBaseUrl() {
|
|
46
|
+
return "https://tenant.api.flowcore.io";
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get the path
|
|
50
|
+
*/
|
|
51
|
+
getPath() {
|
|
52
|
+
return `/api/v1/tenants`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get the body for the request
|
|
56
|
+
*/
|
|
57
|
+
getBody() {
|
|
58
|
+
const { tenantSlug, description, displayName } = this.input;
|
|
59
|
+
return {
|
|
60
|
+
tenant_slug: tenantSlug,
|
|
61
|
+
...(description !== undefined && { description }),
|
|
62
|
+
...(displayName !== undefined && { displayName }),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Parse the response
|
|
67
|
+
*/
|
|
68
|
+
parseResponse(rawResponse) {
|
|
69
|
+
const response = (0, parse_response_helper_js_1.parseResponseHelper)(responseSchema, rawResponse);
|
|
70
|
+
return response;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.TenantCreateCommand = TenantCreateCommand;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type Tenant } from "../../contracts/tenant.js";
|
|
3
|
+
import type { ClientError } from "../../exceptions/client-error.js";
|
|
4
|
+
/**
|
|
5
|
+
* The input for the tenant update command
|
|
6
|
+
*/
|
|
7
|
+
export interface TenantUpdateInput {
|
|
8
|
+
/** The id of the tenant to update */
|
|
9
|
+
tenantId: string;
|
|
10
|
+
/** The description of the tenant */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** The display name of the tenant */
|
|
13
|
+
displayName?: string;
|
|
14
|
+
/** The website URL of the tenant */
|
|
15
|
+
website?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Update a tenant
|
|
19
|
+
*/
|
|
20
|
+
export declare class TenantUpdateCommand extends Command<TenantUpdateInput, Tenant> {
|
|
21
|
+
/**
|
|
22
|
+
* Get the method
|
|
23
|
+
*/
|
|
24
|
+
protected getMethod(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Get the base url
|
|
27
|
+
*/
|
|
28
|
+
protected getBaseUrl(): string;
|
|
29
|
+
/**
|
|
30
|
+
* Get the path
|
|
31
|
+
*/
|
|
32
|
+
protected getPath(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Get the body for the request
|
|
35
|
+
*/
|
|
36
|
+
protected getBody(): Record<string, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Parse the response
|
|
39
|
+
*/
|
|
40
|
+
protected parseResponse(rawResponse: unknown): Tenant;
|
|
41
|
+
/**
|
|
42
|
+
* Handle the client error
|
|
43
|
+
*/
|
|
44
|
+
protected handleClientError(error: ClientError): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=tenant.update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant.update.d.ts","sourceRoot":"","sources":["../../../src/commands/tenant/tenant.update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,2BAA2B,CAAA;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAKnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAuBD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACzE;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAerD;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;IAK9D;;OAEG;cACgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAM/D"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantUpdateCommand = void 0;
|
|
4
|
+
const typebox_1 = require("@sinclair/typebox");
|
|
5
|
+
const command_js_1 = require("../../common/command.js");
|
|
6
|
+
const tenant_js_1 = require("../../contracts/tenant.js");
|
|
7
|
+
const command_error_js_1 = require("../../exceptions/command-error.js");
|
|
8
|
+
const not_found_js_1 = require("../../exceptions/not-found.js");
|
|
9
|
+
const parse_response_helper_js_1 = require("../../utils/parse-response-helper.js");
|
|
10
|
+
/**
|
|
11
|
+
* The response schema for the tenant update command
|
|
12
|
+
*/
|
|
13
|
+
const responseSchema = typebox_1.Type.Object({
|
|
14
|
+
...tenant_js_1.TenantSchema.properties,
|
|
15
|
+
dedicated: typebox_1.Type.Union([
|
|
16
|
+
typebox_1.Type.Null(),
|
|
17
|
+
typebox_1.Type.Object({
|
|
18
|
+
// parse as string to prevent sdk to fail when new status are added
|
|
19
|
+
status: typebox_1.Type.String(),
|
|
20
|
+
configuration: typebox_1.Type.Object({
|
|
21
|
+
domain: typebox_1.Type.String(),
|
|
22
|
+
configurationRepoUrl: typebox_1.Type.String(),
|
|
23
|
+
configurationRepoCredentials: typebox_1.Type.String(),
|
|
24
|
+
}),
|
|
25
|
+
}),
|
|
26
|
+
]),
|
|
27
|
+
configured: typebox_1.Type.Boolean(),
|
|
28
|
+
sensitiveDataEnabled: typebox_1.Type.Boolean(),
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Update a tenant
|
|
32
|
+
*/
|
|
33
|
+
class TenantUpdateCommand extends command_js_1.Command {
|
|
34
|
+
/**
|
|
35
|
+
* Get the method
|
|
36
|
+
*/
|
|
37
|
+
getMethod() {
|
|
38
|
+
return "PATCH";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the base url
|
|
42
|
+
*/
|
|
43
|
+
getBaseUrl() {
|
|
44
|
+
return "https://tenant.api.flowcore.io";
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get the path
|
|
48
|
+
*/
|
|
49
|
+
getPath() {
|
|
50
|
+
return `/api/v1/tenants/${this.input.tenantId}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the body for the request
|
|
54
|
+
*/
|
|
55
|
+
getBody() {
|
|
56
|
+
const { tenantId: _tenantId, ...payload } = this.input;
|
|
57
|
+
// Check if there are any fields to update
|
|
58
|
+
const updateFields = Object.fromEntries(Object.entries(payload).filter(([_, value]) => value !== undefined));
|
|
59
|
+
if (Object.keys(updateFields).length === 0) {
|
|
60
|
+
throw new command_error_js_1.CommandError(this.constructor.name, "No fields to update");
|
|
61
|
+
}
|
|
62
|
+
return updateFields;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Parse the response
|
|
66
|
+
*/
|
|
67
|
+
parseResponse(rawResponse) {
|
|
68
|
+
const response = (0, parse_response_helper_js_1.parseResponseHelper)(responseSchema, rawResponse);
|
|
69
|
+
return response;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Handle the client error
|
|
73
|
+
*/
|
|
74
|
+
handleClientError(error) {
|
|
75
|
+
if (error.status === 404) {
|
|
76
|
+
throw new not_found_js_1.NotFoundException("Tenant", { id: this.input.tenantId });
|
|
77
|
+
}
|
|
78
|
+
throw error;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.TenantUpdateCommand = TenantUpdateCommand;
|