@workos-inc/node 7.40.1 → 7.42.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 (53) hide show
  1. package/lib/actions/actions.spec.js +1 -0
  2. package/lib/common/exceptions/conflict.exception.d.ts +11 -0
  3. package/lib/common/exceptions/conflict.exception.js +21 -0
  4. package/lib/common/utils/test-utils.d.ts +1 -0
  5. package/lib/common/utils/test-utils.js +6 -1
  6. package/lib/organizations/interfaces/create-organization-options.interface.d.ts +2 -0
  7. package/lib/organizations/interfaces/organization.interface.d.ts +2 -0
  8. package/lib/organizations/interfaces/update-organization-options.interface.d.ts +2 -0
  9. package/lib/organizations/organizations.d.ts +1 -0
  10. package/lib/organizations/organizations.js +6 -0
  11. package/lib/organizations/organizations.spec.js +13 -0
  12. package/lib/organizations/serializers/create-organization-options.serializer.js +1 -0
  13. package/lib/organizations/serializers/organization.serializer.js +6 -3
  14. package/lib/organizations/serializers/update-organization-options.serializer.js +1 -0
  15. package/lib/vault/cryptography/decrypt.d.ts +9 -0
  16. package/lib/vault/cryptography/decrypt.js +37 -0
  17. package/lib/vault/cryptography/encrypt.d.ts +1 -0
  18. package/lib/vault/cryptography/encrypt.js +31 -0
  19. package/lib/vault/interfaces/index.d.ts +10 -0
  20. package/lib/vault/interfaces/index.js +26 -0
  21. package/lib/vault/interfaces/key/create-data-key.interface.d.ts +10 -0
  22. package/lib/vault/interfaces/key/create-data-key.interface.js +2 -0
  23. package/lib/vault/interfaces/key/decrypt-data-key.interface.d.ts +7 -0
  24. package/lib/vault/interfaces/key/decrypt-data-key.interface.js +2 -0
  25. package/lib/vault/interfaces/key.interface.d.ts +10 -0
  26. package/lib/vault/interfaces/key.interface.js +2 -0
  27. package/lib/vault/interfaces/secret/create-secret.interface.d.ts +11 -0
  28. package/lib/vault/interfaces/secret/create-secret.interface.js +2 -0
  29. package/lib/vault/interfaces/secret/delete-secret.interface.d.ts +3 -0
  30. package/lib/vault/interfaces/secret/delete-secret.interface.js +2 -0
  31. package/lib/vault/interfaces/secret/list-secret-versions.interface.d.ts +8 -0
  32. package/lib/vault/interfaces/secret/list-secret-versions.interface.js +2 -0
  33. package/lib/vault/interfaces/secret/list-secrets.interface.d.ts +5 -0
  34. package/lib/vault/interfaces/secret/list-secrets.interface.js +2 -0
  35. package/lib/vault/interfaces/secret/read-secret.interface.d.ts +19 -0
  36. package/lib/vault/interfaces/secret/read-secret.interface.js +2 -0
  37. package/lib/vault/interfaces/secret/update-secret.interface.d.ts +9 -0
  38. package/lib/vault/interfaces/secret/update-secret.interface.js +2 -0
  39. package/lib/vault/interfaces/secret.interface.d.ts +32 -0
  40. package/lib/vault/interfaces/secret.interface.js +2 -0
  41. package/lib/vault/serializers/vault-key.serializer.d.ts +5 -0
  42. package/lib/vault/serializers/vault-key.serializer.js +17 -0
  43. package/lib/vault/serializers/vault-secret.serializer.d.ts +8 -0
  44. package/lib/vault/serializers/vault-secret.serializer.js +55 -0
  45. package/lib/vault/vault-live-test.spec.d.ts +1 -0
  46. package/lib/vault/vault-live-test.spec.js +245 -0
  47. package/lib/vault/vault.d.ts +19 -0
  48. package/lib/vault/vault.js +97 -0
  49. package/lib/vault/vault.spec.d.ts +1 -0
  50. package/lib/vault/vault.spec.js +247 -0
  51. package/lib/workos.d.ts +2 -0
  52. package/lib/workos.js +7 -1
  53. package/package.json +2 -2
