@spinajs/session-provider-dynamodb 2.0.179 → 2.0.181

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.
@@ -1,24 +1,24 @@
1
- import AWS from 'aws-sdk';
2
- import { SessionProvider, Session, ISession } from '@spinajs/rbac';
3
- import { Log } from '@spinajs/log';
4
- export declare class DynamoDbSessionProvider extends SessionProvider {
5
- protected Log: Log;
6
- protected Table: string;
7
- protected AwsConfig: any;
8
- protected DefaultExpirationTime: number;
9
- protected ConfigPath: any;
10
- protected ReadCapacityUnits: any;
11
- protected WriteCapacityUnits: any;
12
- protected DynamoDb: AWS.DynamoDB;
13
- resolve(): Promise<void>;
14
- protected updateTimeToLive(): Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.UpdateTimeToLiveOutput, AWS.AWSError>>;
15
- protected createSessionTable(): Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.CreateTableOutput, AWS.AWSError>>;
16
- protected checkSessionTable(): Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DescribeTableOutput, AWS.AWSError>>;
17
- restore(sessionId: string): Promise<Session>;
18
- delete(sessionId: string): Promise<void>;
19
- touch(session: ISession): Promise<void>;
20
- truncate(): Promise<void>;
21
- protected deleteSessionTable(): Promise<void>;
22
- save(sessionOrId: string | ISession, data?: object): Promise<void>;
23
- }
1
+ import AWS from 'aws-sdk';
2
+ import { SessionProvider, Session, ISession } from '@spinajs/rbac';
3
+ import { Log } from '@spinajs/log';
4
+ export declare class DynamoDbSessionProvider extends SessionProvider {
5
+ protected Log: Log;
6
+ protected Table: string;
7
+ protected AwsConfig: any;
8
+ protected DefaultExpirationTime: number;
9
+ protected ConfigPath: any;
10
+ protected ReadCapacityUnits: any;
11
+ protected WriteCapacityUnits: any;
12
+ protected DynamoDb: AWS.DynamoDB;
13
+ resolve(): Promise<void>;
14
+ protected updateTimeToLive(): Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.UpdateTimeToLiveOutput, AWS.AWSError>>;
15
+ protected createSessionTable(): Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.CreateTableOutput, AWS.AWSError>>;
16
+ protected checkSessionTable(): Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DescribeTableOutput, AWS.AWSError>>;
17
+ restore(sessionId: string): Promise<Session>;
18
+ delete(sessionId: string): Promise<void>;
19
+ touch(session: ISession): Promise<void>;
20
+ truncate(): Promise<void>;
21
+ protected deleteSessionTable(): Promise<void>;
22
+ save(sessionOrId: string | ISession, data?: object): Promise<void>;
23
+ }
24
24
  //# sourceMappingURL=index.d.ts.map
