@boxyhq/saml-jackson 1.9.2 → 1.9.5
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/dist/controller/admin.d.ts +10 -4
- package/dist/controller/admin.js +6 -6
- package/dist/controller/admin.js.map +1 -1
- package/dist/controller/api.d.ts +3 -1
- package/dist/controller/api.js +19 -12
- package/dist/controller/api.js.map +1 -1
- package/dist/controller/connection/saml.js +2 -2
- package/dist/controller/connection/saml.js.map +1 -1
- package/dist/controller/logout.js +4 -4
- package/dist/controller/logout.js.map +1 -1
- package/dist/controller/oauth.js +4 -3
- package/dist/controller/oauth.js.map +1 -1
- package/dist/controller/saml-handler.js +4 -4
- package/dist/controller/saml-handler.js.map +1 -1
- package/dist/controller/setup-link.d.ts +4 -1
- package/dist/controller/setup-link.js +8 -8
- package/dist/controller/setup-link.js.map +1 -1
- package/dist/controller/utils.d.ts +16 -2
- package/dist/controller/utils.js +11 -8
- package/dist/controller/utils.js.map +1 -1
- package/dist/db/db.d.ts +4 -3
- package/dist/db/db.js +24 -10
- package/dist/db/db.js.map +1 -1
- package/dist/db/defaultDb.js +4 -0
- package/dist/db/defaultDb.js.map +1 -1
- package/dist/db/dynamoDb.d.ts +18 -0
- package/dist/db/dynamoDb.js +336 -0
- package/dist/db/dynamoDb.js.map +1 -0
- package/dist/db/mem.d.ts +4 -3
- package/dist/db/mem.js +15 -5
- package/dist/db/mem.js.map +1 -1
- package/dist/db/mongo.d.ts +4 -3
- package/dist/db/mongo.js +16 -5
- package/dist/db/mongo.js.map +1 -1
- package/dist/db/planetscale/entity/JacksonIndex.js.map +1 -1
- package/dist/db/planetscale/entity/JacksonStore.js.map +1 -1
- package/dist/db/planetscale/entity/JacksonTTL.js.map +1 -1
- package/dist/db/redis.d.ts +4 -3
- package/dist/db/redis.js +26 -5
- package/dist/db/redis.js.map +1 -1
- package/dist/db/sql/entity/JacksonIndex.js.map +1 -1
- package/dist/db/sql/entity/JacksonStore.js.map +1 -1
- package/dist/db/sql/entity/JacksonTTL.js.map +1 -1
- package/dist/db/sql/mariadb/entity/JacksonIndex.js.map +1 -1
- package/dist/db/sql/mariadb/entity/JacksonStore.js.map +1 -1
- package/dist/db/sql/mariadb/entity/JacksonTTL.js.map +1 -1
- package/dist/db/sql/mssql/entity/JacksonIndex.js.map +1 -1
- package/dist/db/sql/mssql/entity/JacksonStore.js.map +1 -1
- package/dist/db/sql/mssql/entity/JacksonTTL.js.map +1 -1
- package/dist/db/sql/sql.d.ts +4 -3
- package/dist/db/sql/sql.js +33 -4
- package/dist/db/sql/sql.js.map +1 -1
- package/dist/db/store.js +9 -4
- package/dist/db/store.js.map +1 -1
- package/dist/directory-sync/Base.d.ts +1 -0
- package/dist/directory-sync/Base.js +1 -0
- package/dist/directory-sync/Base.js.map +1 -1
- package/dist/directory-sync/DirectoryConfig.d.ts +22 -8
- package/dist/directory-sync/DirectoryConfig.js +38 -15
- package/dist/directory-sync/DirectoryConfig.js.map +1 -1
- package/dist/directory-sync/DirectoryGroups.d.ts +4 -5
- package/dist/directory-sync/DirectoryGroups.js +55 -77
- package/dist/directory-sync/DirectoryGroups.js.map +1 -1
- package/dist/directory-sync/DirectoryUsers.js +6 -6
- package/dist/directory-sync/DirectoryUsers.js.map +1 -1
- package/dist/directory-sync/Groups.d.ts +3 -2
- package/dist/directory-sync/Groups.js +48 -18
- package/dist/directory-sync/Groups.js.map +1 -1
- package/dist/directory-sync/Users.d.ts +1 -1
- package/dist/directory-sync/Users.js +18 -14
- package/dist/directory-sync/Users.js.map +1 -1
- package/dist/directory-sync/WebhookEventsLogger.d.ts +7 -6
- package/dist/directory-sync/WebhookEventsLogger.js +26 -18
- package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
- package/dist/directory-sync/events.js +7 -18
- package/dist/directory-sync/events.js.map +1 -1
- package/dist/directory-sync/index.d.ts +3 -2
- package/dist/directory-sync/index.js +6 -5
- package/dist/directory-sync/index.js.map +1 -1
- package/dist/directory-sync/transform.d.ts +9 -5
- package/dist/directory-sync/transform.js +26 -2
- package/dist/directory-sync/transform.js.map +1 -1
- package/dist/directory-sync/types.d.ts +24 -4
- package/dist/directory-sync/utils.d.ts +23 -26
- package/dist/directory-sync/utils.js +50 -86
- package/dist/directory-sync/utils.js.map +1 -1
- package/dist/ee/federated-saml/app.d.ts +4 -3
- package/dist/ee/federated-saml/app.js +4 -4
- package/dist/ee/federated-saml/app.js.map +1 -1
- package/dist/event/axios.d.ts +2 -0
- package/dist/event/axios.js +32 -0
- package/dist/event/axios.js.map +1 -0
- package/dist/event/index.d.ts +10 -0
- package/dist/event/index.js +54 -0
- package/dist/event/index.js.map +1 -0
- package/dist/event/types.d.ts +21 -0
- package/dist/event/types.js +3 -0
- package/dist/event/types.js.map +1 -0
- package/dist/event/utils.d.ts +4 -0
- package/dist/event/utils.js +39 -0
- package/dist/event/utils.js.map +1 -0
- package/dist/event/webhook.d.ts +3 -0
- package/dist/event/webhook.js +39 -0
- package/dist/event/webhook.js.map +1 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/loadConnection.js +1 -2
- package/dist/loadConnection.js.map +1 -1
- package/dist/saml-tracer/index.d.ts +2 -2
- package/dist/saml-tracer/index.js +5 -4
- package/dist/saml-tracer/index.js.map +1 -1
- package/dist/typings.d.ts +25 -7
- package/dist/typings.js +1 -0
- package/dist/typings.js.map +1 -1
- package/package.json +13 -10
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as jose from 'jose';
|
2
2
|
import { Client, TokenSet } from 'openid-client';
|
3
|
-
import type { ConnectionType, OAuthErrorHandlerParams, SAMLSSOConnectionWithEncodedMetadata, SAMLSSOConnectionWithRawMetadata, OIDCSSOConnectionWithDiscoveryUrl, OIDCSSOConnectionWithMetadata, Profile, SAMLSSORecord } from '../typings';
|
3
|
+
import type { ConnectionType, OAuthErrorHandlerParams, SAMLSSOConnectionWithEncodedMetadata, SAMLSSOConnectionWithRawMetadata, OIDCSSOConnectionWithDiscoveryUrl, OIDCSSOConnectionWithMetadata, Profile, SAMLSSORecord, OIDCSSORecord } from '../typings';
|
4
4
|
export declare enum IndexNames {
|
5
5
|
EntityID = "entityID",
|
6
6
|
SetupToken = "token",
|
@@ -54,5 +54,19 @@ export declare const getEncodedTenantProduct: (param: string) => {
|
|
54
54
|
} | null;
|
55
55
|
export declare const validateTenantAndProduct: (tenant: string, product: string) => void;
|
56
56
|
export declare const appID: (tenant: string, product: string) => string;
|
57
|
-
|
57
|
+
declare const wellKnownProviders: {
|
58
|
+
readonly 'okta.com': "Okta";
|
59
|
+
readonly 'sts.windows.net': "Azure AD";
|
60
|
+
readonly 'mocksaml.com': "MockSAML";
|
61
|
+
readonly 'onelogin.com': "OneLogin";
|
62
|
+
readonly 'keycloak.com': "Keycloak";
|
63
|
+
readonly 'jumpcloud.com': "JumpCloud";
|
64
|
+
readonly 'google.com': "Google";
|
65
|
+
readonly 'auth0.com': "Auth0";
|
66
|
+
readonly 'pingone.com': "PingOne";
|
67
|
+
};
|
68
|
+
export declare const findFriendlyProviderName: (providerName: string) => keyof typeof wellKnownProviders | 'null';
|
69
|
+
export declare const transformConnections: (connections: Array<SAMLSSORecord | OIDCSSORecord>) => (SAMLSSORecord | OIDCSSORecord)[];
|
70
|
+
export declare const transformConnection: (connection: SAMLSSORecord | OIDCSSORecord) => SAMLSSORecord | OIDCSSORecord;
|
58
71
|
export declare const isLocalhost: (url: string) => boolean;
|
72
|
+
export {};
|
package/dist/controller/utils.js
CHANGED
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
36
36
|
};
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
|
-
exports.isLocalhost = exports.transformConnections = exports.appID = exports.validateTenantAndProduct = exports.getEncodedTenantProduct = exports.getScopeValues = exports.extractOIDCUserProfile = exports.extractHostName = exports.extractRedirectUrls = exports.validateRedirectUrl = exports.validateSSOConnection = exports.generateJwkThumbprint = exports.exportPublicKeyJWK = exports.importJWTPublicKey = exports.isJWSKeyPairLoaded = exports.loadJWSPrivateKey = exports.createRandomSecret = exports.getErrorMessage = exports.OAuthErrorResponse = exports.validateAbsoluteUrl = exports.relayStatePrefix = exports.storeNamespacePrefix = exports.IndexNames = void 0;
|
38
|
+
exports.isLocalhost = exports.transformConnection = exports.transformConnections = exports.findFriendlyProviderName = exports.appID = exports.validateTenantAndProduct = exports.getEncodedTenantProduct = exports.getScopeValues = exports.extractOIDCUserProfile = exports.extractHostName = exports.extractRedirectUrls = exports.validateRedirectUrl = exports.validateSSOConnection = exports.generateJwkThumbprint = exports.exportPublicKeyJWK = exports.importJWTPublicKey = exports.isJWSKeyPairLoaded = exports.loadJWSPrivateKey = exports.createRandomSecret = exports.getErrorMessage = exports.OAuthErrorResponse = exports.validateAbsoluteUrl = exports.relayStatePrefix = exports.storeNamespacePrefix = exports.IndexNames = void 0;
|
39
39
|
const crypto_1 = __importDefault(require("crypto"));
|
40
40
|
const jose = __importStar(require("jose"));
|
41
41
|
const dbutils = __importStar(require("../db/utils"));
|
@@ -299,19 +299,22 @@ const findFriendlyProviderName = (providerName) => {
|
|
299
299
|
const provider = Object.keys(wellKnownProviders).find((provider) => providerName.includes(provider));
|
300
300
|
return provider ? wellKnownProviders[provider] : null;
|
301
301
|
};
|
302
|
+
exports.findFriendlyProviderName = findFriendlyProviderName;
|
303
|
+
// Add friendlyProviderName to the connection
|
302
304
|
const transformConnections = (connections) => {
|
303
305
|
if (connections.length === 0) {
|
304
306
|
return connections;
|
305
307
|
}
|
306
|
-
|
307
|
-
return connections.map((connection) => {
|
308
|
-
if ('idpMetadata' in connection) {
|
309
|
-
connection.idpMetadata.friendlyProviderName = findFriendlyProviderName(connection.idpMetadata.provider);
|
310
|
-
}
|
311
|
-
return connection;
|
312
|
-
});
|
308
|
+
return connections.map(exports.transformConnection);
|
313
309
|
};
|
314
310
|
exports.transformConnections = transformConnections;
|
311
|
+
const transformConnection = (connection) => {
|
312
|
+
if ('idpMetadata' in connection) {
|
313
|
+
connection.idpMetadata.friendlyProviderName = (0, exports.findFriendlyProviderName)(connection.idpMetadata.provider);
|
314
|
+
}
|
315
|
+
return connection;
|
316
|
+
};
|
317
|
+
exports.transformConnection = transformConnection;
|
315
318
|
const isLocalhost = (url) => {
|
316
319
|
let givenURL;
|
317
320
|
try {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/controller/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAC5B,2CAA6B;AAG7B,qDAAuC;
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/controller/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/db/db.d.ts
CHANGED
@@ -1,13 +1,14 @@
|
|
1
|
-
import { DatabaseDriver, DatabaseOption, EncryptionKey, Index, Storable } from '../typings';
|
1
|
+
import { DatabaseDriver, DatabaseOption, EncryptionKey, Index, Records, Storable } from '../typings';
|
2
2
|
declare class DB implements DatabaseDriver {
|
3
3
|
private db;
|
4
4
|
private encryptionKey;
|
5
5
|
constructor(db: DatabaseDriver, encryptionKey: EncryptionKey);
|
6
6
|
get(namespace: string, key: string): Promise<unknown>;
|
7
|
-
getAll(namespace:
|
8
|
-
getByIndex(namespace: string, idx: Index, pageOffset?: number, pageLimit?: number): Promise<
|
7
|
+
getAll(namespace: string, pageOffset?: number, pageLimit?: number, pageToken?: string): Promise<Records>;
|
8
|
+
getByIndex(namespace: string, idx: Index, pageOffset?: number, pageLimit?: number, pageToken?: string): Promise<Records>;
|
9
9
|
put(namespace: string, key: string, val: unknown, ttl?: number, ...indexes: Index[]): Promise<unknown>;
|
10
10
|
delete(namespace: string, key: string): Promise<unknown>;
|
11
|
+
deleteMany(namespace: string, keys: string[]): Promise<void>;
|
11
12
|
store(namespace: string, ttl?: number): Storable;
|
12
13
|
}
|
13
14
|
declare const _default: {
|
package/dist/db/db.js
CHANGED
@@ -41,6 +41,7 @@ const mongo_1 = __importDefault(require("./mongo"));
|
|
41
41
|
const redis_1 = __importDefault(require("./redis"));
|
42
42
|
const sql_1 = __importDefault(require("./sql/sql"));
|
43
43
|
const store_1 = __importDefault(require("./store"));
|
44
|
+
const dynamoDb_1 = __importDefault(require("./dynamoDb"));
|
44
45
|
const JacksonStore_1 = require("./sql/entity/JacksonStore");
|
45
46
|
const JacksonIndex_1 = require("./sql/entity/JacksonIndex");
|
46
47
|
const JacksonTTL_1 = require("./sql/entity/JacksonTTL");
|
@@ -73,22 +74,28 @@ class DB {
|
|
73
74
|
return decrypt(res, this.encryptionKey);
|
74
75
|
});
|
75
76
|
}
|
76
|
-
getAll(namespace, pageOffset, pageLimit) {
|
77
|
+
getAll(namespace, pageOffset, pageLimit, pageToken) {
|
77
78
|
return __awaiter(this, void 0, void 0, function* () {
|
78
|
-
const res =
|
79
|
+
const res = yield this.db.getAll(namespace, pageOffset, pageLimit, pageToken);
|
79
80
|
const encryptionKey = this.encryptionKey;
|
80
|
-
return
|
81
|
-
|
82
|
-
|
81
|
+
return {
|
82
|
+
data: res.data.map((r) => {
|
83
|
+
return decrypt(r, encryptionKey);
|
84
|
+
}),
|
85
|
+
pageToken: res.pageToken,
|
86
|
+
};
|
83
87
|
});
|
84
88
|
}
|
85
|
-
getByIndex(namespace, idx, pageOffset, pageLimit) {
|
89
|
+
getByIndex(namespace, idx, pageOffset, pageLimit, pageToken) {
|
86
90
|
return __awaiter(this, void 0, void 0, function* () {
|
87
|
-
const res = yield this.db.getByIndex(namespace, idx, pageOffset, pageLimit);
|
91
|
+
const res = yield this.db.getByIndex(namespace, idx, pageOffset, pageLimit, pageToken);
|
88
92
|
const encryptionKey = this.encryptionKey;
|
89
|
-
return
|
90
|
-
|
91
|
-
|
93
|
+
return {
|
94
|
+
data: res.data.map((r) => {
|
95
|
+
return decrypt(r, encryptionKey);
|
96
|
+
}),
|
97
|
+
pageToken: res.pageToken,
|
98
|
+
};
|
92
99
|
});
|
93
100
|
}
|
94
101
|
// ttl is in seconds
|
@@ -108,6 +115,11 @@ class DB {
|
|
108
115
|
return yield this.db.delete(namespace, key);
|
109
116
|
});
|
110
117
|
}
|
118
|
+
deleteMany(namespace, keys) {
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
120
|
+
return yield this.db.deleteMany(namespace, keys);
|
121
|
+
});
|
122
|
+
}
|
111
123
|
store(namespace, ttl = 0) {
|
112
124
|
return store_1.default.new(namespace, this, ttl);
|
113
125
|
}
|
@@ -150,6 +162,8 @@ exports.default = {
|
|
150
162
|
return new DB(yield mongo_1.default.new(options), encryptionKey);
|
151
163
|
case 'mem':
|
152
164
|
return new DB(yield mem_1.default.new(options), encryptionKey);
|
165
|
+
case 'dynamodb':
|
166
|
+
return new DB(yield dynamoDb_1.default.new(options), encryptionKey);
|
153
167
|
default:
|
154
168
|
throw new Error('unsupported db engine: ' + options.engine);
|
155
169
|
}
|
package/dist/db/db.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db/db.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/db/db.ts"],"names":[],"mappings":"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"}
|
package/dist/db/defaultDb.js
CHANGED
@@ -7,6 +7,10 @@ function defaultDb(opts) {
|
|
7
7
|
opts.db.type = opts.db.type || 'postgres'; // Only needed if DB_ENGINE is sql.
|
8
8
|
opts.db.ttl = (opts.db.ttl || 300) * 1; // TTL for the code, session and token stores (in seconds)
|
9
9
|
opts.db.cleanupLimit = (opts.db.cleanupLimit || 1000) * 1; // Limit cleanup of TTL entries to this many items at a time
|
10
|
+
opts.db.dynamodb = opts.db.dynamodb || {};
|
11
|
+
opts.db.dynamodb.region = opts.db.dynamodb.region || 'us-east-1';
|
12
|
+
opts.db.dynamodb.readCapacityUnits = opts.db.dynamodb.readCapacityUnits || 5;
|
13
|
+
opts.db.dynamodb.writeCapacityUnits = opts.db.dynamodb.writeCapacityUnits || 5;
|
10
14
|
return opts;
|
11
15
|
}
|
12
16
|
exports.default = defaultDb;
|
package/dist/db/defaultDb.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"defaultDb.js","sourceRoot":"","sources":["../../src/db/defaultDb.ts"],"names":[],"mappings":";;AAEA,SAAwB,SAAS,CAAC,IAAmB;IACnD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC;IACzC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,wDAAwD,CAAC;IACtF,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,mCAAmC;IAC9E,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,0DAA0D;IAClG,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,4DAA4D;
|
1
|
+
{"version":3,"file":"defaultDb.js","sourceRoot":"","sources":["../../src/db/defaultDb.ts"],"names":[],"mappings":";;AAEA,SAAwB,SAAS,CAAC,IAAmB;IACnD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC;IACzC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,wDAAwD,CAAC;IACtF,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,mCAAmC;IAC9E,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,0DAA0D;IAClG,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,4DAA4D;IACvH,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,WAAW,CAAC;IACjE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC,CAAC;IAE/E,OAAO,IAAI,CAAC;AACd,CAAC;AAbD,4BAaC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { DatabaseDriver, DatabaseOption, Encrypted, Index, Records } from '../typings';
|
2
|
+
declare class DynamoDB implements DatabaseDriver {
|
3
|
+
private options;
|
4
|
+
private client;
|
5
|
+
constructor(options: DatabaseOption);
|
6
|
+
init(): Promise<DynamoDB>;
|
7
|
+
_get(namespace: string, key: string): Promise<any>;
|
8
|
+
get(namespace: string, key: string): Promise<any>;
|
9
|
+
getAll(namespace: string, _?: number, pageLimit?: number, pageToken?: string): Promise<Records>;
|
10
|
+
getByIndex(namespace: string, idx: Index, _?: number, __?: number, pageToken?: string): Promise<Records>;
|
11
|
+
put(namespace: string, key: string, val: Encrypted, ttl?: number, ...indexes: any[]): Promise<void>;
|
12
|
+
delete(namespace: string, key: string): Promise<any>;
|
13
|
+
deleteMany(namespace: string, keys: string[]): Promise<void>;
|
14
|
+
}
|
15
|
+
declare const _default: {
|
16
|
+
new: (options: DatabaseOption) => Promise<DynamoDB>;
|
17
|
+
};
|
18
|
+
export default _default;
|
@@ -0,0 +1,336 @@
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
32
|
+
});
|
33
|
+
};
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
35
|
+
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
36
|
+
const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
|
37
|
+
const dbutils = __importStar(require("./utils"));
|
38
|
+
const getSeconds = (date) => Math.floor(date.getTime() / 1000);
|
39
|
+
const tableName = 'jacksonStore';
|
40
|
+
const indexTableName = 'jacksonIndex';
|
41
|
+
const globalStoreKeyIndexName = 'storeKeyIndex';
|
42
|
+
const globalIndexKeyIndexName = 'indexKeyIndex';
|
43
|
+
class DynamoDB {
|
44
|
+
constructor(options) {
|
45
|
+
this.options = options;
|
46
|
+
}
|
47
|
+
init() {
|
48
|
+
var _a, _b, _c, _d;
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
50
|
+
this.client = new client_dynamodb_1.DynamoDBClient({
|
51
|
+
endpoint: this.options.url,
|
52
|
+
region: this.options.dynamodb.region,
|
53
|
+
});
|
54
|
+
try {
|
55
|
+
yield this.client.send(new client_dynamodb_1.CreateTableCommand({
|
56
|
+
KeySchema: [
|
57
|
+
{
|
58
|
+
AttributeName: 'namespace',
|
59
|
+
KeyType: 'HASH',
|
60
|
+
},
|
61
|
+
{
|
62
|
+
AttributeName: 'key',
|
63
|
+
KeyType: 'RANGE',
|
64
|
+
},
|
65
|
+
],
|
66
|
+
AttributeDefinitions: [
|
67
|
+
{
|
68
|
+
AttributeName: 'namespace',
|
69
|
+
AttributeType: 'S',
|
70
|
+
},
|
71
|
+
{
|
72
|
+
AttributeName: 'key',
|
73
|
+
AttributeType: 'S',
|
74
|
+
},
|
75
|
+
],
|
76
|
+
ProvisionedThroughput: {
|
77
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
78
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
79
|
+
},
|
80
|
+
TableName: tableName,
|
81
|
+
}));
|
82
|
+
yield this.client.send(new client_dynamodb_1.UpdateTimeToLiveCommand({
|
83
|
+
TableName: tableName,
|
84
|
+
TimeToLiveSpecification: {
|
85
|
+
AttributeName: 'expiresAt',
|
86
|
+
Enabled: true,
|
87
|
+
},
|
88
|
+
}));
|
89
|
+
}
|
90
|
+
catch (error) {
|
91
|
+
if (!((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('Cannot create preexisting table')) &&
|
92
|
+
!((_b = error === null || error === void 0 ? void 0 : error.message) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes('table already exists'))) {
|
93
|
+
throw error;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
try {
|
97
|
+
yield this.client.send(new client_dynamodb_1.CreateTableCommand({
|
98
|
+
KeySchema: [
|
99
|
+
{
|
100
|
+
AttributeName: 'key',
|
101
|
+
KeyType: 'HASH',
|
102
|
+
},
|
103
|
+
{
|
104
|
+
AttributeName: 'storeKey',
|
105
|
+
KeyType: 'RANGE',
|
106
|
+
},
|
107
|
+
],
|
108
|
+
AttributeDefinitions: [
|
109
|
+
{
|
110
|
+
AttributeName: 'key',
|
111
|
+
AttributeType: 'S',
|
112
|
+
},
|
113
|
+
{
|
114
|
+
AttributeName: 'storeKey',
|
115
|
+
AttributeType: 'S',
|
116
|
+
},
|
117
|
+
],
|
118
|
+
GlobalSecondaryIndexes: [
|
119
|
+
{
|
120
|
+
IndexName: globalIndexKeyIndexName,
|
121
|
+
KeySchema: [
|
122
|
+
{
|
123
|
+
AttributeName: 'key',
|
124
|
+
KeyType: 'HASH',
|
125
|
+
},
|
126
|
+
],
|
127
|
+
Projection: {
|
128
|
+
ProjectionType: 'ALL',
|
129
|
+
},
|
130
|
+
ProvisionedThroughput: {
|
131
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
132
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
133
|
+
},
|
134
|
+
},
|
135
|
+
{
|
136
|
+
IndexName: globalStoreKeyIndexName,
|
137
|
+
KeySchema: [
|
138
|
+
{
|
139
|
+
AttributeName: 'storeKey',
|
140
|
+
KeyType: 'HASH',
|
141
|
+
},
|
142
|
+
],
|
143
|
+
Projection: {
|
144
|
+
ProjectionType: 'ALL',
|
145
|
+
},
|
146
|
+
ProvisionedThroughput: {
|
147
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
148
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
149
|
+
},
|
150
|
+
},
|
151
|
+
],
|
152
|
+
ProvisionedThroughput: {
|
153
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
154
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
155
|
+
},
|
156
|
+
TableName: indexTableName,
|
157
|
+
}));
|
158
|
+
}
|
159
|
+
catch (error) {
|
160
|
+
if (!((_c = error === null || error === void 0 ? void 0 : error.message) === null || _c === void 0 ? void 0 : _c.includes('Cannot create preexisting table')) &&
|
161
|
+
!((_d = error === null || error === void 0 ? void 0 : error.message) === null || _d === void 0 ? void 0 : _d.toLowerCase().includes('table already exists'))) {
|
162
|
+
throw error;
|
163
|
+
}
|
164
|
+
}
|
165
|
+
return this;
|
166
|
+
});
|
167
|
+
}
|
168
|
+
// internal get without dbutils.Key
|
169
|
+
_get(namespace, key) {
|
170
|
+
return __awaiter(this, void 0, void 0, function* () {
|
171
|
+
const res = yield this.client.send(new client_dynamodb_1.GetItemCommand({ Key: (0, util_dynamodb_1.marshall)({ namespace, key }), TableName: tableName }));
|
172
|
+
// Double check that the item has not expired
|
173
|
+
const now = getSeconds(new Date());
|
174
|
+
const item = res.Item ? (0, util_dynamodb_1.unmarshall)(res.Item) : null;
|
175
|
+
if ((item === null || item === void 0 ? void 0 : item.expiresAt) < now) {
|
176
|
+
return null;
|
177
|
+
}
|
178
|
+
if (item && item.value) {
|
179
|
+
return JSON.parse(item.value);
|
180
|
+
}
|
181
|
+
return null;
|
182
|
+
});
|
183
|
+
}
|
184
|
+
get(namespace, key) {
|
185
|
+
return __awaiter(this, void 0, void 0, function* () {
|
186
|
+
return this._get(namespace, dbutils.key(namespace, key));
|
187
|
+
});
|
188
|
+
}
|
189
|
+
getAll(namespace, _, pageLimit, pageToken) {
|
190
|
+
var _a, _b, _c;
|
191
|
+
return __awaiter(this, void 0, void 0, function* () {
|
192
|
+
const res = yield this.client.send(new client_dynamodb_1.QueryCommand({
|
193
|
+
KeyConditionExpression: 'namespace = :namespace',
|
194
|
+
ExpressionAttributeValues: {
|
195
|
+
':namespace': { S: namespace },
|
196
|
+
},
|
197
|
+
TableName: tableName,
|
198
|
+
Limit: pageLimit && pageLimit > 0 ? pageLimit : undefined,
|
199
|
+
ExclusiveStartKey: pageToken ? JSON.parse(Buffer.from(pageToken, 'base64').toString()) : undefined,
|
200
|
+
}));
|
201
|
+
const newPageToken = res.LastEvaluatedKey
|
202
|
+
? Buffer.from(JSON.stringify(res.LastEvaluatedKey)).toString('base64')
|
203
|
+
: undefined;
|
204
|
+
const items = [];
|
205
|
+
for (const item of res.Items || []) {
|
206
|
+
const ns = (_a = item.namespace) === null || _a === void 0 ? void 0 : _a.S;
|
207
|
+
const k = (_b = item.key) === null || _b === void 0 ? void 0 : _b.S;
|
208
|
+
const value = (_c = item.value) === null || _c === void 0 ? void 0 : _c.S;
|
209
|
+
if (ns && k && value) {
|
210
|
+
const val = JSON.parse(value);
|
211
|
+
if (val) {
|
212
|
+
items.push(val);
|
213
|
+
}
|
214
|
+
}
|
215
|
+
}
|
216
|
+
return { data: items, pageToken: newPageToken };
|
217
|
+
});
|
218
|
+
}
|
219
|
+
// dynamodb pagination cannot care about pageOffset and pageLimit here, we let it handle it on it's own
|
220
|
+
getByIndex(namespace, idx, _, __, pageToken) {
|
221
|
+
var _a, _b;
|
222
|
+
return __awaiter(this, void 0, void 0, function* () {
|
223
|
+
const res = yield this.client.send(new client_dynamodb_1.QueryCommand({
|
224
|
+
KeyConditionExpression: '#key = :key',
|
225
|
+
ExpressionAttributeNames: {
|
226
|
+
'#key': 'key',
|
227
|
+
},
|
228
|
+
ExpressionAttributeValues: {
|
229
|
+
':key': { S: dbutils.keyForIndex(namespace, idx) },
|
230
|
+
},
|
231
|
+
TableName: indexTableName,
|
232
|
+
IndexName: globalIndexKeyIndexName,
|
233
|
+
ExclusiveStartKey: pageToken ? JSON.parse(Buffer.from(pageToken, 'base64').toString()) : undefined,
|
234
|
+
}));
|
235
|
+
const newPageToken = res.LastEvaluatedKey
|
236
|
+
? Buffer.from(JSON.stringify(res.LastEvaluatedKey)).toString('base64')
|
237
|
+
: undefined;
|
238
|
+
const items = [];
|
239
|
+
for (const item of res.Items || []) {
|
240
|
+
const ns = (_a = item.namespace) === null || _a === void 0 ? void 0 : _a.S;
|
241
|
+
const sk = (_b = item.storeKey) === null || _b === void 0 ? void 0 : _b.S;
|
242
|
+
if (ns && sk) {
|
243
|
+
const val = yield this._get(ns, sk); // use internal get to avoid double keying
|
244
|
+
if (val) {
|
245
|
+
items.push({
|
246
|
+
value: val.value,
|
247
|
+
iv: val.iv,
|
248
|
+
tag: val.tag,
|
249
|
+
});
|
250
|
+
}
|
251
|
+
}
|
252
|
+
}
|
253
|
+
return { data: items, pageToken: newPageToken };
|
254
|
+
});
|
255
|
+
}
|
256
|
+
put(namespace, key, val, ttl = 0, ...indexes) {
|
257
|
+
return __awaiter(this, void 0, void 0, function* () {
|
258
|
+
const dbKey = dbutils.key(namespace, key);
|
259
|
+
const now = getSeconds(new Date());
|
260
|
+
const doc = {
|
261
|
+
namespace,
|
262
|
+
key: dbKey,
|
263
|
+
value: JSON.stringify(val),
|
264
|
+
createdAt: now,
|
265
|
+
};
|
266
|
+
if (ttl) {
|
267
|
+
const ttlDate = new Date(Date.now() + ttl * 1000);
|
268
|
+
doc.expiresAt = getSeconds(ttlDate);
|
269
|
+
}
|
270
|
+
const indexWrites = [];
|
271
|
+
// no ttl support for secondary indexes
|
272
|
+
for (const idx of indexes || []) {
|
273
|
+
const idxKey = dbutils.keyForIndex(namespace, idx);
|
274
|
+
indexWrites.push({
|
275
|
+
PutRequest: {
|
276
|
+
Item: (0, util_dynamodb_1.marshall)({
|
277
|
+
namespace,
|
278
|
+
key: idxKey,
|
279
|
+
storeKey: dbKey,
|
280
|
+
}),
|
281
|
+
},
|
282
|
+
});
|
283
|
+
}
|
284
|
+
if (indexWrites.length > 0) {
|
285
|
+
const reqItems = {};
|
286
|
+
reqItems[indexTableName] = indexWrites;
|
287
|
+
yield this.client.send(new client_dynamodb_1.BatchWriteItemCommand({
|
288
|
+
RequestItems: reqItems,
|
289
|
+
}));
|
290
|
+
}
|
291
|
+
yield this.client.send(new client_dynamodb_1.PutItemCommand({
|
292
|
+
TableName: tableName,
|
293
|
+
Item: (0, util_dynamodb_1.marshall)(doc),
|
294
|
+
}));
|
295
|
+
});
|
296
|
+
}
|
297
|
+
delete(namespace, key) {
|
298
|
+
var _a;
|
299
|
+
return __awaiter(this, void 0, void 0, function* () {
|
300
|
+
const dbKey = dbutils.key(namespace, key);
|
301
|
+
yield this.client.send(new client_dynamodb_1.DeleteItemCommand({
|
302
|
+
TableName: tableName,
|
303
|
+
Key: (0, util_dynamodb_1.marshall)({ namespace, key: dbKey }),
|
304
|
+
}));
|
305
|
+
const res = yield this.client.send(new client_dynamodb_1.QueryCommand({
|
306
|
+
KeyConditionExpression: 'storeKey = :storeKey',
|
307
|
+
ExpressionAttributeValues: {
|
308
|
+
':storeKey': { S: dbKey },
|
309
|
+
},
|
310
|
+
TableName: indexTableName,
|
311
|
+
IndexName: globalStoreKeyIndexName,
|
312
|
+
}));
|
313
|
+
for (const item of res.Items || []) {
|
314
|
+
const k = (_a = item.key) === null || _a === void 0 ? void 0 : _a.S;
|
315
|
+
yield this.client.send(new client_dynamodb_1.DeleteItemCommand({
|
316
|
+
TableName: indexTableName,
|
317
|
+
Key: (0, util_dynamodb_1.marshall)({ key: k, storeKey: dbKey }),
|
318
|
+
}));
|
319
|
+
}
|
320
|
+
});
|
321
|
+
}
|
322
|
+
deleteMany(namespace, keys) {
|
323
|
+
return __awaiter(this, void 0, void 0, function* () {
|
324
|
+
if (keys.length === 0) {
|
325
|
+
return;
|
326
|
+
}
|
327
|
+
yield Promise.all(keys.map((key) => this.delete(namespace, key)));
|
328
|
+
});
|
329
|
+
}
|
330
|
+
}
|
331
|
+
exports.default = {
|
332
|
+
new: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
333
|
+
return yield new DynamoDB(options).init();
|
334
|
+
}),
|
335
|
+
};
|
336
|
+
//# sourceMappingURL=dynamoDb.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dynamoDb.js","sourceRoot":"","sources":["../../src/db/dynamoDb.ts"],"names":[],"mappings":"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"}
|
package/dist/db/mem.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DatabaseDriver, DatabaseOption, Index, Encrypted } from '../typings';
|
1
|
+
import { DatabaseDriver, DatabaseOption, Index, Encrypted, Records } from '../typings';
|
2
2
|
declare class Mem implements DatabaseDriver {
|
3
3
|
private options;
|
4
4
|
private store;
|
@@ -10,10 +10,11 @@ declare class Mem implements DatabaseDriver {
|
|
10
10
|
constructor(options: DatabaseOption);
|
11
11
|
init(): Promise<Mem>;
|
12
12
|
get(namespace: string, key: string): Promise<any>;
|
13
|
-
getAll(namespace: string, pageOffset?: number, pageLimit?: number): Promise<
|
14
|
-
getByIndex(namespace: string, idx: Index, pageOffset?: number, pageLimit?: number): Promise<
|
13
|
+
getAll(namespace: string, pageOffset?: number, pageLimit?: number, _?: string): Promise<Records>;
|
14
|
+
getByIndex(namespace: string, idx: Index, pageOffset?: number, pageLimit?: number, _?: string): Promise<Records>;
|
15
15
|
put(namespace: string, key: string, val: Encrypted, ttl?: number, ...indexes: any[]): Promise<any>;
|
16
16
|
delete(namespace: string, key: string): Promise<any>;
|
17
|
+
deleteMany(namespace: string, keys: string[]): Promise<void>;
|
17
18
|
}
|
18
19
|
declare const _default: {
|
19
20
|
new: (options: DatabaseOption) => Promise<Mem>;
|