@flowcore/sdk 1.53.0 → 1.54.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/esm/commands/api-key/api-key.create.d.ts +20 -23
  3. package/esm/commands/api-key/api-key.create.d.ts.map +1 -1
  4. package/esm/commands/api-key/api-key.create.js +21 -62
  5. package/esm/commands/api-key/api-key.delete.d.ts +22 -12
  6. package/esm/commands/api-key/api-key.delete.d.ts.map +1 -1
  7. package/esm/commands/api-key/api-key.delete.js +27 -41
  8. package/esm/commands/api-key/api-key.edit.d.ts +41 -0
  9. package/esm/commands/api-key/api-key.edit.d.ts.map +1 -0
  10. package/esm/commands/api-key/api-key.edit.js +40 -0
  11. package/esm/commands/api-key/api-key.list.d.ts +20 -8
  12. package/esm/commands/api-key/api-key.list.d.ts.map +1 -1
  13. package/esm/commands/api-key/api-key.list.js +27 -36
  14. package/esm/commands/index.d.ts +1 -0
  15. package/esm/commands/index.d.ts.map +1 -1
  16. package/esm/commands/index.js +1 -0
  17. package/esm/contracts/api-key.d.ts +22 -1
  18. package/esm/contracts/api-key.d.ts.map +1 -1
  19. package/esm/contracts/api-key.js +17 -0
  20. package/package.json +1 -1
  21. package/script/commands/api-key/api-key.create.d.ts +20 -23
  22. package/script/commands/api-key/api-key.create.d.ts.map +1 -1
  23. package/script/commands/api-key/api-key.create.js +21 -62
  24. package/script/commands/api-key/api-key.delete.d.ts +22 -12
  25. package/script/commands/api-key/api-key.delete.d.ts.map +1 -1
  26. package/script/commands/api-key/api-key.delete.js +27 -41
  27. package/script/commands/api-key/api-key.edit.d.ts +41 -0
  28. package/script/commands/api-key/api-key.edit.d.ts.map +1 -0
  29. package/script/commands/api-key/api-key.edit.js +44 -0
  30. package/script/commands/api-key/api-key.list.d.ts +20 -8
  31. package/script/commands/api-key/api-key.list.d.ts.map +1 -1
  32. package/script/commands/api-key/api-key.list.js +27 -36
  33. package/script/commands/index.d.ts +1 -0
  34. package/script/commands/index.d.ts.map +1 -1
  35. package/script/commands/index.js +1 -0
  36. package/script/contracts/api-key.d.ts +22 -1
  37. package/script/contracts/api-key.d.ts.map +1 -1
  38. package/script/contracts/api-key.js +18 -1
@@ -1,46 +1,43 @@
1
- import { GraphQlCommand } from "../../common/command-graphql.js";
2
- import type { ApiKey } from "../../contracts/api-key.js";
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 API key create command
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 API key */
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 API key
15
+ * Create an api key
15
16
  */
