@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.
- package/lib/actions/actions.spec.js +1 -0
- package/lib/common/exceptions/conflict.exception.d.ts +11 -0
- package/lib/common/exceptions/conflict.exception.js +21 -0
- package/lib/common/utils/test-utils.d.ts +1 -0
- package/lib/common/utils/test-utils.js +6 -1
- package/lib/organizations/interfaces/create-organization-options.interface.d.ts +2 -0
- package/lib/organizations/interfaces/organization.interface.d.ts +2 -0
- package/lib/organizations/interfaces/update-organization-options.interface.d.ts +2 -0
- package/lib/organizations/organizations.d.ts +1 -0
- package/lib/organizations/organizations.js +6 -0
- package/lib/organizations/organizations.spec.js +13 -0
- package/lib/organizations/serializers/create-organization-options.serializer.js +1 -0
- package/lib/organizations/serializers/organization.serializer.js +6 -3
- package/lib/organizations/serializers/update-organization-options.serializer.js +1 -0
- package/lib/vault/cryptography/decrypt.d.ts +9 -0
- package/lib/vault/cryptography/decrypt.js +37 -0
- package/lib/vault/cryptography/encrypt.d.ts +1 -0
- package/lib/vault/cryptography/encrypt.js +31 -0
- package/lib/vault/interfaces/index.d.ts +10 -0
- package/lib/vault/interfaces/index.js +26 -0
- package/lib/vault/interfaces/key/create-data-key.interface.d.ts +10 -0
- package/lib/vault/interfaces/key/create-data-key.interface.js +2 -0
- package/lib/vault/interfaces/key/decrypt-data-key.interface.d.ts +7 -0
- package/lib/vault/interfaces/key/decrypt-data-key.interface.js +2 -0
- package/lib/vault/interfaces/key.interface.d.ts +10 -0
- package/lib/vault/interfaces/key.interface.js +2 -0
- package/lib/vault/interfaces/secret/create-secret.interface.d.ts +11 -0
- package/lib/vault/interfaces/secret/create-secret.interface.js +2 -0
- package/lib/vault/interfaces/secret/delete-secret.interface.d.ts +3 -0
- package/lib/vault/interfaces/secret/delete-secret.interface.js +2 -0
- package/lib/vault/interfaces/secret/list-secret-versions.interface.d.ts +8 -0
- package/lib/vault/interfaces/secret/list-secret-versions.interface.js +2 -0
- package/lib/vault/interfaces/secret/list-secrets.interface.d.ts +5 -0
- package/lib/vault/interfaces/secret/list-secrets.interface.js +2 -0
- package/lib/vault/interfaces/secret/read-secret.interface.d.ts +19 -0
- package/lib/vault/interfaces/secret/read-secret.interface.js +2 -0
- package/lib/vault/interfaces/secret/update-secret.interface.d.ts +9 -0
- package/lib/vault/interfaces/secret/update-secret.interface.js +2 -0
- package/lib/vault/interfaces/secret.interface.d.ts +32 -0
- package/lib/vault/interfaces/secret.interface.js +2 -0
- package/lib/vault/serializers/vault-key.serializer.d.ts +5 -0
- package/lib/vault/serializers/vault-key.serializer.js +17 -0
- package/lib/vault/serializers/vault-secret.serializer.d.ts +8 -0
- package/lib/vault/serializers/vault-secret.serializer.js +55 -0
- package/lib/vault/vault-live-test.spec.d.ts +1 -0
- package/lib/vault/vault-live-test.spec.js +245 -0
- package/lib/vault/vault.d.ts +19 -0
- package/lib/vault/vault.js +97 -0
- package/lib/vault/vault.spec.d.ts +1 -0
- package/lib/vault/vault.spec.js +247 -0
- package/lib/workos.d.ts +2 -0
- package/lib/workos.js +7 -1
- package/package.json +2 -2
|
@@ -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) =>
|
|
6
|
-
|
|
7
|
-
|
|
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,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,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,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,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 {};
|