@boxyhq/saml-jackson 1.9.2-beta.6087 → 1.9.3
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.js +8 -8
- 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 +2 -2
- package/dist/controller/utils.js.map +1 -1
- package/dist/db/db.d.ts +3 -3
- package/dist/db/db.js +19 -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 +17 -0
- package/dist/db/dynamoDb.js +323 -0
- package/dist/db/dynamoDb.js.map +1 -0
- package/dist/db/mem.d.ts +3 -3
- package/dist/db/mem.js +5 -5
- package/dist/db/mem.js.map +1 -1
- package/dist/db/mongo.d.ts +3 -3
- package/dist/db/mongo.js +5 -5
- package/dist/db/mongo.js.map +1 -1
- package/dist/db/redis.d.ts +3 -3
- package/dist/db/redis.js +5 -5
- package/dist/db/redis.js.map +1 -1
- package/dist/db/sql/sql.d.ts +3 -3
- package/dist/db/sql/sql.js +4 -4
- package/dist/db/sql/sql.js.map +1 -1
- package/dist/db/store.js +4 -4
- package/dist/db/store.js.map +1 -1
- package/dist/directory-sync/DirectoryConfig.d.ts +2 -1
- package/dist/directory-sync/DirectoryConfig.js +5 -4
- package/dist/directory-sync/DirectoryConfig.js.map +1 -1
- package/dist/directory-sync/DirectoryGroups.d.ts +4 -5
- package/dist/directory-sync/DirectoryGroups.js +56 -77
- package/dist/directory-sync/DirectoryGroups.js.map +1 -1
- package/dist/directory-sync/Groups.js +7 -7
- package/dist/directory-sync/Groups.js.map +1 -1
- package/dist/directory-sync/Users.js +5 -5
- package/dist/directory-sync/Users.js.map +1 -1
- package/dist/directory-sync/WebhookEventsLogger.js +2 -2
- package/dist/directory-sync/WebhookEventsLogger.js.map +1 -1
- package/dist/directory-sync/axios.d.ts +2 -0
- package/dist/directory-sync/axios.js +32 -0
- package/dist/directory-sync/axios.js.map +1 -0
- package/dist/directory-sync/events.js +1 -1
- package/dist/directory-sync/events.js.map +1 -1
- package/dist/directory-sync/types.d.ts +9 -0
- package/dist/directory-sync/utils.d.ts +16 -16
- package/dist/directory-sync/utils.js +25 -30
- 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/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 +17 -7
- package/package.json +4 -2
package/dist/db/db.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
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
11
|
store(namespace: string, ttl?: number): Storable;
|
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
|
@@ -150,6 +157,8 @@ exports.default = {
|
|
150
157
|
return new DB(yield mongo_1.default.new(options), encryptionKey);
|
151
158
|
case 'mem':
|
152
159
|
return new DB(yield mem_1.default.new(options), encryptionKey);
|
160
|
+
case 'dynamodb':
|
161
|
+
return new DB(yield dynamoDb_1.default.new(options), encryptionKey);
|
153
162
|
default:
|
154
163
|
throw new Error('unsupported db engine: ' + options.engine);
|
155
164
|
}
|
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,17 @@
|
|
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
|
+
}
|
14
|
+
declare const _default: {
|
15
|
+
new: (options: DatabaseOption) => Promise<DynamoDB>;
|
16
|
+
};
|
17
|
+
export default _default;
|
@@ -0,0 +1,323 @@
|
|
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;
|
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
|
+
yield this.client.send(new client_dynamodb_1.CreateTableCommand({
|
90
|
+
KeySchema: [
|
91
|
+
{
|
92
|
+
AttributeName: 'key',
|
93
|
+
KeyType: 'HASH',
|
94
|
+
},
|
95
|
+
{
|
96
|
+
AttributeName: 'storeKey',
|
97
|
+
KeyType: 'RANGE',
|
98
|
+
},
|
99
|
+
],
|
100
|
+
AttributeDefinitions: [
|
101
|
+
{
|
102
|
+
AttributeName: 'namespace',
|
103
|
+
AttributeType: 'S',
|
104
|
+
},
|
105
|
+
{
|
106
|
+
AttributeName: 'key',
|
107
|
+
AttributeType: 'S',
|
108
|
+
},
|
109
|
+
{
|
110
|
+
AttributeName: 'storeKey',
|
111
|
+
AttributeType: 'S',
|
112
|
+
},
|
113
|
+
],
|
114
|
+
GlobalSecondaryIndexes: [
|
115
|
+
{
|
116
|
+
IndexName: globalIndexKeyIndexName,
|
117
|
+
KeySchema: [
|
118
|
+
{
|
119
|
+
AttributeName: 'key',
|
120
|
+
KeyType: 'HASH',
|
121
|
+
},
|
122
|
+
],
|
123
|
+
Projection: {
|
124
|
+
ProjectionType: 'ALL',
|
125
|
+
},
|
126
|
+
ProvisionedThroughput: {
|
127
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
128
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
129
|
+
},
|
130
|
+
},
|
131
|
+
{
|
132
|
+
IndexName: globalStoreKeyIndexName,
|
133
|
+
KeySchema: [
|
134
|
+
{
|
135
|
+
AttributeName: 'storeKey',
|
136
|
+
KeyType: 'HASH',
|
137
|
+
},
|
138
|
+
],
|
139
|
+
Projection: {
|
140
|
+
ProjectionType: 'ALL',
|
141
|
+
},
|
142
|
+
ProvisionedThroughput: {
|
143
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
144
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
145
|
+
},
|
146
|
+
},
|
147
|
+
],
|
148
|
+
ProvisionedThroughput: {
|
149
|
+
ReadCapacityUnits: this.options.dynamodb.readCapacityUnits,
|
150
|
+
WriteCapacityUnits: this.options.dynamodb.writeCapacityUnits,
|
151
|
+
},
|
152
|
+
TableName: indexTableName,
|
153
|
+
}));
|
154
|
+
}
|
155
|
+
catch (error) {
|
156
|
+
if (!((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('Cannot create preexisting table'))) {
|
157
|
+
throw error;
|
158
|
+
}
|
159
|
+
}
|
160
|
+
return this;
|
161
|
+
});
|
162
|
+
}
|
163
|
+
// internal get without dbutils.Key
|
164
|
+
_get(namespace, key) {
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
166
|
+
const res = yield this.client.send(new client_dynamodb_1.GetItemCommand({ Key: (0, util_dynamodb_1.marshall)({ namespace, key }), TableName: tableName }));
|
167
|
+
// Double check that the item has not expired
|
168
|
+
const now = getSeconds(new Date());
|
169
|
+
const item = res.Item ? (0, util_dynamodb_1.unmarshall)(res.Item) : null;
|
170
|
+
if ((item === null || item === void 0 ? void 0 : item.expiresAt) < now) {
|
171
|
+
return null;
|
172
|
+
}
|
173
|
+
if (item && item.value) {
|
174
|
+
return JSON.parse(item.value);
|
175
|
+
}
|
176
|
+
return null;
|
177
|
+
});
|
178
|
+
}
|
179
|
+
get(namespace, key) {
|
180
|
+
return __awaiter(this, void 0, void 0, function* () {
|
181
|
+
return this._get(namespace, dbutils.key(namespace, key));
|
182
|
+
});
|
183
|
+
}
|
184
|
+
getAll(namespace, _, pageLimit, pageToken) {
|
185
|
+
var _a, _b, _c;
|
186
|
+
return __awaiter(this, void 0, void 0, function* () {
|
187
|
+
const res = yield this.client.send(new client_dynamodb_1.QueryCommand({
|
188
|
+
KeyConditionExpression: 'namespace = :namespace',
|
189
|
+
ExpressionAttributeValues: {
|
190
|
+
':namespace': { S: namespace },
|
191
|
+
},
|
192
|
+
TableName: tableName,
|
193
|
+
Limit: pageLimit && pageLimit > 0 ? pageLimit : undefined,
|
194
|
+
ExclusiveStartKey: pageToken ? JSON.parse(Buffer.from(pageToken, 'base64').toString()) : undefined,
|
195
|
+
}));
|
196
|
+
const newPageToken = res.LastEvaluatedKey
|
197
|
+
? Buffer.from(JSON.stringify(res.LastEvaluatedKey)).toString('base64')
|
198
|
+
: undefined;
|
199
|
+
const items = [];
|
200
|
+
for (const item of res.Items || []) {
|
201
|
+
const ns = (_a = item.namespace) === null || _a === void 0 ? void 0 : _a.S;
|
202
|
+
const k = (_b = item.key) === null || _b === void 0 ? void 0 : _b.S;
|
203
|
+
const value = (_c = item.value) === null || _c === void 0 ? void 0 : _c.S;
|
204
|
+
if (ns && k && value) {
|
205
|
+
const val = JSON.parse(value);
|
206
|
+
if (val) {
|
207
|
+
items.push(val);
|
208
|
+
}
|
209
|
+
}
|
210
|
+
}
|
211
|
+
return { data: items, pageToken: newPageToken };
|
212
|
+
});
|
213
|
+
}
|
214
|
+
// dynamodb pagination cannot care about pageOffset and pageLimit here, we let it handle it on it's own
|
215
|
+
getByIndex(namespace, idx, _, __, pageToken) {
|
216
|
+
var _a, _b;
|
217
|
+
return __awaiter(this, void 0, void 0, function* () {
|
218
|
+
const res = yield this.client.send(new client_dynamodb_1.QueryCommand({
|
219
|
+
KeyConditionExpression: '#key = :key',
|
220
|
+
ExpressionAttributeNames: {
|
221
|
+
'#key': 'key',
|
222
|
+
},
|
223
|
+
ExpressionAttributeValues: {
|
224
|
+
':key': { S: dbutils.keyForIndex(namespace, idx) },
|
225
|
+
},
|
226
|
+
TableName: indexTableName,
|
227
|
+
IndexName: globalIndexKeyIndexName,
|
228
|
+
ExclusiveStartKey: pageToken ? JSON.parse(Buffer.from(pageToken, 'base64').toString()) : undefined,
|
229
|
+
}));
|
230
|
+
const newPageToken = res.LastEvaluatedKey
|
231
|
+
? Buffer.from(JSON.stringify(res.LastEvaluatedKey)).toString('base64')
|
232
|
+
: undefined;
|
233
|
+
const items = [];
|
234
|
+
for (const item of res.Items || []) {
|
235
|
+
const ns = (_a = item.namespace) === null || _a === void 0 ? void 0 : _a.S;
|
236
|
+
const sk = (_b = item.storeKey) === null || _b === void 0 ? void 0 : _b.S;
|
237
|
+
if (ns && sk) {
|
238
|
+
const val = yield this._get(ns, sk); // use internal get to avoid double keying
|
239
|
+
if (val) {
|
240
|
+
items.push({
|
241
|
+
value: val.value,
|
242
|
+
iv: val.iv,
|
243
|
+
tag: val.tag,
|
244
|
+
});
|
245
|
+
}
|
246
|
+
}
|
247
|
+
}
|
248
|
+
return { data: items, pageToken: newPageToken };
|
249
|
+
});
|
250
|
+
}
|
251
|
+
put(namespace, key, val, ttl = 0, ...indexes) {
|
252
|
+
return __awaiter(this, void 0, void 0, function* () {
|
253
|
+
const dbKey = dbutils.key(namespace, key);
|
254
|
+
const now = getSeconds(new Date());
|
255
|
+
const doc = {
|
256
|
+
namespace,
|
257
|
+
key: dbKey,
|
258
|
+
value: JSON.stringify(val),
|
259
|
+
createdAt: now,
|
260
|
+
};
|
261
|
+
if (ttl) {
|
262
|
+
const ttlDate = new Date(Date.now() + ttl * 1000);
|
263
|
+
doc.expiresAt = getSeconds(ttlDate);
|
264
|
+
}
|
265
|
+
const indexWrites = [];
|
266
|
+
// no ttl support for secondary indexes
|
267
|
+
for (const idx of indexes || []) {
|
268
|
+
const idxKey = dbutils.keyForIndex(namespace, idx);
|
269
|
+
indexWrites.push({
|
270
|
+
PutRequest: {
|
271
|
+
Item: (0, util_dynamodb_1.marshall)({
|
272
|
+
namespace,
|
273
|
+
key: idxKey,
|
274
|
+
storeKey: dbKey,
|
275
|
+
}),
|
276
|
+
},
|
277
|
+
});
|
278
|
+
}
|
279
|
+
if (indexWrites.length > 0) {
|
280
|
+
const reqItems = {};
|
281
|
+
reqItems[indexTableName] = indexWrites;
|
282
|
+
yield this.client.send(new client_dynamodb_1.BatchWriteItemCommand({
|
283
|
+
RequestItems: reqItems,
|
284
|
+
}));
|
285
|
+
}
|
286
|
+
yield this.client.send(new client_dynamodb_1.PutItemCommand({
|
287
|
+
TableName: tableName,
|
288
|
+
Item: (0, util_dynamodb_1.marshall)(doc),
|
289
|
+
}));
|
290
|
+
});
|
291
|
+
}
|
292
|
+
delete(namespace, key) {
|
293
|
+
var _a;
|
294
|
+
return __awaiter(this, void 0, void 0, function* () {
|
295
|
+
const dbKey = dbutils.key(namespace, key);
|
296
|
+
yield this.client.send(new client_dynamodb_1.DeleteItemCommand({
|
297
|
+
TableName: tableName,
|
298
|
+
Key: (0, util_dynamodb_1.marshall)({ namespace, key: dbKey }),
|
299
|
+
}));
|
300
|
+
const res = yield this.client.send(new client_dynamodb_1.QueryCommand({
|
301
|
+
KeyConditionExpression: 'storeKey = :storeKey',
|
302
|
+
ExpressionAttributeValues: {
|
303
|
+
':storeKey': { S: dbKey },
|
304
|
+
},
|
305
|
+
TableName: indexTableName,
|
306
|
+
IndexName: globalStoreKeyIndexName,
|
307
|
+
}));
|
308
|
+
for (const item of res.Items || []) {
|
309
|
+
const k = (_a = item.key) === null || _a === void 0 ? void 0 : _a.S;
|
310
|
+
yield this.client.send(new client_dynamodb_1.DeleteItemCommand({
|
311
|
+
TableName: indexTableName,
|
312
|
+
Key: (0, util_dynamodb_1.marshall)({ key: k, storeKey: dbKey }),
|
313
|
+
}));
|
314
|
+
}
|
315
|
+
});
|
316
|
+
}
|
317
|
+
}
|
318
|
+
exports.default = {
|
319
|
+
new: (options) => __awaiter(void 0, void 0, void 0, function* () {
|
320
|
+
return yield new DynamoDB(options).init();
|
321
|
+
}),
|
322
|
+
};
|
323
|
+
//# 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,8 +10,8 @@ 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
17
|
}
|
package/dist/db/mem.js
CHANGED
@@ -70,7 +70,7 @@ class Mem {
|
|
70
70
|
return null;
|
71
71
|
});
|
72
72
|
}
|
73
|
-
getAll(namespace, pageOffset, pageLimit) {
|
73
|
+
getAll(namespace, pageOffset, pageLimit, _) {
|
74
74
|
return __awaiter(this, void 0, void 0, function* () {
|
75
75
|
const offsetAndLimitValueCheck = !dbutils.isNumeric(pageOffset) && !dbutils.isNumeric(pageLimit);
|
76
76
|
const returnValue = [];
|
@@ -81,7 +81,7 @@ class Mem {
|
|
81
81
|
if (namespace) {
|
82
82
|
const index = dbutils.keyFromParts(dbutils.createdAtPrefix, namespace);
|
83
83
|
if (this.indexes[index] === undefined) {
|
84
|
-
return [];
|
84
|
+
return { data: [] };
|
85
85
|
}
|
86
86
|
const val = Array.from(this.indexes[index]);
|
87
87
|
const iterator = val.reverse().values();
|
@@ -95,10 +95,10 @@ class Mem {
|
|
95
95
|
count++;
|
96
96
|
}
|
97
97
|
}
|
98
|
-
return returnValue || [];
|
98
|
+
return { data: returnValue || [] };
|
99
99
|
});
|
100
100
|
}
|
101
|
-
getByIndex(namespace, idx, pageOffset, pageLimit) {
|
101
|
+
getByIndex(namespace, idx, pageOffset, pageLimit, _) {
|
102
102
|
return __awaiter(this, void 0, void 0, function* () {
|
103
103
|
const offsetAndLimitValueCheck = !dbutils.isNumeric(pageOffset) && !dbutils.isNumeric(pageLimit);
|
104
104
|
const skip = Number(offsetAndLimitValueCheck ? 0 : pageOffset);
|
@@ -122,7 +122,7 @@ class Mem {
|
|
122
122
|
count++;
|
123
123
|
}
|
124
124
|
}
|
125
|
-
return ret;
|
125
|
+
return { data: ret };
|
126
126
|
});
|
127
127
|
}
|
128
128
|
put(namespace, key, val, ttl = 0, ...indexes) {
|
package/dist/db/mem.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mem.js","sourceRoot":"","sources":["../../src/db/mem.ts"],"names":[],"mappings":";AAAA,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGnF,iDAAmC;AAEnC,MAAM,GAAG;IASP,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,IAAI;;YACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,oBAAoB;YACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,kBAAkB;YACrC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,uDAAuD;YAC1E,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,oBAAoB;YAExC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;gBACpB,IAAI,CAAC,UAAU,GAAG,GAAS,EAAE;oBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE;4BACpC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;yBACrE;qBACF;oBAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;wBACpB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;qBACrE;gBACH,CAAC,CAAA,CAAC;gBAEF,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;aACrE;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,GAAG,CAAC,SAAiB,EAAE,GAAW;;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,GAAG,EAAE;gBACP,OAAO,GAAG,CAAC;aACZ;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM,CAAC,SAAiB,EAAE,UAAmB,EAAE,SAAkB;;
|
1
|
+
{"version":3,"file":"mem.js","sourceRoot":"","sources":["../../src/db/mem.ts"],"names":[],"mappings":"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"}
|
package/dist/db/mongo.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DatabaseDriver, DatabaseOption, Encrypted, Index } from '../typings';
|
1
|
+
import { DatabaseDriver, DatabaseOption, Encrypted, Index, Records } from '../typings';
|
2
2
|
declare class Mongo implements DatabaseDriver {
|
3
3
|
private options;
|
4
4
|
private client;
|
@@ -7,8 +7,8 @@ declare class Mongo implements DatabaseDriver {
|
|
7
7
|
constructor(options: DatabaseOption);
|
8
8
|
init(): Promise<Mongo>;
|
9
9
|
get(namespace: string, key: string): Promise<any>;
|
10
|
-
getAll(namespace: string, pageOffset?: number, pageLimit?: number): Promise<
|
11
|
-
getByIndex(namespace: string, idx: Index, offset?: number, limit?: number): Promise<
|
10
|
+
getAll(namespace: string, pageOffset?: number, pageLimit?: number, _?: string): Promise<Records>;
|
11
|
+
getByIndex(namespace: string, idx: Index, offset?: number, limit?: number, _?: string): Promise<Records>;
|
12
12
|
put(namespace: string, key: string, val: Encrypted, ttl?: number, ...indexes: any[]): Promise<void>;
|
13
13
|
delete(namespace: string, key: string): Promise<any>;
|
14
14
|
}
|
package/dist/db/mongo.js
CHANGED
@@ -61,19 +61,19 @@ class Mongo {
|
|
61
61
|
return null;
|
62
62
|
});
|
63
63
|
}
|
64
|
-
getAll(namespace, pageOffset, pageLimit) {
|
64
|
+
getAll(namespace, pageOffset, pageLimit, _) {
|
65
65
|
return __awaiter(this, void 0, void 0, function* () {
|
66
66
|
const _namespaceMatch = new RegExp(`^${namespace}:.*`);
|
67
67
|
const docs = yield this.collection
|
68
68
|
.find({ _id: _namespaceMatch }, { sort: { createdAt: -1 }, skip: pageOffset, limit: pageLimit })
|
69
69
|
.toArray();
|
70
70
|
if (docs) {
|
71
|
-
return docs.map(({ value }) => value);
|
71
|
+
return { data: docs.map(({ value }) => value) };
|
72
72
|
}
|
73
|
-
return [];
|
73
|
+
return { data: [] };
|
74
74
|
});
|
75
75
|
}
|
76
|
-
getByIndex(namespace, idx, offset, limit) {
|
76
|
+
getByIndex(namespace, idx, offset, limit, _) {
|
77
77
|
return __awaiter(this, void 0, void 0, function* () {
|
78
78
|
const docs = dbutils.isNumeric(offset) && dbutils.isNumeric(limit)
|
79
79
|
? yield this.collection
|
@@ -90,7 +90,7 @@ class Mongo {
|
|
90
90
|
for (const doc of docs || []) {
|
91
91
|
ret.push(doc.value);
|
92
92
|
}
|
93
|
-
return ret;
|
93
|
+
return { data: ret };
|
94
94
|
});
|
95
95
|
}
|
96
96
|
put(namespace, key, val, ttl = 0, ...indexes) {
|
package/dist/db/mongo.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/db/mongo.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAqE;AAErE,iDAAmC;AASnC,MAAM,KAAK;IAMT,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,IAAI;;YACR,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAa,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAW,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAE5B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAErD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;YAE/E,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,GAAG,CAAC,SAAiB,EAAE,GAAW;;YACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBACxC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAQ;aACxC,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE;gBACpB,OAAO,GAAG,CAAC,KAAK,CAAC;aAClB;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,MAAM,CAAC,SAAiB,EAAE,UAAmB,EAAE,SAAkB;;
|
1
|
+
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/db/mongo.ts"],"names":[],"mappings":"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"}
|