16
- export declare class ApiKeyCreateCommand extends GraphQlCommand<ApiKeyCreateInput, ApiKey & {
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
- * The allowed modes for the command
23
+ * Get the method
25
24
  */
26
- protected allowedModes: ("apiKey" | "bearer")[];
25
+ protected getMethod(): string;
27
26
  /**
28
- * Parse the response
27
+ * Get the base url
28
+ */
29
+ protected getBaseUrl(): string;
30
+ /**
31
+ * Get the path
29
32
  */
30
- protected parseResponse(rawResponse: unknown): ApiKey & {
31
- value: string;
32
- };
33
+ protected getPath(): string;
33
34
  /**
34
- * Get the body for the request
35
+ * The allowed modes for the command
35
36
  */
36
- protected getBody(): Record<string, unknown>;
37
+ protected allowedModes: ("apiKey" | "bearer")[];
37
38
  /**
38
- * Fill in the missing fields
39
+ * Parse the response
39
40
  */
40
- protected processResponse(flowcoreClient: FlowcoreClient, response: ApiKey & {
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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAIrE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAA;CACb;AA4BD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,iBAAiB,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;IACpG;;OAEG;IACH,UAAmB,cAAc,EAAE,OAAO,CAAQ;IAElD;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAC9B,WAAW,EAAE,OAAO,GACnB,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;IAiB7B;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrD;;OAEG;cACsB,eAAe,CACtC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAevC"}
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,85 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiKeyCreateCommand = void 0;
4
- const typebox_1 = require("@sinclair/typebox");
5
- const command_graphql_js_1 = require("../../common/command-graphql.js");
4
+ const command_js_1 = require("../../common/command.js");
6
5
  const parse_response_helper_js_1 = require("../../utils/parse-response-helper.js");
7
- const api_key_list_js_1 = require("./api-key.list.js");
8
- const command_error_js_1 = require("../../exceptions/command-error.js");
9
- const graphQlQueryById = `
10
- mutation FLOWCORE_SDK_API_KEY_CREATE($tenantId: ID!, $name: String!) {
11
- organization(id: $tenantId) {
12
- createApiKey(name: $name)
13
- }
14
- }
15
- `;
16
- const responseSchema = typebox_1.Type.Object({
17
- errors: typebox_1.Type.Optional(typebox_1.Type.Array(typebox_1.Type.Object({
18
- message: typebox_1.Type.String(),
19
- }))),
20
- data: typebox_1.Type.Union([
21
- typebox_1.Type.Object({
22
- organization: typebox_1.Type.Object({
23
- createApiKey: typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Null()]),
24
- }),
25
- }),
26
- typebox_1.Type.Null(),
27
- ]),
28
- });
6
+ const api_key_js_1 = require("../../contracts/api-key.js");
29
7
  /**
30
- * Create an API key
8
+ * Create an api key
31
9
  */
32
- class ApiKeyCreateCommand extends command_graphql_js_1.GraphQlCommand {
10
+ class ApiKeyCreateCommand extends command_js_1.Command {
33
11
  /**
34
12
  * Whether the command should retry on failure
35
13
  */
36
14
  retryOnFailure = false;
37
15
  /**
38
- * The allowed modes for the command
16
+ * Get the method
39
17
  */
40
- allowedModes = ["bearer"];
18
+ getMethod() {
19
+ return "POST";
20
+ }
41
21
  /**
42
- * Parse the response
22
+ * Get the base url
43
23
  */
44
- parseResponse(rawResponse) {
45
- const response = (0, parse_response_helper_js_1.parseResponseHelper)(responseSchema, rawResponse);
46
- if (response.errors) {
47
- throw new command_error_js_1.CommandError(this.constructor.name, response.errors[0].message);
48
- }
49
- if (!response.data || response.data?.organization.createApiKey === null) {
50
- throw new command_error_js_1.CommandError(this.constructor.name, "Failed to create API key");
51
- }
52
- return {
53
- id: "",
54
- name: "",
55
- createdAt: "",
56
- value: response.data.organization.createApiKey,
57
- };
24
+ getBaseUrl() {
25
+ return "https://tenant-store.api.flowcore.io";
58
26
  }
59
27
  /**
60
- * Get the body for the request
28
+ * Get the path
61
29
  */
62
- getBody() {
63
- return {
64
- query: graphQlQueryById,
65
- variables: this.input,
66
- };
30
+ getPath() {
31
+ return "/api/v1/api-keys";
67
32
  }
68
33
  /**
69
- * Fill in the missing fields
34
+ * The allowed modes for the command
35
+ */
36
+ allowedModes = ["bearer"];
37
+ /**
38
+ * Parse the response
70
39
  */
71
- async processResponse(flowcoreClient, response) {
72
- const apiKeys = await flowcoreClient.execute(new api_key_list_js_1.ApiKeyListCommand({
73
- tenantId: this.input.tenantId,
74
- }));
75
- const apiKey = apiKeys.find((apiKey) => apiKey.name === this.input.name);
76
- if (!apiKey) {
77
- throw new Error("API key not found");
78
- }
79
- return {
80
- ...apiKey,
81
- value: response.value,
82
- };
40
+ parseResponse(rawResponse) {
41
+ return (0, parse_response_helper_js_1.parseResponseHelper)(api_key_js_1.ApiKeyWithValueSchema, rawResponse);
83
42
  }
84
43
  }
85
44
  exports.ApiKeyCreateCommand = ApiKeyCreateCommand;
@@ -1,17 +1,31 @@
1
- import { GraphQlCommand } from "../../common/command-graphql.js";
1
+ import { Command } from "../../common/command.js";
2
2
  /**
3
- * The input for the API key delete command
3
+ * The input for the api key delete command
4
4
  */
5
5
  export interface ApiKeyDeleteInput {
6
- /** The id of the tenant */
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 API key
10
+ * Delete an api key
13
11
  */
14
- export declare class ApiKeyDeleteCommand extends GraphQlCommand<ApiKeyDeleteInput, boolean> {
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(rawResponse: unknown): boolean;
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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAIhE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2BAA2B;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAyBD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACjF;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO;IAW/D;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMtD"}
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,56 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiKeyDeleteCommand = void 0;
4
- const typebox_1 = require("@sinclair/typebox");
5
- const command_graphql_js_1 = require("../../common/command-graphql.js");
6
- const parse_response_helper_js_1 = require("../../utils/parse-response-helper.js");
7
- const command_error_js_1 = require("../../exceptions/command-error.js");
8
- const graphQlQueryById = `
9
- mutation FLOWCORE_SDK_API_KEY_DELETE($tenantId: ID!, $apiKeyId: ID!) {
10
- organization(id: $tenantId) {
11
- deleteApiKey(id: $apiKeyId)
12
- }
13
- }
14
- `;
15
- const responseSchema = typebox_1.Type.Object({
16
- errors: typebox_1.Type.Optional(typebox_1.Type.Array(typebox_1.Type.Object({
17
- message: typebox_1.Type.String(),
18
- }))),
19
- data: typebox_1.Type.Object({
20
- organization: typebox_1.Type.Object({
21
- deleteApiKey: typebox_1.Type.Union([typebox_1.Type.Boolean(), typebox_1.Type.Null()]),
22
- }),
23
- }),
24
- });
4
+ const command_js_1 = require("../../common/command.js");
25
5
  /**
26
- * Delete an API key
6
+ * Delete an api key
27
7
  */
28
- class ApiKeyDeleteCommand extends command_graphql_js_1.GraphQlCommand {
8
+ class ApiKeyDeleteCommand extends command_js_1.Command {
29
9
  /**
30
- * The allowed modes for the command
10
+ * Whether the command should retry on failure
31
11
  */
32
- allowedModes = ["bearer"];
12
+ retryOnFailure = false;
33
13
  /**
34
- * Parse the response
14
+ * Get the method
35
15
  */
36
- parseResponse(rawResponse) {
37
- const response = (0, parse_response_helper_js_1.parseResponseHelper)(responseSchema, rawResponse);
38
- if (response.errors) {
39
- throw new command_error_js_1.CommandError(this.constructor.name, response.errors[0].message);
40
- }
41
- if (response.data.organization.deleteApiKey !== true) {
42
- throw new command_error_js_1.CommandError(this.constructor.name, "Failed to delete API key");
43
- }
44
- return response.data.organization.deleteApiKey;
16
+ getMethod() {
17
+ return "DELETE";
45
18
  }
46
19
  /**
47
- * Get the body for the request
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/${this.input.apiKeyId}`;
30
+ }
31
+ /**
32
+ * The allowed modes for the command
33
+ */
34
+ allowedModes = ["bearer"];
35
+ /**
36
+ * Parse the response
48
37
  */
49
- getBody() {
50
- return {
51
- query: graphQlQueryById,
52
- variables: this.input,
53
- };
38
+ parseResponse(_rawResponse) {
39
+ return true;
54
40
  }
55
41
  }
56
42
  exports.ApiKeyDeleteCommand = ApiKeyDeleteCommand;
@@ -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,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiKeyEditCommand = void 0;
4
+ const command_js_1 = require("../../common/command.js");
5
+ const parse_response_helper_js_1 = require("../../utils/parse-response-helper.js");
6
+ const api_key_js_1 = require("../../contracts/api-key.js");
7
+ /**
8
+ * Edit an api key
9
+ */
10
+ class ApiKeyEditCommand extends command_js_1.Command {
11
+ /**
12
+ * Whether the command should retry on failure
13
+ */
14
+ retryOnFailure = false;
15
+ /**
16
+ * Get the method
17
+ */
18
+ getMethod() {
19
+ return "PATCH";
20
+ }
21
+ /**
22
+ * Get the base url
23
+ */
24
+ getBaseUrl() {
25
+ return "https://tenant-store.api.flowcore.io";
26
+ }
27
+ /**
28
+ * Get the path
29
+ */
30
+ getPath() {
31
+ return `/api/v1/api-keys/${this.input.apiKeyId}`;
32
+ }
33
+ /**
34
+ * The allowed modes for the command
35
+ */
36
+ allowedModes = ["bearer"];
37
+ /**
38
+ * Parse the response
39
+ */
40
+ parseResponse(rawResponse) {
41
+ return (0, parse_response_helper_js_1.parseResponseHelper)(api_key_js_1.ApiKeySchema, rawResponse);
42
+ }
43
+ }
44
+ exports.ApiKeyEditCommand = ApiKeyEditCommand;
@@ -1,7 +1,7 @@
1
- import { GraphQlCommand } from "../../common/command-graphql.js";
2
- import type { ApiKey } from "../../contracts/api-key.js";
1
+ import { Command } from "../../common/command.js";
2
+ import { type ApiKey } from "../../contracts/api-key.js";
3
3
  /**
4
- * The input for the API key list command
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 GraphQlCommand<ApiKeyListInput, ApiKey[]> {
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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB;AA0BD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC9E;;OAEG;IACH,UAAmB,YAAY,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAa;IAErE;;OAEG;cACgB,aAAa,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE;IAKhE;;OAEG;cACgB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMtD"}
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,35 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiKeyListCommand = void 0;
4
- const typebox_1 = require("@sinclair/typebox");
5
- const command_graphql_js_1 = require("../../common/command-graphql.js");
4
+ const command_js_1 = require("../../common/command.js");
6
5
  const parse_response_helper_js_1 = require("../../utils/parse-response-helper.js");
7
- const graphQlQueryById = `
8
- query FLOWCORE_SDK_API_KEY_LIST($tenantId: ID!) {
9
- organization(search: {id: $tenantId}) {
10
- apiKeys {
11
- id
12
- name
13
- createdAt
14
- }
15
- }
16
- }
17
- `;
18
- const responseSchema = typebox_1.Type.Object({
19
- data: typebox_1.Type.Object({
20
- organization: typebox_1.Type.Object({
21
- apiKeys: typebox_1.Type.Array(typebox_1.Type.Object({
22
- id: typebox_1.Type.String(),
23
- name: typebox_1.Type.String(),
24
- createdAt: typebox_1.Type.String(),
25
- })),
26
- }),
27
- }),
28
- });
6
+ const typebox_1 = require("@sinclair/typebox");
7
+ const api_key_js_1 = require("../../contracts/api-key.js");
29
8
  /**
30
9
  * List api keys
31
10
  */
32
- class ApiKeyListCommand extends command_graphql_js_1.GraphQlCommand {
11
+ class ApiKeyListCommand extends command_js_1.Command {
12
+ /**
13
+ * Whether the command should retry on failure
14
+ */
15
+ retryOnFailure = false;
16
+ /**
17
+ * Get the method
18
+ */
19
+ getMethod() {
20
+ return "GET";
21
+ }
22
+ /**
23
+ * Get the base url
24
+ */
25
+ getBaseUrl() {
26
+ return "https://tenant-store.api.flowcore.io";
27
+ }
28
+ /**
29
+ * Get the path
30
+ */
31
+ getPath() {
32
+ return `/api/v1/api-keys?tenantId=${this.input.tenantId}`;
33
+ }
33
34
  /**
34
35
  * The allowed modes for the command
35
36
  */
@@ -38,17 +39,7 @@ class ApiKeyListCommand extends command_graphql_js_1.GraphQlCommand {
38
39
  * Parse the response
39
40
  */
40
41
  parseResponse(rawResponse) {
41
- const response = (0, parse_response_helper_js_1.parseResponseHelper)(responseSchema, rawResponse);
42
- return response.data.organization.apiKeys;
43
- }
44
- /**
45
- * Get the body for the request
46
- */
47
- getBody() {
48
- return {
49
- query: graphQlQueryById,
50
- variables: this.input,
51
- };
42
+ return (0, parse_response_helper_js_1.parseResponseHelper)(typebox_1.Type.Array(api_key_js_1.ApiKeySchema), rawResponse);
52
43
  }
53
44
  }
54
45
  exports.ApiKeyListCommand = ApiKeyListCommand;
@@ -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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"}
@@ -24,6 +24,7 @@ __exportStar(require("./tenant/tenant.translate-name-to-id.js"), exports);
24
24
  __exportStar(require("./adapter/reset-adapter.js"), exports);
25
25
  // Api Key
26
26
  __exportStar(require("./api-key/api-key.create.js"), exports);
27
+ __exportStar(require("./api-key/api-key.edit.js"), exports);
27
28
  __exportStar(require("./api-key/api-key.delete.js"), exports);
28
29
  __exportStar(require("./api-key/api-key.list.js"), exports);
29
30
  // Secret
@@ -1,14 +1,35 @@
1
- import { type Static, type TObject, type TString } from "@sinclair/typebox";
1
+ import { type Static, type TNull, type TObject, type TString, type TUnion } from "@sinclair/typebox";
2
2
  /**
3
3
  * The schema for an api key
4
4
  */
5
5
  export declare const ApiKeySchema: TObject<{
6
6
  id: TString;
7
+ tenantId: TString;
7
8
  name: TString;
9
+ description: TString;
10
+ maskedApiKey: TString;
8
11
  createdAt: TString;
12
+ lastUsedAt: TUnion<[TString, TNull]>;
9
13
  }>;
10
14
  /**
11
15
  * The type for an api key
12
16
  */
13
17
  export type ApiKey = Static<typeof ApiKeySchema>;
18
+ /**
19
+ * The schema for an api key with value
20
+ */
21
+ export declare const ApiKeyWithValueSchema: TObject<{
22
+ id: TString;
23
+ tenantId: TString;
24
+ name: TString;
25
+ description: TString;
26
+ maskedApiKey: TString;
27
+ createdAt: TString;
28
+ lastUsedAt: TUnion<[TString, TNull]>;
29
+ apiKey: TString;
30
+ }>;
31
+ /**
32
+ * The type for an api key with value
33
+ */
34
+ export type ApiKeyWithValue = Static<typeof ApiKeyWithValueSchema>;
14
35
  //# sourceMappingURL=api-key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-key.d.ts","sourceRoot":"","sources":["../../src/contracts/api-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAQ,MAAM,mBAAmB,CAAA;AAEjF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC;IACjC,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,EAAE,OAAO,CAAA;CACnB,CAIC,CAAA;AACF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"api-key.d.ts","sourceRoot":"","sources":["../../src/contracts/api-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAA;AAE1G;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC;IACjC,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;CACrC,CAQC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAA;AAEhD;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC;IAC1C,EAAE,EAAE,OAAO,CAAA;IACX,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,OAAO,CAAA;IACpB,YAAY,EAAE,OAAO,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;IACpC,MAAM,EAAE,OAAO,CAAA;CAChB,CASC,CAAA;AAEF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAA"}
@@ -1,12 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApiKeySchema = void 0;
3
+ exports.ApiKeyWithValueSchema = exports.ApiKeySchema = void 0;
4
4
  const typebox_1 = require("@sinclair/typebox");
5
5
  /**
6
6
  * The schema for an api key
7
7
  */
8
8
  exports.ApiKeySchema = typebox_1.Type.Object({
9
9
  id: typebox_1.Type.String(),
10
+ tenantId: typebox_1.Type.String(),
10
11
  name: typebox_1.Type.String(),
12
+ description: typebox_1.Type.String(),
13
+ maskedApiKey: typebox_1.Type.String(),
11
14
  createdAt: typebox_1.Type.String(),
15
+ lastUsedAt: typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Null()]),
16
+ });
17
+ /**
18
+ * The schema for an api key with value
19
+ */
20
+ exports.ApiKeyWithValueSchema = typebox_1.Type.Object({
21
+ id: typebox_1.Type.String(),
22
+ tenantId: typebox_1.Type.String(),
23
+ name: typebox_1.Type.String(),
24
+ description: typebox_1.Type.String(),
25
+ maskedApiKey: typebox_1.Type.String(),
26
+ createdAt: typebox_1.Type.String(),
27
+ lastUsedAt: typebox_1.Type.Union([typebox_1.Type.String(), typebox_1.Type.Null()]),
28
+ apiKey: typebox_1.Type.String(),
12
29
  });