@@ -118,6 +118,7 @@ describe('Actions', () => {
118
118
  domains: [],
119
119
  createdAt: '2024-10-22T17:12:50.746Z',
120
120
  updatedAt: '2024-10-22T17:12:50.746Z',
121
+ externalId: null,
121
122
  },
122
123
  organizationMembership: {
123
124
  object: 'organization_membership',
@@ -0,0 +1,11 @@
1
+ import { RequestException } from '../interfaces/request-exception.interface';
2
+ export declare class ConflictException extends Error implements RequestException {
3
+ readonly status = 409;
4
+ readonly name = "ConflictException";
5
+ readonly requestID: string;
6
+ constructor({ error, message, requestID, }: {
7
+ error?: string;
8
+ message?: string;
9
+ requestID: string;
10
+ });
11
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConflictException = void 0;
4
+ class ConflictException extends Error {
5
+ constructor({ error, message, requestID, }) {
6
+ super();
7
+ this.status = 409;
8
+ this.name = 'ConflictException';
9
+ this.requestID = requestID;
10
+ if (message) {
11
+ this.message = message;
12
+ }
13
+ else if (error) {
14
+ this.message = `Error: ${error}`;
15
+ }
16
+ else {
17
+ this.message = `An conflict has occurred on the server.`;
18
+ }
19
+ }
20
+ }
21
+ exports.ConflictException = ConflictException;
@@ -5,6 +5,7 @@ export declare function fetchSearchParams(): {
5
5
  [k: string]: string;
6
6
  };
7
7
  export declare function fetchHeaders(): HeadersInit | undefined;
8
+ export declare function fetchMethod(): string | undefined;
8
9
  export declare function fetchBody({ raw }?: {
9
10
  raw?: boolean | undefined;
10
11
  }): any;
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.fetchBody = exports.fetchHeaders = exports.fetchSearchParams = exports.fetchURL = exports.fetchOnce = void 0;
17
+ exports.fetchBody = exports.fetchMethod = exports.fetchHeaders = exports.fetchSearchParams = exports.fetchURL = exports.fetchOnce = void 0;
18
18
  const jest_fetch_mock_1 = __importDefault(require("jest-fetch-mock"));
19
19
  function fetchOnce(response = {}, _a = {}) {
20
20
  var { status = 200, headers } = _a, rest = __rest(_a, ["status", "headers"]);
@@ -34,6 +34,11 @@ function fetchHeaders() {
34
34
  return (_a = jest_fetch_mock_1.default.mock.calls[0][1]) === null || _a === void 0 ? void 0 : _a.headers;
35
35
  }
36
36
  exports.fetchHeaders = fetchHeaders;
37
+ function fetchMethod() {
38
+ var _a;
39
+ return (_a = jest_fetch_mock_1.default.mock.calls[0][1]) === null || _a === void 0 ? void 0 : _a.method;
40
+ }
41
+ exports.fetchMethod = fetchMethod;
37
42
  function fetchBody({ raw = false } = {}) {
38
43
  var _a;
39
44
  const body = (_a = jest_fetch_mock_1.default.mock.calls[0][1]) === null || _a === void 0 ? void 0 : _a.body;
@@ -3,6 +3,7 @@ import { DomainData } from './domain-data.interface';
3
3
  export interface CreateOrganizationOptions {
4
4
  name: string;
5
5
  domainData?: DomainData[];
6
+ externalId?: string | null;
6
7
  /**
7
8
  * @deprecated If you need to allow sign-ins from any email domain, contact support@workos.com.
8
9
  */
@@ -15,6 +16,7 @@ export interface CreateOrganizationOptions {
15
16
  export interface SerializedCreateOrganizationOptions {
16
17
  name: string;
17
18
  domain_data?: DomainData[];
19
+ external_id?: string | null;
18
20
  /**
19
21
  * @deprecated If you need to allow sign-ins from any email domain, contact support@workos.com.
20
22
  */
@@ -8,6 +8,7 @@ export interface Organization {
8
8
  stripeCustomerId?: string;
9
9
  createdAt: string;
10
10
  updatedAt: string;
11
+ externalId: string | null;
11
12
  }
12
13
  export interface OrganizationResponse {
13
14
  object: 'organization';
@@ -18,4 +19,5 @@ export interface OrganizationResponse {
18
19
  stripe_customer_id?: string;
19
20
  created_at: string;
20
21
  updated_at: string;
22
+ external_id?: string | null;
21
23
  }
@@ -4,6 +4,7 @@ export interface UpdateOrganizationOptions {
4
4
  name?: string;
5
5
  domainData?: DomainData[];
6
6
  stripeCustomerId?: string | null;
7
+ externalId?: string | null;
7
8
  /**
8
9
  * @deprecated If you need to allow sign-ins from any email domain, contact support@workos.com.
9
10
  */
@@ -17,6 +18,7 @@ export interface SerializedUpdateOrganizationOptions {
17
18
  name?: string;
18
19
  domain_data?: DomainData[];
19
20
  stripe_customer_id?: string | null;
21
+ external_id?: string | null;
20
22
  /**
21
23
  * @deprecated If you need to allow sign-ins from any email domain, contact support@workos.com.
22
24
  */
@@ -10,6 +10,7 @@ export declare class Organizations {
10
10
  createOrganization(payload: CreateOrganizationOptions, requestOptions?: CreateOrganizationRequestOptions): Promise<Organization>;
11
11
  deleteOrganization(id: string): Promise<void>;
12
12
  getOrganization(id: string): Promise<Organization>;
13
+ getOrganizationByExternalId(externalId: string): Promise<Organization>;
13
14
  updateOrganization(options: UpdateOrganizationOptions): Promise<Organization>;
14
15
  listOrganizationRoles(options: ListOrganizationRolesOptions): Promise<RoleList>;
15
16
  }
@@ -51,6 +51,12 @@ class Organizations {
51
51
  return (0, serializers_1.deserializeOrganization)(data);
52
52
  });
53
53
  }
54
+ getOrganizationByExternalId(externalId) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const { data } = yield this.workos.get(`/organizations/external_id/${externalId}`);
57
+ return (0, serializers_1.deserializeOrganization)(data);
58
+ });
59
+ }
54
60
  updateOrganization(options) {
55
61
  return __awaiter(this, void 0, void 0, function* () {
56
62
  const { organization: organizationId } = options, payload = __rest(options, ["organization"]);
@@ -194,6 +194,19 @@ describe('Organizations', () => {
194
194
  ]);
195
195
  }));
196
196
  });
197
+ describe('getOrganizationByExternalId', () => {
198
+ it('sends request', () => __awaiter(void 0, void 0, void 0, function* () {
199
+ const externalId = 'user_external_id';
200
+ const apiResponse = Object.assign(Object.assign({}, get_organization_json_1.default), { external_id: externalId });
201
+ (0, test_utils_1.fetchOnce)(apiResponse);
202
+ const organization = yield workos.organizations.getOrganizationByExternalId(externalId);
203
+ expect((0, test_utils_1.fetchURL)()).toContain(`/organizations/external_id/${externalId}`);
204
+ expect(organization).toMatchObject({
205
+ id: apiResponse.id,
206
+ externalId: apiResponse.external_id,
207
+ });
208
+ }));
209
+ });
197
210
  describe('deleteOrganization', () => {
198
211
  it('sends request to delete an Organization', () => __awaiter(void 0, void 0, void 0, function* () {
199
212
  (0, test_utils_1.fetchOnce)();
@@ -6,5 +6,6 @@ const serializeCreateOrganizationOptions = (options) => ({
6
6
  allow_profiles_outside_organization: options.allowProfilesOutsideOrganization,
7
7
  domain_data: options.domainData,
8
8
  domains: options.domains,
9
+ external_id: options.externalId,
9
10
  });
10
11
  exports.serializeCreateOrganizationOptions = serializeCreateOrganizationOptions;
@@ -2,7 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deserializeOrganization = void 0;
4
4
  const organization_domain_serializer_1 = require("../../organization-domains/serializers/organization-domain.serializer");
5
- const deserializeOrganization = (organization) => (Object.assign(Object.assign({ object: organization.object, id: organization.id, name: organization.name, allowProfilesOutsideOrganization: organization.allow_profiles_outside_organization, domains: organization.domains.map(organization_domain_serializer_1.deserializeOrganizationDomain) }, (typeof organization.stripe_customer_id === 'undefined'
6
- ? undefined
7
- : { stripeCustomerId: organization.stripe_customer_id })), { createdAt: organization.created_at, updatedAt: organization.updated_at }));
5
+ const deserializeOrganization = (organization) => {
6
+ var _a;
7
+ return (Object.assign(Object.assign({ object: organization.object, id: organization.id, name: organization.name, allowProfilesOutsideOrganization: organization.allow_profiles_outside_organization, domains: organization.domains.map(organization_domain_serializer_1.deserializeOrganizationDomain) }, (typeof organization.stripe_customer_id === 'undefined'
8
+ ? undefined
9
+ : { stripeCustomerId: organization.stripe_customer_id })), { createdAt: organization.created_at, updatedAt: organization.updated_at, externalId: (_a = organization.external_id) !== null && _a !== void 0 ? _a : null }));
10
+ };
8
11
  exports.deserializeOrganization = deserializeOrganization;
@@ -7,5 +7,6 @@ const serializeUpdateOrganizationOptions = (options) => ({
7
7
  domain_data: options.domainData,
8
8
  domains: options.domains,
9
9
  stripe_customer_id: options.stripeCustomerId,
10
+ external_id: options.externalId,
10
11
  });
11
12
  exports.serializeUpdateOrganizationOptions = serializeUpdateOrganizationOptions;
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ export interface Decoded {
3
+ iv: Buffer;
4
+ tag: Buffer;
5
+ keys: string;
6
+ ciphertext: Buffer;
7
+ }
8
+ export declare const decrypt: (payload: string | Decoded, dataKey: string) => string;
9
+ export declare const decode: (payload: string) => Decoded;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.decode = exports.decrypt = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const leb_1 = require("leb");
9
+ const decrypt = (payload, dataKey) => {
10
+ if (typeof payload === 'string') {
11
+ payload = (0, exports.decode)(payload);
12
+ }
13
+ const { iv, tag, ciphertext } = payload;
14
+ const key = Buffer.from(dataKey, 'base64');
15
+ const decipher = crypto_1.default.createDecipheriv('aes-256-gcm', key, iv);
16
+ decipher.setAuthTag(tag);
17
+ const decrypted = decipher.update(ciphertext, undefined, 'utf-8') + decipher.final('utf-8');
18
+ return decrypted;
19
+ };
20
+ exports.decrypt = decrypt;
21
+ const decode = (payload) => {
22
+ const inputData = Buffer.from(payload, 'base64');
23
+ const iv = inputData.slice(0, 32);
24
+ const tag = inputData.slice(32, 48);
25
+ const { value: keyLen, nextIndex } = (0, leb_1.decodeUInt32)(inputData, 48);
26
+ const keys = inputData
27
+ .slice(nextIndex, nextIndex + keyLen)
28
+ .toString('base64');
29
+ const ciphertext = inputData.slice(nextIndex + keyLen);
30
+ return {
31
+ iv,
32
+ tag,
33
+ keys,
34
+ ciphertext,
35
+ };
36
+ };
37
+ exports.decode = decode;
@@ -0,0 +1 @@
1
+ export declare const encrypt: (data: string, dataKey: string, encryptedKeys: string) => string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.encrypt = void 0;
7
+ const crypto_1 = __importDefault(require("crypto"));
8
+ const leb_1 = require("leb");
9
+ const encrypt = (data, dataKey, encryptedKeys) => {
10
+ // encrypt using the returned data key
11
+ const key = Buffer.from(dataKey, 'base64');
12
+ const keyBlob = Buffer.from(encryptedKeys, 'base64');
13
+ const prefixLen = (0, leb_1.encodeUInt32)(keyBlob.length);
14
+ const iv = crypto_1.default.randomBytes(32);
15
+ const cipher = crypto_1.default.createCipheriv('aes-256-gcm', key, iv);
16
+ const ciphertext = Buffer.concat([
17
+ cipher.update(data, 'utf8'),
18
+ cipher.final(),
19
+ ]);
20
+ const tag = cipher.getAuthTag();
21
+ // store the encrypted keys with the ciphertext
22
+ const payload = Buffer.concat([
23
+ iv,
24
+ tag,
25
+ prefixLen,
26
+ keyBlob,
27
+ ciphertext,
28
+ ]).toString('base64');
29
+ return payload;
30
+ };
31
+ exports.encrypt = encrypt;
@@ -0,0 +1,10 @@
1
+ export * from './key/create-data-key.interface';
2
+ export * from './key/decrypt-data-key.interface';
3
+ export * from './key.interface';
4
+ export * from './secret/create-secret.interface';
5
+ export * from './secret/delete-secret.interface';
6
+ export * from './secret/list-secret-versions.interface';
7
+ export * from './secret/list-secrets.interface';
8
+ export * from './secret/read-secret.interface';
9
+ export * from './secret/update-secret.interface';
10
+ export * from './secret.interface';
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./key/create-data-key.interface"), exports);
18
+ __exportStar(require("./key/decrypt-data-key.interface"), exports);
19
+ __exportStar(require("./key.interface"), exports);
20
+ __exportStar(require("./secret/create-secret.interface"), exports);
21
+ __exportStar(require("./secret/delete-secret.interface"), exports);
22
+ __exportStar(require("./secret/list-secret-versions.interface"), exports);
23
+ __exportStar(require("./secret/list-secrets.interface"), exports);
24
+ __exportStar(require("./secret/read-secret.interface"), exports);
25
+ __exportStar(require("./secret/update-secret.interface"), exports);
26
+ __exportStar(require("./secret.interface"), exports);
@@ -0,0 +1,10 @@
1
+ import { SecretContext } from '../secret.interface';
2
+ export interface CreateDataKeyOptions {
3
+ context: SecretContext;
4
+ }
5
+ export interface CreateDataKeyResponse {
6
+ context: SecretContext;
7
+ data_key: string;
8
+ encrypted_keys: string;
9
+ id: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ export interface DecryptDataKeyOptions {
2
+ keys: string;
3
+ }
4
+ export interface DecryptDataKeyResponse {
5
+ data_key: string;
6
+ id: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { SecretContext } from './secret.interface';
2
+ export interface DataKeyPair {
3
+ context: SecretContext;
4
+ dataKey: DataKey;
5
+ encryptedKeys: string;
6
+ }
7
+ export interface DataKey {
8
+ key: string;
9
+ id: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { SecretContext } from '../secret.interface';
2
+ export interface CreateSecretEntity {
3
+ name: string;
4
+ value: string;
5
+ key_context: SecretContext;
6
+ }
7
+ export interface CreateSecretOptions {
8
+ name: string;
9
+ value: string;
10
+ context: SecretContext;
11
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export interface DeleteSecretOptions {
2
+ id: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ export interface SecretVersionResponse {
2
+ id: string;
3
+ created_at: string;
4
+ current_version: boolean;
5
+ }
6
+ export interface ListSecretVersionsResponse {
7
+ data: SecretVersionResponse[];
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export interface SecretDigestResponse {
2
+ id: string;
3
+ name: string;
4
+ updated_at: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
1
+ import { SecretContext, SecretUpdateBy } from '../secret.interface';
2
+ export interface ReadSecretOptions {
3
+ id: string;
4
+ }
5
+ export interface ReadSecretMetadataResponse {
6
+ context: SecretContext;
7
+ environment_id: string;
8
+ id: string;
9
+ key_id: string;
10
+ updated_at: string;
11
+ updated_by: SecretUpdateBy;
12
+ version_id: string;
13
+ }
14
+ export interface ReadSecretResponse {
15
+ id: string;
16
+ metadata: ReadSecretMetadataResponse;
17
+ name: string;
18
+ value: string;
19
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ export interface UpdateSecretEntity {
2
+ value: string;
3
+ version_check?: string;
4
+ }
5
+ export interface UpdateSecretOptions {
6
+ id: string;
7
+ value: string;
8
+ versionCheck?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,32 @@
1
+ export interface SecretContext {
2
+ [key: string]: any;
3
+ }
4
+ export interface SecretDigest {
5
+ id: string;
6
+ name: string;
7
+ updatedAt: Date;
8
+ }
9
+ export interface SecretUpdateBy {
10
+ id: string;
11
+ name: string;
12
+ }
13
+ export interface SecretMetadata {
14
+ context: SecretContext;
15
+ environmentId: string;
16
+ id: string;
17
+ keyId: string;
18
+ updatedAt: Date;
19
+ updatedBy: SecretUpdateBy;
20
+ versionId: string;
21
+ }
22
+ export interface VaultSecret {
23
+ id: string;
24
+ metadata: SecretMetadata;
25
+ name: string;
26
+ value?: string;
27
+ }
28
+ export interface SecretVersion {
29
+ createdAt: Date;
30
+ currentVersion: boolean;
31
+ id: string;
32
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { CreateDataKeyResponse } from '../interfaces/key/create-data-key.interface';
2
+ import { DecryptDataKeyResponse } from '../interfaces/key/decrypt-data-key.interface';
3
+ import { DataKey, DataKeyPair } from '../interfaces/key.interface';
4
+ export declare const deserializeCreateDataKeyResponse: (key: CreateDataKeyResponse) => DataKeyPair;
5
+ export declare const deserializeDecryptDataKeyResponse: (key: DecryptDataKeyResponse) => DataKey;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeDecryptDataKeyResponse = exports.deserializeCreateDataKeyResponse = void 0;
4
+ const deserializeCreateDataKeyResponse = (key) => ({
5
+ context: key.context,
6
+ dataKey: {
7
+ key: key.data_key,
8
+ id: key.id,
9
+ },
10
+ encryptedKeys: key.encrypted_keys,
11
+ });
12
+ exports.deserializeCreateDataKeyResponse = deserializeCreateDataKeyResponse;
13
+ const deserializeDecryptDataKeyResponse = (key) => ({
14
+ key: key.data_key,
15
+ id: key.id,
16
+ });
17
+ exports.deserializeDecryptDataKeyResponse = deserializeDecryptDataKeyResponse;
@@ -0,0 +1,8 @@
1
+ import { List, ListResponse } from '../../common/interfaces';
2
+ import { ReadSecretMetadataResponse, ReadSecretResponse, UpdateSecretOptions, UpdateSecretEntity, SecretMetadata, VaultSecret, SecretVersion, CreateSecretOptions, CreateSecretEntity, SecretDigestResponse, SecretDigest, ListSecretVersionsResponse } from '../interfaces';
3
+ export declare const deserializeSecretMetadata: (metadata: ReadSecretMetadataResponse) => SecretMetadata;
4
+ export declare const deserializeSecret: (secret: ReadSecretResponse) => VaultSecret;
5
+ export declare const deserializeListSecrets: (list: ListResponse<SecretDigestResponse>) => List<SecretDigest>;
6
+ export declare const desrializeListSecretVersions: (list: ListSecretVersionsResponse) => SecretVersion[];
7
+ export declare const serializeCreateSecretEntity: (options: CreateSecretOptions) => CreateSecretEntity;
8
+ export declare const serializeUpdateSecretEntity: (options: UpdateSecretOptions) => UpdateSecretEntity;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeUpdateSecretEntity = exports.serializeCreateSecretEntity = exports.desrializeListSecretVersions = exports.deserializeListSecrets = exports.deserializeSecret = exports.deserializeSecretMetadata = void 0;
4
+ const deserializeSecretMetadata = (metadata) => ({
5
+ context: metadata.context,
6
+ environmentId: metadata.environment_id,
7
+ id: metadata.id,
8
+ keyId: metadata.key_id,
9
+ updatedAt: new Date(Date.parse(metadata.updated_at)),
10
+ updatedBy: metadata.updated_by,
11
+ versionId: metadata.version_id,
12
+ });
13
+ exports.deserializeSecretMetadata = deserializeSecretMetadata;
14
+ const deserializeSecret = (secret) => ({
15
+ id: secret.id,
16
+ name: secret.name,
17
+ value: secret.value,
18
+ metadata: (0, exports.deserializeSecretMetadata)(secret.metadata),
19
+ });
20
+ exports.deserializeSecret = deserializeSecret;
21
+ const deserializeSecretDigest = (digest) => ({
22
+ id: digest.id,
23
+ name: digest.name,
24
+ updatedAt: new Date(Date.parse(digest.updated_at)),
25
+ });
26
+ const deserializeListSecrets = (list) => {
27
+ var _a, _b;
28
+ return ({
29
+ object: 'list',
30
+ data: list.data.map(deserializeSecretDigest),
31
+ listMetadata: {
32
+ after: (_a = list.list_metadata.after) !== null && _a !== void 0 ? _a : undefined,
33
+ before: (_b = list.list_metadata.before) !== null && _b !== void 0 ? _b : undefined,
34
+ },
35
+ });
36
+ };
37
+ exports.deserializeListSecrets = deserializeListSecrets;
38
+ const desrializeListSecretVersions = (list) => list.data.map(deserializeSecretVersion);
39
+ exports.desrializeListSecretVersions = desrializeListSecretVersions;
40
+ const deserializeSecretVersion = (version) => ({
41
+ createdAt: new Date(Date.parse(version.created_at)),
42
+ currentVersion: version.current_version,
43
+ id: version.id,
44
+ });
45
+ const serializeCreateSecretEntity = (options) => ({
46
+ name: options.name,
47
+ value: options.value,
48
+ key_context: options.context,
49
+ });
50
+ exports.serializeCreateSecretEntity = serializeCreateSecretEntity;
51
+ const serializeUpdateSecretEntity = (options) => ({
52
+ value: options.value,
53
+ version_check: options.versionCheck,
54
+ });
55
+ exports.serializeUpdateSecretEntity = serializeUpdateSecretEntity;
@@ -0,0 +1 @@
1
+ export {};