package/lib/cjs/index.js CHANGED
@@ -1,211 +1,211 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DynamoDbSessionProvider = void 0;
16
- const aws_sdk_1 = __importDefault(require("aws-sdk"));
17
- const luxon_1 = require("luxon");
18
- const rbac_1 = require("@spinajs/rbac");
19
- const di_1 = require("@spinajs/di");
20
- const configuration_1 = require("@spinajs/configuration");
21
- const log_1 = require("@spinajs/log");
22
- const util_1 = require("@spinajs/util");
23
- const lodash_1 = __importDefault(require("lodash"));
24
- let DynamoDbSessionProvider = class DynamoDbSessionProvider extends rbac_1.SessionProvider {
25
- // tslint:disable-next-line: no-empty
26
- async resolve() {
27
- aws_sdk_1.default.config.update(this.AwsConfig);
28
- if (this.ConfigPath) {
29
- aws_sdk_1.default.config.loadFromPath(this.ConfigPath);
30
- }
31
- else if (this.AwsConfig) {
32
- aws_sdk_1.default.config.update(this.AwsConfig);
33
- }
34
- this.DynamoDb = new aws_sdk_1.default.DynamoDB({ apiVersion: '2012-08-10' });
35
- const table = await this.checkSessionTable();
36
- if (!table) {
37
- await this.createSessionTable();
38
- await this.updateTimeToLive();
39
- }
40
- }
41
- updateTimeToLive() {
42
- return this.DynamoDb.updateTimeToLive({
43
- TableName: this.Table,
44
- TimeToLiveSpecification: {
45
- AttributeName: 'Expiration',
46
- Enabled: true,
47
- },
48
- }).promise();
49
- }
50
- createSessionTable() {
51
- return this.DynamoDb.createTable({
52
- TableName: this.Table,
53
- AttributeDefinitions: [
54
- {
55
- AttributeName: 'SessionId',
56
- AttributeType: 'S',
57
- },
58
- ],
59
- KeySchema: [
60
- {
61
- AttributeName: 'SessionId',
62
- KeyType: 'HASH',
63
- },
64
- ],
65
- ProvisionedThroughput: {
66
- ReadCapacityUnits: this.ReadCapacityUnits,
67
- WriteCapacityUnits: this.WriteCapacityUnits,
68
- },
69
- }).promise();
70
- }
71
- async checkSessionTable() {
72
- try {
73
- return await this.DynamoDb.describeTable({
74
- TableName: this.Table,
75
- }).promise();
76
- }
77
- catch (err) {
78
- if (err.code === 'ResourceNotFoundException') {
79
- return null;
80
- }
81
- }
82
- }
83
- async restore(sessionId) {
84
- const params = {
85
- TableName: this.Table,
86
- Key: {
87
- SessionId: { S: sessionId },
88
- },
89
- };
90
- const result = await this.DynamoDb.getItem(params).promise();
91
- if (!result.Item) {
92
- return null;
93
- }
94
- else {
95
- // DynamoDB ttl takes time, sometimes
96
- // we receive session before ttl mark result as expired
97
- // and deletes it
98
- const ttl = parseInt(result.Item.Expiration.N);
99
- if (ttl < luxon_1.DateTime.now().toMillis()) {
100
- return null;
101
- }
102
- const data = JSON.parse(result.Item.Data.S);
103
- return new rbac_1.Session({
104
- Creation: luxon_1.DateTime.fromISO(result.Item.Creation.S),
105
- Expiration: luxon_1.DateTime.fromMillis(ttl),
106
- SessionId: result.Item.SessionId.S,
107
- Data: new Map(Object.entries(data)),
108
- });
109
- }
110
- }
111
- async delete(sessionId) {
112
- const params = {
113
- TableName: this.Table,
114
- Key: {
115
- SessionId: { S: sessionId },
116
- },
117
- };
118
- await this.DynamoDb.deleteItem(params).promise();
119
- }
120
- async touch(session) {
121
- const params = {
122
- TableName: this.Table,
123
- Key: {
124
- SessionId: { S: session.SessionId },
125
- },
126
- UpdateExpression: 'set Expiration = :e',
127
- ExpressionAttributeValues: {
128
- ':e': {
129
- N: `${session.Expiration.toMillis()}`,
130
- },
131
- },
132
- ReturnValues: 'UPDATED_NEW',
133
- };
134
- await this.DynamoDb.updateItem(params).promise();
135
- }
136
- async truncate() {
137
- await this.deleteSessionTable();
138
- await this.createSessionTable();
139
- await this.updateTimeToLive();
140
- }
141
- async deleteSessionTable() {
142
- await this.DynamoDb.deleteTable({
143
- TableName: this.Table,
144
- }).promise();
145
- }
146
- async save(sessionOrId, data) {
147
- let sId = '';
148
- let sData = null;
149
- let sCreationTime = luxon_1.DateTime.now();
150
- let sExpirationTime = luxon_1.DateTime.now().plus({ minutes: this.DefaultExpirationTime });
151
- if (lodash_1.default.isString(sessionOrId)) {
152
- sId = sessionOrId;
153
- sData = JSON.stringify(data);
154
- }
155
- else {
156
- sId = sessionOrId.SessionId;
157
- sData = JSON.stringify(Object.fromEntries(sessionOrId.Data), util_1.replacer);
158
- sCreationTime = sessionOrId.Creation;
159
- sExpirationTime = sessionOrId.Expiration;
160
- }
161
- const params = {
162
- TableName: this.Table,
163
- Item: {
164
- SessionId: { S: sId },
165
- Data: {
166
- S: sData,
167
- },
168
- Creation: { S: sCreationTime.toISO() },
169
- Expiration: { N: `${sExpirationTime.toMillis()}` },
170
- },
171
- };
172
- await this.DynamoDb.putItem(params).promise();
173
- }
174
- };
175
- __decorate([
176
- (0, log_1.Logger)('dynamo-session-store'),
177
- __metadata("design:type", log_1.Log)
178
- ], DynamoDbSessionProvider.prototype, "Log", void 0);
179
- __decorate([
180
- (0, configuration_1.Config)('rbac.session.aws.table'),
181
- __metadata("design:type", String)
182
- ], DynamoDbSessionProvider.prototype, "Table", void 0);
183
- __decorate([
184
- (0, configuration_1.Config)('rbac.session.aws.config'),
185
- __metadata("design:type", Object)
186
- ], DynamoDbSessionProvider.prototype, "AwsConfig", void 0);
187
- __decorate([
188
- (0, configuration_1.Config)('rbac.session.expiration'),
189
- __metadata("design:type", Number)
190
- ], DynamoDbSessionProvider.prototype, "DefaultExpirationTime", void 0);
191
- __decorate([
192
- (0, configuration_1.Config)('rbac.session.aws.configPath'),
193
- __metadata("design:type", Object)
194
- ], DynamoDbSessionProvider.prototype, "ConfigPath", void 0);
195
- __decorate([
196
- (0, configuration_1.Config)('rbac.session.aws.readCapacityUnits', {
197
- defaultValue: 10,
198
- }),
199
- __metadata("design:type", Object)
200
- ], DynamoDbSessionProvider.prototype, "ReadCapacityUnits", void 0);
201
- __decorate([
202
- (0, configuration_1.Config)('rbac.session.aws.writeCapacityUnits', {
203
- defaultValue: 10,
204
- }),
205
- __metadata("design:type", Object)
206
- ], DynamoDbSessionProvider.prototype, "WriteCapacityUnits", void 0);
207
- DynamoDbSessionProvider = __decorate([
208
- (0, di_1.Injectable)(rbac_1.SessionProvider)
209
- ], DynamoDbSessionProvider);
210
- exports.DynamoDbSessionProvider = DynamoDbSessionProvider;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DynamoDbSessionProvider = void 0;
16
+ const aws_sdk_1 = __importDefault(require("aws-sdk"));
17
+ const luxon_1 = require("luxon");
18
+ const rbac_1 = require("@spinajs/rbac");
19
+ const di_1 = require("@spinajs/di");
20
+ const configuration_1 = require("@spinajs/configuration");
21
+ const log_1 = require("@spinajs/log");
22
+ const util_1 = require("@spinajs/util");
23
+ const lodash_1 = __importDefault(require("lodash"));
24
+ let DynamoDbSessionProvider = class DynamoDbSessionProvider extends rbac_1.SessionProvider {
25
+ // tslint:disable-next-line: no-empty
26
+ async resolve() {
27
+ aws_sdk_1.default.config.update(this.AwsConfig);
28
+ if (this.ConfigPath) {
29
+ aws_sdk_1.default.config.loadFromPath(this.ConfigPath);
30
+ }
31
+ else if (this.AwsConfig) {
32
+ aws_sdk_1.default.config.update(this.AwsConfig);
33
+ }
34
+ this.DynamoDb = new aws_sdk_1.default.DynamoDB({ apiVersion: '2012-08-10' });
35
+ const table = await this.checkSessionTable();
36
+ if (!table) {
37
+ await this.createSessionTable();
38
+ await this.updateTimeToLive();
39
+ }
40
+ }
41
+ updateTimeToLive() {
42
+ return this.DynamoDb.updateTimeToLive({
43
+ TableName: this.Table,
44
+ TimeToLiveSpecification: {
45
+ AttributeName: 'Expiration',
46
+ Enabled: true,
47
+ },
48
+ }).promise();
49
+ }
50
+ createSessionTable() {
51
+ return this.DynamoDb.createTable({
52
+ TableName: this.Table,
53
+ AttributeDefinitions: [
54
+ {
55
+ AttributeName: 'SessionId',
56
+ AttributeType: 'S',
57
+ },
58
+ ],
59
+ KeySchema: [
60
+ {
61
+ AttributeName: 'SessionId',
62
+ KeyType: 'HASH',
63
+ },
64
+ ],
65
+ ProvisionedThroughput: {
66
+ ReadCapacityUnits: this.ReadCapacityUnits,
67
+ WriteCapacityUnits: this.WriteCapacityUnits,
68
+ },
69
+ }).promise();
70
+ }
71
+ async checkSessionTable() {
72
+ try {
73
+ return await this.DynamoDb.describeTable({
74
+ TableName: this.Table,
75
+ }).promise();
76
+ }
77
+ catch (err) {
78
+ if (err.code === 'ResourceNotFoundException') {
79
+ return null;
80
+ }
81
+ }
82
+ }
83
+ async restore(sessionId) {
84
+ const params = {
85
+ TableName: this.Table,
86
+ Key: {
87
+ SessionId: { S: sessionId },
88
+ },
89
+ };
90
+ const result = await this.DynamoDb.getItem(params).promise();
91
+ if (!result.Item) {
92
+ return null;
93
+ }
94
+ else {
95
+ // DynamoDB ttl takes time, sometimes
96
+ // we receive session before ttl mark result as expired
97
+ // and deletes it
98
+ const ttl = parseInt(result.Item.Expiration.N);
99
+ if (ttl < luxon_1.DateTime.now().toMillis()) {
100
+ return null;
101
+ }
102
+ const data = JSON.parse(result.Item.Data.S);
103
+ return new rbac_1.Session({
104
+ Creation: luxon_1.DateTime.fromISO(result.Item.Creation.S),
105
+ Expiration: luxon_1.DateTime.fromMillis(ttl),
106
+ SessionId: result.Item.SessionId.S,
107
+ Data: new Map(Object.entries(data)),
108
+ });
109
+ }
110
+ }
111
+ async delete(sessionId) {
112
+ const params = {
113
+ TableName: this.Table,
114
+ Key: {
115
+ SessionId: { S: sessionId },
116
+ },
117
+ };
118
+ await this.DynamoDb.deleteItem(params).promise();
119
+ }
120
+ async touch(session) {
121
+ const params = {
122
+ TableName: this.Table,
123
+ Key: {
124
+ SessionId: { S: session.SessionId },
125
+ },
126
+ UpdateExpression: 'set Expiration = :e',
127
+ ExpressionAttributeValues: {
128
+ ':e': {
129
+ N: `${session.Expiration.toMillis()}`,
130
+ },
131
+ },
132
+ ReturnValues: 'UPDATED_NEW',
133
+ };
134
+ await this.DynamoDb.updateItem(params).promise();
135
+ }
136
+ async truncate() {
137
+ await this.deleteSessionTable();
138
+ await this.createSessionTable();
139
+ await this.updateTimeToLive();
140
+ }
141
+ async deleteSessionTable() {
142
+ await this.DynamoDb.deleteTable({
143
+ TableName: this.Table,
144
+ }).promise();
145
+ }
146
+ async save(sessionOrId, data) {
147
+ let sId = '';
148
+ let sData = null;
149
+ let sCreationTime = luxon_1.DateTime.now();
150
+ let sExpirationTime = luxon_1.DateTime.now().plus({ minutes: this.DefaultExpirationTime });
151
+ if (lodash_1.default.isString(sessionOrId)) {
152
+ sId = sessionOrId;
153
+ sData = JSON.stringify(data);
154
+ }
155
+ else {
156
+ sId = sessionOrId.SessionId;
157
+ sData = JSON.stringify(Object.fromEntries(sessionOrId.Data), util_1.replacer);
158
+ sCreationTime = sessionOrId.Creation;
159
+ sExpirationTime = sessionOrId.Expiration;
160
+ }
161
+ const params = {
162
+ TableName: this.Table,
163
+ Item: {
164
+ SessionId: { S: sId },
165
+ Data: {
166
+ S: sData,
167
+ },
168
+ Creation: { S: sCreationTime.toISO() },
169
+ Expiration: { N: `${sExpirationTime.toMillis()}` },
170
+ },
171
+ };
172
+ await this.DynamoDb.putItem(params).promise();
173
+ }
174
+ };
175
+ exports.DynamoDbSessionProvider = DynamoDbSessionProvider;
176
+ __decorate([
177
+ (0, log_1.Logger)('dynamo-session-store'),
178
+ __metadata("design:type", log_1.Log)
179
+ ], DynamoDbSessionProvider.prototype, "Log", void 0);
180
+ __decorate([
181
+ (0, configuration_1.Config)('rbac.session.aws.table'),
182
+ __metadata("design:type", String)
183
+ ], DynamoDbSessionProvider.prototype, "Table", void 0);
184
+ __decorate([
185
+ (0, configuration_1.Config)('rbac.session.aws.config'),
186
+ __metadata("design:type", Object)
187
+ ], DynamoDbSessionProvider.prototype, "AwsConfig", void 0);
188
+ __decorate([
189
+ (0, configuration_1.Config)('rbac.session.expiration'),
190
+ __metadata("design:type", Number)
191
+ ], DynamoDbSessionProvider.prototype, "DefaultExpirationTime", void 0);
192
+ __decorate([
193
+ (0, configuration_1.Config)('rbac.session.aws.configPath'),
194
+ __metadata("design:type", Object)
195
+ ], DynamoDbSessionProvider.prototype, "ConfigPath", void 0);
196
+ __decorate([
197
+ (0, configuration_1.Config)('rbac.session.aws.readCapacityUnits', {
198
+ defaultValue: 10,
199
+ }),
200
+ __metadata("design:type", Object)
201
+ ], DynamoDbSessionProvider.prototype, "ReadCapacityUnits", void 0);
202
+ __decorate([
203
+ (0, configuration_1.Config)('rbac.session.aws.writeCapacityUnits', {
204
+ defaultValue: 10,
205
+ }),
206
+ __metadata("design:type", Object)
207
+ ], DynamoDbSessionProvider.prototype, "WriteCapacityUnits", void 0);
208
+ exports.DynamoDbSessionProvider = DynamoDbSessionProvider = __decorate([
209
+ (0, di_1.Injectable)(rbac_1.SessionProvider)
210
+ ], DynamoDbSessionProvider);
211
211
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,24 @@
1
- import AWS from 'aws-sdk';
2
- import { SessionProvider, Session, ISession } from '@spinajs/rbac';
3
- import { Log } from '@spinajs/log';
4
- export declare class DynamoDbSessionProvider extends SessionProvider {
5
- protected Log: Log;
6
- protected Table: string;
7
- protected AwsConfig: any;
8
- protected DefaultExpirationTime: number;
9
- protected ConfigPath: any;
10
- protected ReadCapacityUnits: any;
11
- protected WriteCapacityUnits: any;
12
- protected DynamoDb: AWS.DynamoDB;
13
- resolve(): Promise<void>;
14
- protected updateTimeToLive(): Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.UpdateTimeToLiveOutput, AWS.AWSError>>;
15
- protected createSessionTable(): Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.CreateTableOutput, AWS.AWSError>>;
16
- protected checkSessionTable(): Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.DescribeTableOutput, AWS.AWSError>>;
17
- restore(sessionId: string): Promise<Session>;
18
- delete(sessionId: string): Promise<void>;
19
- touch(session: ISession): Promise<void>;
20
- truncate(): Promise<void>;
21
- protected deleteSessionTable(): Promise<void>;
22
- save(sessionOrId: string | ISession, data?: object): Promise<void>;
23
- }
1
+ import AWS from 'aws-sdk';
2
+ import { SessionProvider, Session, ISession } from '@spinajs/rbac';
3
+ import { Log } from '@spinajs/log';
4
+ export declare class DynamoDbSessionProvider extends SessionProvider {
5
+ protected Log: Log;
6
+ protected Table: string;
7
+ protected AwsConfig: any;
8
+ protected DefaultExpirationTime: number;
9
+ protected ConfigPath: any;
10
+ protected ReadCapacityUnits: any;
11
+ protected WriteCapacityUnits: any;
12
+ protected DynamoDb: AWS.DynamoDB;
13
+ resolve(): Promise<void>;
14
+ protected updateTimeToLive(): Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.UpdateTimeToLiveOutput, AWS.AWSError>>;
15
+ protected createSessionTable(): Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.CreateTableOutput, AWS.AWSError>>;
16
+ protected checkSessionTable(): Promise<import("aws-sdk/lib/request.js").PromiseResult<AWS.DynamoDB.DescribeTableOutput, AWS.AWSError>>;
17
+ restore(sessionId: string): Promise<Session>;
18
+ delete(sessionId: string): Promise<void>;
19
+ touch(session: ISession): Promise<void>;
20
+ truncate(): Promise<void>;
21
+ protected deleteSessionTable(): Promise<void>;
22
+ save(sessionOrId: string | ISession, data?: object): Promise<void>;
23
+ }
24
24
  //# sourceMappingURL=index.d.ts.map