@flowcore/sdk 1.53.0 → 1.55.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 +25 -0
- package/esm/commands/api-key/api-key.create.d.ts +20 -23
- package/esm/commands/api-key/api-key.create.d.ts.map +1 -1
- package/esm/commands/api-key/api-key.create.js +21 -62
- package/esm/commands/api-key/api-key.delete.d.ts +22 -12
- package/esm/commands/api-key/api-key.delete.d.ts.map +1 -1
- package/esm/commands/api-key/api-key.delete.js +27 -41
- package/esm/commands/api-key/api-key.edit.d.ts +41 -0
- package/esm/commands/api-key/api-key.edit.d.ts.map +1 -0
- package/esm/commands/api-key/api-key.edit.js +40 -0
- package/esm/commands/api-key/api-key.list.d.ts +20 -8
- package/esm/commands/api-key/api-key.list.d.ts.map +1 -1
- package/esm/commands/api-key/api-key.list.js +27 -36
- package/esm/commands/index.d.ts +1 -0
- package/esm/commands/index.d.ts.map +1 -1
- package/esm/commands/index.js +1 -0
- package/esm/commands/tenant/tenant.list.d.ts +13 -17
- package/esm/commands/tenant/tenant.list.d.ts.map +1 -1
- package/esm/commands/tenant/tenant.list.js +20 -66
- package/esm/contracts/api-key.d.ts +22 -1
- package/esm/contracts/api-key.d.ts.map +1 -1
- package/esm/contracts/api-key.js +17 -0
- package/esm/contracts/tenant.d.ts +17 -1
- package/esm/contracts/tenant.d.ts.map +1 -1
- package/esm/contracts/tenant.js +12 -0
- package/package.json +1 -1
- package/script/commands/api-key/api-key.create.d.ts +20 -23
- package/script/commands/api-key/api-key.create.d.ts.map +1 -1
- package/script/commands/api-key/api-key.create.js +21 -62
- package/script/commands/api-key/api-key.delete.d.ts +22 -12
- package/script/commands/api-key/api-key.delete.d.ts.map +1 -1
- package/script/commands/api-key/api-key.delete.js +27 -41
- package/script/commands/api-key/api-key.edit.d.ts +41 -0
- package/script/commands/api-key/api-key.edit.d.ts.map +1 -0
- package/script/commands/api-key/api-key.edit.js +44 -0
- package/script/commands/api-key/api-key.list.d.ts +20 -8
- package/script/commands/api-key/api-key.list.d.ts.map +1 -1
- package/script/commands/api-key/api-key.list.js +27 -36
- package/script/commands/index.d.ts +1 -0
- package/script/commands/index.d.ts.map +1 -1
- package/script/commands/index.js +1 -0
- package/script/commands/tenant/tenant.list.d.ts +13 -17
- package/script/commands/tenant/tenant.list.d.ts.map +1 -1
- package/script/commands/tenant/tenant.list.js +20 -66
- package/script/contracts/api-key.d.ts +22 -1
- package/script/contracts/api-key.d.ts.map +1 -1
- package/script/contracts/api-key.js +18 -1
- package/script/contracts/tenant.d.ts +17 -1
- package/script/contracts/tenant.d.ts.map +1 -1
- package/script/contracts/tenant.js +13 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.55.0](https://github.com/flowcore-io/flowcore-sdk/compare/v1.54.0...v1.55.0) (2025-07-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* use new rest api for tenant list ([cfbc108](https://github.com/flowcore-io/flowcore-sdk/commit/cfbc108223b8b0ed0203e7fa8b8006556e154423))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* change tenant list response ([2b612db](https://github.com/flowcore-io/flowcore-sdk/commit/2b612dbdb1c23793901af01db4b56a8a8acea097))
|
|
14
|
+
|
|
15
|
+
## [1.54.0](https://github.com/flowcore-io/flowcore-sdk/compare/v1.53.0...v1.54.0) (2025-07-09)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* use new rest api for api keys ([bdccaf2](https://github.com/flowcore-io/flowcore-sdk/commit/bdccaf2e9622a1a22df77f49ea819dabb0fd555a))
|
|
21
|
+
* use new rest api for api keys ([bc7db6b](https://github.com/flowcore-io/flowcore-sdk/commit/bc7db6bb05f75d1960f139f6bce52b90600b2109))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* fix create apikey response ([9438f5d](https://github.com/flowcore-io/flowcore-sdk/commit/9438f5d0838bde01dada8a8a67ed78993375d70f))
|
|
27
|
+
|
|
3
28
|
## [1.53.0](https://github.com/flowcore-io/flowcore-sdk/compare/v1.52.0...v1.53.0) (2025-07-04)
|
|
4
29
|
|
|
5
30
|
|
|
@@ -1,46 +1,43 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
3
|
-
import type { FlowcoreClient } from "../../common/flowcore-client.js";
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type ApiKeyWithValue } from "../../contracts/api-key.js";
|
|
4
3
|
/**
|
|
5
|
-
* The input for the
|
|
4
|
+
* The input for the api key create command
|
|
6
5
|
*/
|
|
7
6
|
export interface ApiKeyCreateInput {
|
|
8
7
|
/** The tenant id */
|
|
9
8
|
tenantId: string;
|
|
10
|
-
/** The name of the
|
|
9
|
+
/** The name of the api key */
|
|
11
10
|
name: string;
|
|
11
|
+
/** The description of the api key */
|
|
12
|
+
description?: string;
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
|
-
* Create an
|
|
15
|
+
* Create an api key
|
|
15
16
|
*/
|
|
16
|
-
export declare class ApiKeyCreateCommand extends
|
|
17
|
-
value: string;
|
|
18
|
-
}> {
|
|
17
|
+
export declare class ApiKeyCreateCommand extends Command<ApiKeyCreateInput, ApiKeyWithValue> {
|
|
19
18
|
/**
|
|
20
19
|
* Whether the command should retry on failure
|
|
21
20
|
*/
|
|
22
21
|
protected retryOnFailure: boolean;
|
|
23
22
|
/**
|
|
24
|
-
*
|
|
23
|
+
* Get the method
|
|
25
24
|
*/
|
|
26
|
-
protected
|
|
25
|
+
protected getMethod(): string;
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
27
|
+
* Get the base url
|
|
28
|
+
*/
|
|
29
|
+
protected getBaseUrl(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Get the path
|
|
29
32
|
*/
|
|
30
|
-
protected
|
|
31
|
-
value: string;
|
|
32
|
-
};
|
|
33
|
+
protected getPath(): string;
|
|
33
34
|
/**
|
|
34
|
-
*
|
|
35
|
+
* The allowed modes for the command
|
|
35
36
|
*/
|
|
36
|
-
protected
|
|
37
|
+
protected allowedModes: ("apiKey" | "bearer")[];
|
|
37
38
|
/**
|
|
38
|
-
*
|
|
39
|
+
* Parse the response
|
|
39
40
|
*/
|
|
40
|
-
protected
|
|
41
|
-
value: string;
|
|
42
|
-
}): Promise<ApiKey & {
|
|
43
|
-
value: string;
|
|
44
|
-
}>;
|
|
41
|
+
protected parseResponse(rawResponse: unknown): ApiKeyWithValue;
|
|
45
42
|
}
|
|
46
43
|
//# sourceMappingURL=api-key.create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.create.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.create.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-key.create.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,OAAO,EAAE,KAAK,eAAe,EAAyB,MAAM,4BAA4B,CAAA;AAExF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;IAClF;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;cACgB,SAAS,IAAI,MAAM;IAGtC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,eAAe;CAGxE"}
|
|
@@ -1,81 +1,40 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { GraphQlCommand } from "../../common/command-graphql.js";
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
3
2
|
import { parseResponseHelper } from "../../utils/parse-response-helper.js";
|
|
4
|
-
import {
|
|
5
|
-
import { CommandError } from "../../exceptions/command-error.js";
|
|
6
|
-
const graphQlQueryById = `
|
|
7
|
-
mutation FLOWCORE_SDK_API_KEY_CREATE($tenantId: ID!, $name: String!) {
|
|
8
|
-
organization(id: $tenantId) {
|
|
9
|
-
createApiKey(name: $name)
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
`;
|
|
13
|
-
const responseSchema = Type.Object({
|
|
14
|
-
errors: Type.Optional(Type.Array(Type.Object({
|
|
15
|
-
message: Type.String(),
|
|
16
|
-
}))),
|
|
17
|
-
data: Type.Union([
|
|
18
|
-
Type.Object({
|
|
19
|
-
organization: Type.Object({
|
|
20
|
-
createApiKey: Type.Union([Type.String(), Type.Null()]),
|
|
21
|
-
}),
|
|
22
|
-
}),
|
|
23
|
-
Type.Null(),
|
|
24
|
-
]),
|
|
25
|
-
});
|
|
3
|
+
import { ApiKeyWithValueSchema } from "../../contracts/api-key.js";
|
|
26
4
|
/**
|
|
27
|
-
* Create an
|
|
5
|
+
* Create an api key
|
|
28
6
|
*/
|
|
29
|
-
export class ApiKeyCreateCommand extends
|
|
7
|
+
export class ApiKeyCreateCommand extends Command {
|
|
30
8
|
/**
|
|
31
9
|
* Whether the command should retry on failure
|
|
32
10
|
*/
|
|
33
11
|
retryOnFailure = false;
|
|
34
12
|
/**
|
|
35
|
-
*
|
|
13
|
+
* Get the method
|
|
36
14
|
*/
|
|
37
|
-
|
|
15
|
+
getMethod() {
|
|
16
|
+
return "POST";
|
|
17
|
+
}
|
|
38
18
|
/**
|
|
39
|
-
*
|
|
19
|
+
* Get the base url
|
|
40
20
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (response.errors) {
|
|
44
|
-
throw new CommandError(this.constructor.name, response.errors[0].message);
|
|
45
|
-
}
|
|
46
|
-
if (!response.data || response.data?.organization.createApiKey === null) {
|
|
47
|
-
throw new CommandError(this.constructor.name, "Failed to create API key");
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
id: "",
|
|
51
|
-
name: "",
|
|
52
|
-
createdAt: "",
|
|
53
|
-
value: response.data.organization.createApiKey,
|
|
54
|
-
};
|
|
21
|
+
getBaseUrl() {
|
|
22
|
+
return "https://tenant-store.api.flowcore.io";
|
|
55
23
|
}
|
|
56
24
|
/**
|
|
57
|
-
* Get the
|
|
25
|
+
* Get the path
|
|
58
26
|
*/
|
|
59
|
-
|
|
60
|
-
return
|
|
61
|
-
query: graphQlQueryById,
|
|
62
|
-
variables: this.input,
|
|
63
|
-
};
|
|
27
|
+
getPath() {
|
|
28
|
+
return "/api/v1/api-keys";
|
|
64
29
|
}
|
|
65
30
|
/**
|
|
66
|
-
*
|
|
31
|
+
* The allowed modes for the command
|
|
32
|
+
*/
|
|
33
|
+
allowedModes = ["bearer"];
|
|
34
|
+
/**
|
|
35
|
+
* Parse the response
|
|
67
36
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
tenantId: this.input.tenantId,
|
|
71
|
-
}));
|
|
72
|
-
const apiKey = apiKeys.find((apiKey) => apiKey.name === this.input.name);
|
|
73
|
-
if (!apiKey) {
|
|
74
|
-
throw new Error("API key not found");
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
...apiKey,
|
|
78
|
-
value: response.value,
|
|
79
|
-
};
|
|
37
|
+
parseResponse(rawResponse) {
|
|
38
|
+
return parseResponseHelper(ApiKeyWithValueSchema, rawResponse);
|
|
80
39
|
}
|
|
81
40
|
}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
2
|
/**
|
|
3
|
-
* The input for the
|
|
3
|
+
* The input for the api key delete command
|
|
4
4
|
*/
|
|
5
5
|
export interface ApiKeyDeleteInput {
|
|
6
|
-
/** The
|
|
7
|
-
tenantId: string;
|
|
8
|
-
/** The id of the API key */
|
|
6
|
+
/** The api key id */
|
|
9
7
|
apiKeyId: string;
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
12
|
-
* Delete an
|
|
10
|
+
* Delete an api key
|
|
13
11
|
*/
|
|
14
|
-
export declare class ApiKeyDeleteCommand extends
|
|
12
|
+
export declare class ApiKeyDeleteCommand extends Command<ApiKeyDeleteInput, boolean> {
|
|
13
|
+
/**
|
|
14
|
+
* Whether the command should retry on failure
|
|
15
|
+
*/
|
|
16
|
+
protected retryOnFailure: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Get the method
|
|
19
|
+
*/
|
|
20
|
+
protected getMethod(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Get the base url
|
|
23
|
+
*/
|
|
24
|
+
protected getBaseUrl(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Get the path
|
|
27
|
+
*/
|
|
28
|
+
protected getPath(): string;
|
|
15
29
|
/**
|
|
16
30
|
* The allowed modes for the command
|
|
17
31
|
*/
|
|
@@ -19,10 +33,6 @@ export declare class ApiKeyDeleteCommand extends GraphQlCommand<ApiKeyDeleteInpu
|
|
|
19
33
|
/**
|
|
20
34
|
* Parse the response
|
|
21
35
|
*/
|
|
22
|
-
protected parseResponse(
|
|
23
|
-
/**
|
|
24
|
-
* Get the body for the request
|
|
25
|
-
*/
|
|
26
|
-
protected getBody(): Record<string, unknown>;
|
|
36
|
+
protected parseResponse(_rawResponse: unknown): boolean;
|
|
27
37
|
}
|
|
28
38
|
//# sourceMappingURL=api-key.delete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.delete.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-key.delete.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAC1E;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;cACgB,SAAS,IAAI,MAAM;IAGtC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO;CAGjE"}
|
|
@@ -1,52 +1,38 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { GraphQlCommand } from "../../common/command-graphql.js";
|
|
3
|
-
import { parseResponseHelper } from "../../utils/parse-response-helper.js";
|
|
4
|
-
import { CommandError } from "../../exceptions/command-error.js";
|
|
5
|
-
const graphQlQueryById = `
|
|
6
|
-
mutation FLOWCORE_SDK_API_KEY_DELETE($tenantId: ID!, $apiKeyId: ID!) {
|
|
7
|
-
organization(id: $tenantId) {
|
|
8
|
-
deleteApiKey(id: $apiKeyId)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
`;
|
|
12
|
-
const responseSchema = Type.Object({
|
|
13
|
-
errors: Type.Optional(Type.Array(Type.Object({
|
|
14
|
-
message: Type.String(),
|
|
15
|
-
}))),
|
|
16
|
-
data: Type.Object({
|
|
17
|
-
organization: Type.Object({
|
|
18
|
-
deleteApiKey: Type.Union([Type.Boolean(), Type.Null()]),
|
|
19
|
-
}),
|
|
20
|
-
}),
|
|
21
|
-
});
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
22
2
|
/**
|
|
23
|
-
* Delete an
|
|
3
|
+
* Delete an api key
|
|
24
4
|
*/
|
|
25
|
-
export class ApiKeyDeleteCommand extends
|
|
5
|
+
export class ApiKeyDeleteCommand extends Command {
|
|
26
6
|
/**
|
|
27
|
-
*
|
|
7
|
+
* Whether the command should retry on failure
|
|
28
8
|
*/
|
|
29
|
-
|
|
9
|
+
retryOnFailure = false;
|
|
30
10
|
/**
|
|
31
|
-
*
|
|
11
|
+
* Get the method
|
|
32
12
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (response.errors) {
|
|
36
|
-
throw new CommandError(this.constructor.name, response.errors[0].message);
|
|
37
|
-
}
|
|
38
|
-
if (response.data.organization.deleteApiKey !== true) {
|
|
39
|
-
throw new CommandError(this.constructor.name, "Failed to delete API key");
|
|
40
|
-
}
|
|
41
|
-
return response.data.organization.deleteApiKey;
|
|
13
|
+
getMethod() {
|
|
14
|
+
return "DELETE";
|
|
42
15
|
}
|
|
43
16
|
/**
|
|
44
|
-
* Get the
|
|
17
|
+
* Get the base url
|
|
18
|
+
*/
|
|
19
|
+
getBaseUrl() {
|
|
20
|
+
return "https://tenant-store.api.flowcore.io";
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get the path
|
|
24
|
+
*/
|
|
25
|
+
getPath() {
|
|
26
|
+
return `/api/v1/api-keys/${this.input.apiKeyId}`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The allowed modes for the command
|
|
30
|
+
*/
|
|
31
|
+
allowedModes = ["bearer"];
|
|
32
|
+
/**
|
|
33
|
+
* Parse the response
|
|
45
34
|
*/
|
|
46
|
-
|
|
47
|
-
return
|
|
48
|
-
query: graphQlQueryById,
|
|
49
|
-
variables: this.input,
|
|
50
|
-
};
|
|
35
|
+
parseResponse(_rawResponse) {
|
|
36
|
+
return true;
|
|
51
37
|
}
|
|
52
38
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type ApiKey } from "../../contracts/api-key.js";
|
|
3
|
+
/**
|
|
4
|
+
* The input for the api key edit command
|
|
5
|
+
*/
|
|
6
|
+
export interface ApiKeyEditInput {
|
|
7
|
+
/** The api key id */
|
|
8
|
+
apiKeyId: string;
|
|
9
|
+
/** The description of the api key */
|
|
10
|
+
description: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Edit an api key
|
|
14
|
+
*/
|
|
15
|
+
export declare class ApiKeyEditCommand extends Command<ApiKeyEditInput, ApiKey> {
|
|
16
|
+
/**
|
|
17
|
+
* Whether the command should retry on failure
|
|
18
|
+
*/
|
|
19
|
+
protected retryOnFailure: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Get the method
|
|
22
|
+
*/
|
|
23
|
+
protected getMethod(): string;
|
|
24
|
+
/**
|
|
25
|
+
* Get the base url
|
|
26
|
+
*/
|
|
27
|
+
protected getBaseUrl(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get the path
|
|
30
|
+
*/
|
|
31
|
+
protected getPath(): string;
|
|
32
|
+
/**
|
|
33
|
+
* The allowed modes for the command
|
|
34
|
+
*/
|
|
35
|
+
protected allowedModes: ("apiKey" | "bearer")[];
|
|
36
|
+
/**
|
|
37
|
+
* Parse the response
|
|
38
|
+
*/
|
|
39
|
+
protected parseResponse(rawResponse: unknown): ApiKey;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=api-key.edit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-key.edit.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAEjD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,4BAA4B,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;IACrE;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;cACgB,SAAS,IAAI,MAAM;IAGtC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM;CAG/D"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { parseResponseHelper } from "../../utils/parse-response-helper.js";
|
|
3
|
+
import { ApiKeySchema } from "../../contracts/api-key.js";
|
|
4
|
+
/**
|
|
5
|
+
* Edit an api key
|
|
6
|
+
*/
|
|
7
|
+
export class ApiKeyEditCommand extends Command {
|
|
8
|
+
/**
|
|
9
|
+
* Whether the command should retry on failure
|
|
10
|
+
*/
|
|
11
|
+
retryOnFailure = false;
|
|
12
|
+
/**
|
|
13
|
+
* Get the method
|
|
14
|
+
*/
|
|
15
|
+
getMethod() {
|
|
16
|
+
return "PATCH";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Get the base url
|
|
20
|
+
*/
|
|
21
|
+
getBaseUrl() {
|
|
22
|
+
return "https://tenant-store.api.flowcore.io";
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get the path
|
|
26
|
+
*/
|
|
27
|
+
getPath() {
|
|
28
|
+
return `/api/v1/api-keys/${this.input.apiKeyId}`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The allowed modes for the command
|
|
32
|
+
*/
|
|
33
|
+
allowedModes = ["bearer"];
|
|
34
|
+
/**
|
|
35
|
+
* Parse the response
|
|
36
|
+
*/
|
|
37
|
+
parseResponse(rawResponse) {
|
|
38
|
+
return parseResponseHelper(ApiKeySchema, rawResponse);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type ApiKey } from "../../contracts/api-key.js";
|
|
3
3
|
/**
|
|
4
|
-
* The input for the
|
|
4
|
+
* The input for the api key list command
|
|
5
5
|
*/
|
|
6
6
|
export interface ApiKeyListInput {
|
|
7
7
|
/** The tenant id */
|
|
@@ -10,7 +10,23 @@ export interface ApiKeyListInput {
|
|
|
10
10
|
/**
|
|
11
11
|
* List api keys
|
|
12
12
|
*/
|
|
13
|
-
export declare class ApiKeyListCommand extends
|
|
13
|
+
export declare class ApiKeyListCommand extends Command<ApiKeyListInput, ApiKey[]> {
|
|
14
|
+
/**
|
|
15
|
+
* Whether the command should retry on failure
|
|
16
|
+
*/
|
|
17
|
+
protected retryOnFailure: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Get the method
|
|
20
|
+
*/
|
|
21
|
+
protected getMethod(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get the base url
|
|
24
|
+
*/
|
|
25
|
+
protected getBaseUrl(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get the path
|
|
28
|
+
*/
|
|
29
|
+
protected getPath(): string;
|
|
14
30
|
/**
|
|
15
31
|
* The allowed modes for the command
|
|
16
32
|
*/
|
|
@@ -19,9 +35,5 @@ export declare class ApiKeyListCommand extends GraphQlCommand<ApiKeyListInput, A
|
|
|
19
35
|
* Parse the response
|
|
20
36
|
*/
|
|
21
37
|
protected parseResponse(rawResponse: unknown): ApiKey[];
|
|
22
|
-
/**
|
|
23
|
-
* Get the body for the request
|
|
24
|
-
*/
|
|
25
|
-
protected getBody(): Record<string, unknown>;
|
|
26
38
|
}
|
|
27
39
|
//# sourceMappingURL=api-key.list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key.list.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-key.list.d.ts","sourceRoot":"","sources":["../../../src/commands/api-key/api-key.list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAGjD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,4BAA4B,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACvE;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;cACgB,SAAS,IAAI,MAAM;IAGtC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;CAGjE"}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { GraphQlCommand } from "../../common/command-graphql.js";
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
3
2
|
import { parseResponseHelper } from "../../utils/parse-response-helper.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
organization(search: {id: $tenantId}) {
|
|
7
|
-
apiKeys {
|
|
8
|
-
id
|
|
9
|
-
name
|
|
10
|
-
createdAt
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
`;
|
|
15
|
-
const responseSchema = Type.Object({
|
|
16
|
-
data: Type.Object({
|
|
17
|
-
organization: Type.Object({
|
|
18
|
-
apiKeys: Type.Array(Type.Object({
|
|
19
|
-
id: Type.String(),
|
|
20
|
-
name: Type.String(),
|
|
21
|
-
createdAt: Type.String(),
|
|
22
|
-
})),
|
|
23
|
-
}),
|
|
24
|
-
}),
|
|
25
|
-
});
|
|
3
|
+
import { Type } from "@sinclair/typebox";
|
|
4
|
+
import { ApiKeySchema } from "../../contracts/api-key.js";
|
|
26
5
|
/**
|
|
27
6
|
* List api keys
|
|
28
7
|
*/
|
|
29
|
-
export class ApiKeyListCommand extends
|
|
8
|
+
export class ApiKeyListCommand extends Command {
|
|
9
|
+
/**
|
|
10
|
+
* Whether the command should retry on failure
|
|
11
|
+
*/
|
|
12
|
+
retryOnFailure = false;
|
|
13
|
+
/**
|
|
14
|
+
* Get the method
|
|
15
|
+
*/
|
|
16
|
+
getMethod() {
|
|
17
|
+
return "GET";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the base url
|
|
21
|
+
*/
|
|
22
|
+
getBaseUrl() {
|
|
23
|
+
return "https://tenant-store.api.flowcore.io";
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get the path
|
|
27
|
+
*/
|
|
28
|
+
getPath() {
|
|
29
|
+
return `/api/v1/api-keys?tenantId=${this.input.tenantId}`;
|
|
30
|
+
}
|
|
30
31
|
/**
|
|
31
32
|
* The allowed modes for the command
|
|
32
33
|
*/
|
|
@@ -35,16 +36,6 @@ export class ApiKeyListCommand extends GraphQlCommand {
|
|
|
35
36
|
* Parse the response
|
|
36
37
|
*/
|
|
37
38
|
parseResponse(rawResponse) {
|
|
38
|
-
|
|
39
|
-
return response.data.organization.apiKeys;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Get the body for the request
|
|
43
|
-
*/
|
|
44
|
-
getBody() {
|
|
45
|
-
return {
|
|
46
|
-
query: graphQlQueryById,
|
|
47
|
-
variables: this.input,
|
|
48
|
-
};
|
|
39
|
+
return parseResponseHelper(Type.Array(ApiKeySchema), rawResponse);
|
|
49
40
|
}
|
|
50
41
|
}
|
package/esm/commands/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export * from "./tenant/tenant.list.js";
|
|
|
5
5
|
export * from "./tenant/tenant.translate-name-to-id.js";
|
|
6
6
|
export * from "./adapter/reset-adapter.js";
|
|
7
7
|
export * from "./api-key/api-key.create.js";
|
|
8
|
+
export * from "./api-key/api-key.edit.js";
|
|
8
9
|
export * from "./api-key/api-key.delete.js";
|
|
9
10
|
export * from "./api-key/api-key.list.js";
|
|
10
11
|
export * from "./secret/secret.create.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/esm/commands/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./tenant/tenant.translate-name-to-id.js";
|
|
|
8
8
|
export * from "./adapter/reset-adapter.js";
|
|
9
9
|
// Api Key
|
|
10
10
|
export * from "./api-key/api-key.create.js";
|
|
11
|
+
export * from "./api-key/api-key.edit.js";
|
|
11
12
|
export * from "./api-key/api-key.delete.js";
|
|
12
13
|
export * from "./api-key/api-key.list.js";
|
|
13
14
|
// Secret
|
|
@@ -1,28 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
id: string;
|
|
4
|
-
name: string;
|
|
5
|
-
displayName: string;
|
|
6
|
-
description: string;
|
|
7
|
-
websiteUrl: string;
|
|
8
|
-
linkType: "OWNER" | "COLLABORATOR";
|
|
9
|
-
}
|
|
1
|
+
import { Command } from "../../common/command.js";
|
|
2
|
+
import { type TenantListItem } from "../../contracts/tenant.js";
|
|
10
3
|
/**
|
|
11
4
|
* List tenants
|
|
12
5
|
*/
|
|
13
|
-
export declare class TenantListCommand extends
|
|
6
|
+
export declare class TenantListCommand extends Command<Record<string, never>, TenantListItem[]> {
|
|
14
7
|
/**
|
|
15
|
-
*
|
|
8
|
+
* Get the method
|
|
16
9
|
*/
|
|
17
|
-
protected
|
|
10
|
+
protected getMethod(): string;
|
|
18
11
|
/**
|
|
19
|
-
*
|
|
12
|
+
* Get the base url
|
|
20
13
|
*/
|
|
21
|
-
protected
|
|
14
|
+
protected getBaseUrl(): string;
|
|
22
15
|
/**
|
|
23
|
-
* Get the
|
|
16
|
+
* Get the path
|
|
24
17
|
*/
|
|
25
|
-
protected
|
|
18
|
+
protected getPath(): string;
|
|
19
|
+
/**
|
|
20
|
+
* Parse the response
|
|
21
|
+
*/
|
|
22
|
+
protected parseResponse(rawResponse: unknown): TenantListItem[];
|
|
26
23
|
}
|
|
27
|
-
export {};
|
|
28
24
|
//# sourceMappingURL=tenant.list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant.list.d.ts","sourceRoot":"","sources":["../../../src/commands/tenant/tenant.list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tenant.list.d.ts","sourceRoot":"","sources":["../../../src/commands/tenant/tenant.list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,2BAA2B,CAAA;AAGrF;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACrF;;OAEG;cACgB,SAAS,IAAI,MAAM;IAItC;;OAEG;cACgB,UAAU,IAAI,MAAM;IAIvC;;OAEG;cACgB,OAAO,IAAI,MAAM;IAIpC;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,cAAc,EAAE;CAIzE"}
|