@casual-simulation/aux-records-aws 2.0.26 → 2.0.34

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,6 +1,7 @@
1
1
  import { DataRecordsStore } from '@casual-simulation/aux-records';
2
- import { SetDataResult, GetDataStoreResult } from '@casual-simulation/aux-records/DataRecordsStore';
2
+ import { SetDataResult, GetDataStoreResult, EraseDataStoreResult, ListDataStoreResult } from '@casual-simulation/aux-records/DataRecordsStore';
3
3
  import dynamodb from 'aws-sdk/clients/dynamodb';
4
+ export declare const LIST_DATA_PAGE_SIZE = 25;
4
5
  /**
5
6
  * Defines a DataRecordsStore that can store data items in DynamoDB.
6
7
  */
@@ -10,5 +11,7 @@ export declare class DynamoDBDataStore implements DataRecordsStore {
10
11
  constructor(dynamo: dynamodb.DocumentClient, tableName: string);
11
12
  setData(recordName: string, address: string, data: any, publisherId: string, subjectId: string): Promise<SetDataResult>;
12
13
  getData(recordName: string, address: string): Promise<GetDataStoreResult>;
14
+ eraseData(recordName: string, address: string): Promise<EraseDataStoreResult>;
15
+ listData(recordName: string, address: string): Promise<ListDataStoreResult>;
13
16
  }
14
17
  //# sourceMappingURL=DynamoDBDataStore.d.ts.map
@@ -7,6 +7,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
+ export const LIST_DATA_PAGE_SIZE = 25;
10
11
  /**
11
12
  * Defines a DataRecordsStore that can store data items in DynamoDB.
12
13
  */
@@ -100,5 +101,67 @@ export class DynamoDBDataStore {
100
101
  };
101
102
  });
102
103
  }
104
+ eraseData(recordName, address) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const result = yield this._dynamo
107
+ .delete({
108
+ TableName: this._tableName,
109
+ Key: {
110
+ recordName: recordName,
111
+ address: address,
112
+ },
113
+ })
114
+ .promise()
115
+ .then((result) => ({
116
+ success: true,
117
+ result,
118
+ }), (err) => ({
119
+ success: false,
120
+ error: err,
121
+ }));
122
+ if (result.success === true) {
123
+ return {
124
+ success: true,
125
+ };
126
+ }
127
+ console.warn('[DynamoDBDataStore] Error deleting data:', result.error);
128
+ return {
129
+ success: false,
130
+ errorCode: 'server_error',
131
+ errorMessage: result.error.toString(),
132
+ };
133
+ });
134
+ }
135
+ listData(recordName, address) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const condition = !!address
138
+ ? 'recordName = :recordName AND address > :address'
139
+ : 'recordName = :recordName';
140
+ let params = {
141
+ TableName: this._tableName,
142
+ KeyConditionExpression: condition,
143
+ ExpressionAttributeValues: {
144
+ ':recordName': recordName,
145
+ ':address': address,
146
+ },
147
+ Limit: LIST_DATA_PAGE_SIZE,
148
+ };
149
+ if (!!address) {
150
+ params.ExclusiveStartKey = {
151
+ recordName: recordName,
152
+ address: address,
153
+ };
154
+ }
155
+ const result = yield this._dynamo.query(params).promise();
156
+ let items = result.Items.map((i) => ({
157
+ address: i.address,
158
+ data: i.data,
159
+ }));
160
+ return {
161
+ success: true,
162
+ items,
163
+ };
164
+ });
165
+ }
103
166
  }
104
167
  //# sourceMappingURL=DynamoDBDataStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamoDBDataStore.js","sourceRoot":"","sources":["DynamoDBDataStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamoDBDataStore.js","sourceRoot":"","sources":["DynamoDBDataStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { EventRecordsStore, AddEventCountStoreResult, GetEventCountStoreResult } from '@casual-simulation/aux-records';
2
+ import dynamodb from 'aws-sdk/clients/dynamodb';
3
+ /**
4
+ * Defines a EventRecordsStore that can store data items in DynamoDB.
5
+ */
6
+ export declare class DynamoDBEventStore implements EventRecordsStore {
7
+ private _dynamo;
8
+ private _tableName;
9
+ constructor(dynamo: dynamodb.DocumentClient, tableName: string);
10
+ addEventCount(recordName: string, eventName: string, count: number): Promise<AddEventCountStoreResult>;
11
+ getEventCount(recordName: string, eventName: string): Promise<GetEventCountStoreResult>;
12
+ }
13
+ //# sourceMappingURL=DynamoDBEventStore.d.ts.map
@@ -0,0 +1,66 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ /**
11
+ * Defines a EventRecordsStore that can store data items in DynamoDB.
12
+ */
13
+ export class DynamoDBEventStore {
14
+ constructor(dynamo, tableName) {
15
+ this._dynamo = dynamo;
16
+ this._tableName = tableName;
17
+ }
18
+ addEventCount(recordName, eventName, count) {
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ yield this._dynamo
21
+ .update({
22
+ TableName: this._tableName,
23
+ Key: {
24
+ recordName: recordName,
25
+ eventName: eventName,
26
+ },
27
+ UpdateExpression: 'SET updateTime = :updateTime ADD eventCount :count',
28
+ ExpressionAttributeValues: {
29
+ ':updateTime': Date.now(),
30
+ ':count': count,
31
+ },
32
+ })
33
+ .promise();
34
+ return {
35
+ success: true,
36
+ };
37
+ });
38
+ }
39
+ getEventCount(recordName, eventName) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const result = yield this._dynamo
42
+ .get({
43
+ TableName: this._tableName,
44
+ Key: {
45
+ recordName: recordName,
46
+ eventName: eventName,
47
+ },
48
+ })
49
+ .promise();
50
+ if (result.Item) {
51
+ const item = result.Item;
52
+ return {
53
+ success: true,
54
+ count: item.eventCount,
55
+ };
56
+ }
57
+ else {
58
+ return {
59
+ success: true,
60
+ count: 0,
61
+ };
62
+ }
63
+ });
64
+ }
65
+ }
66
+ //# sourceMappingURL=DynamoDBEventStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDBEventStore.js","sourceRoot":"","sources":["DynamoDBEventStore.ts"],"names":[],"mappings":";;;;;;;;;AAOA;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAI3B,YAAY,MAA+B,EAAE,SAAiB;QAC1D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAEK,aAAa,CACf,UAAkB,EAClB,SAAiB,EACjB,KAAa;;YAEb,MAAM,IAAI,CAAC,OAAO;iBACb,MAAM,CAAC;gBACJ,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,GAAG,EAAE;oBACD,UAAU,EAAE,UAAU;oBACtB,SAAS,EAAE,SAAS;iBACvB;gBACD,gBAAgB,EACZ,oDAAoD;gBACxD,yBAAyB,EAAE;oBACvB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;oBACzB,QAAQ,EAAE,KAAK;iBAClB;aACJ,CAAC;iBACD,OAAO,EAAE,CAAC;YAEf,OAAO;gBACH,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;KAAA;IAEK,aAAa,CACf,UAAkB,EAClB,SAAiB;;YAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO;iBAC5B,GAAG,CAAC;gBACD,SAAS,EAAE,IAAI,CAAC,UAAU;gBAC1B,GAAG,EAAE;oBACD,UAAU,EAAE,UAAU;oBACtB,SAAS,EAAE,SAAS;iBACvB;aACJ,CAAC;iBACD,OAAO,EAAE,CAAC;YAEf,IAAI,MAAM,CAAC,IAAI,EAAE;gBACb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAkB,CAAC;gBACvC,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI,CAAC,UAAU;iBACzB,CAAC;aACL;iBAAM;gBACH,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,CAAC;iBACX,CAAC;aACL;QACL,CAAC;KAAA;CACJ"}
@@ -1,5 +1,5 @@
1
1
  import { FileRecordsStore } from '@casual-simulation/aux-records';
2
- import { PresignFileUploadRequest, PresignFileUploadResult, GetFileRecordResult, AddFileResult, MarkFileRecordAsUploadedResult } from '@casual-simulation/aux-records';
2
+ import { PresignFileUploadRequest, PresignFileUploadResult, GetFileRecordResult, AddFileResult, MarkFileRecordAsUploadedResult, EraseFileStoreResult } from '@casual-simulation/aux-records';
3
3
  import AWS from 'aws-sdk';
4
4
  import dynamodb from 'aws-sdk/clients/dynamodb';
5
5
  /**
@@ -13,12 +13,17 @@ export declare class DynamoDBFileStore implements FileRecordsStore {
13
13
  private _dynamo;
14
14
  private _tableName;
15
15
  private _s3Host;
16
- constructor(region: string, bucket: string, documentClient: dynamodb.DocumentClient, tableName: string, storageClass?: string, aws?: typeof AWS, s3Host?: string);
16
+ private _s3Options;
17
+ private _s3;
18
+ constructor(region: string, bucket: string, documentClient: dynamodb.DocumentClient, tableName: string, storageClass?: string, aws?: typeof AWS, s3Host?: string, s3Options?: AWS.S3.ClientConfiguration);
17
19
  presignFileUpload(request: PresignFileUploadRequest): Promise<PresignFileUploadResult>;
18
20
  getFileRecord(recordName: string, fileName: string): Promise<GetFileRecordResult>;
19
21
  addFileRecord(recordName: string, fileName: string, publisherId: string, subjectId: string, sizeInBytes: number, description: string): Promise<AddFileResult>;
20
22
  setFileRecordAsUploaded(recordName: string, fileName: string): Promise<MarkFileRecordAsUploadedResult>;
23
+ eraseFileRecord(recordName: string, fileName: string): Promise<EraseFileStoreResult>;
21
24
  private _getCredentials;
25
+ private _getS3;
22
26
  private _fileUrl;
27
+ private _fileKey;
23
28
  }
24
29
  //# sourceMappingURL=DynamoDBFileStore.d.ts.map
@@ -13,7 +13,7 @@ import AWS from 'aws-sdk';
13
13
  * Defines a class that can manage file records in DynamoDB and S3.
14
14
  */
15
15
  export class DynamoDBFileStore {
16
- constructor(region, bucket, documentClient, tableName, storageClass = 'STANDARD', aws = AWS, s3Host = null) {
16
+ constructor(region, bucket, documentClient, tableName, storageClass = 'STANDARD', aws = AWS, s3Host = null, s3Options = {}) {
17
17
  this._region = region;
18
18
  this._bucket = bucket;
19
19
  this._dynamo = documentClient;
@@ -21,15 +21,17 @@ export class DynamoDBFileStore {
21
21
  this._storageClass = storageClass;
22
22
  this._aws = aws;
23
23
  this._s3Host = s3Host;
24
+ this._s3Options = s3Options;
24
25
  }
25
26
  presignFileUpload(request) {
27
+ var _a;
26
28
  return __awaiter(this, void 0, void 0, function* () {
27
29
  const credentials = yield this._getCredentials();
28
30
  const secretAccessKey = credentials
29
31
  ? credentials.secretAccessKey
30
32
  : null;
31
33
  const accessKeyId = credentials ? credentials.accessKeyId : null;
32
- const now = new Date();
34
+ const now = (_a = request.date) !== null && _a !== void 0 ? _a : new Date();
33
35
  const fileUrl = this._fileUrl(request.recordName, request.fileName);
34
36
  const requiredHeaders = {
35
37
  'content-type': request.fileMimeType,
@@ -37,8 +39,7 @@ export class DynamoDBFileStore {
37
39
  'cache-control': 'max-age=31536000',
38
40
  'x-amz-acl': 'public-read',
39
41
  'x-amz-storage-class': this._storageClass,
40
- 'x-amz-tagging': `RecordName=${encodeURIComponent(request.recordName)}&FileName=${encodeURIComponent(request.fileName)}`,
41
- host: new URL(fileUrl).host,
42
+ host: fileUrl.host,
42
43
  };
43
44
  if (credentials && credentials.sessionToken) {
44
45
  requiredHeaders['x-amz-security-token'] =
@@ -49,11 +50,11 @@ export class DynamoDBFileStore {
49
50
  payloadSha256Hex: request.fileSha256Hex,
50
51
  headers: Object.assign(Object.assign({}, request.headers), requiredHeaders),
51
52
  queryString: {},
52
- uri: fileUrl,
53
+ path: fileUrl.pathname,
53
54
  }, secretAccessKey, accessKeyId, now, this._region, 's3');
54
55
  return {
55
56
  success: true,
56
- uploadUrl: result.uri,
57
+ uploadUrl: fileUrl.href,
57
58
  uploadHeaders: result.headers,
58
59
  uploadMethod: result.method,
59
60
  };
@@ -73,6 +74,7 @@ export class DynamoDBFileStore {
73
74
  .promise();
74
75
  if (result.Item) {
75
76
  const file = result.Item;
77
+ let url = this._fileUrl(file.recordName, file.fileName);
76
78
  return {
77
79
  success: true,
78
80
  recordName: file.recordName,
@@ -82,7 +84,7 @@ export class DynamoDBFileStore {
82
84
  subjectId: file.subjectId,
83
85
  sizeInBytes: file.sizeInBytes,
84
86
  uploaded: file.uploadTime !== null,
85
- url: this._fileUrl(file.recordName, file.fileName),
87
+ url: url.href,
86
88
  };
87
89
  }
88
90
  else {
@@ -189,6 +191,40 @@ export class DynamoDBFileStore {
189
191
  }
190
192
  });
191
193
  }
194
+ eraseFileRecord(recordName, fileName) {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ try {
197
+ yield this._dynamo
198
+ .delete({
199
+ TableName: this._tableName,
200
+ Key: {
201
+ recordName: recordName,
202
+ fileName: fileName,
203
+ },
204
+ })
205
+ .promise();
206
+ const s3 = this._getS3();
207
+ const key = this._fileKey(recordName, fileName);
208
+ yield s3
209
+ .deleteObject({
210
+ Bucket: this._bucket,
211
+ Key: key,
212
+ })
213
+ .promise();
214
+ return {
215
+ success: true,
216
+ };
217
+ }
218
+ catch (err) {
219
+ console.error(err);
220
+ return {
221
+ success: false,
222
+ errorCode: 'server_error',
223
+ errorMessage: 'An unexpected error occurred.',
224
+ };
225
+ }
226
+ });
227
+ }
192
228
  _getCredentials() {
193
229
  return new Promise((resolve, reject) => {
194
230
  this._aws.config.getCredentials(function (err, credentials) {
@@ -201,13 +237,21 @@ export class DynamoDBFileStore {
201
237
  });
202
238
  });
203
239
  }
240
+ _getS3() {
241
+ if (!this._s3) {
242
+ this._s3 = new this._aws.S3(this._s3Options);
243
+ }
244
+ return this._s3;
245
+ }
204
246
  _fileUrl(recordName, fileName) {
205
- let filePath = `${recordName}/${fileName}`;
247
+ let filePath = this._fileKey(recordName, fileName);
206
248
  if (this._s3Host) {
207
249
  filePath = `${this._s3Host}/${this._bucket}/${filePath}`;
208
250
  }
209
- return new URL(filePath, `https://${this._bucket}.s3.amazonaws.com`)
210
- .href;
251
+ return new URL(filePath, `https://${this._bucket}.s3.amazonaws.com`);
252
+ }
253
+ _fileKey(recordName, fileName) {
254
+ return `${recordName}/${fileName}`;
211
255
  }
212
256
  }
213
257
  //# sourceMappingURL=DynamoDBFileStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DynamoDBFileStore.js","sourceRoot":"","sources":["DynamoDBFileStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamoDBFileStore.js","sourceRoot":"","sources":["DynamoDBFileStore.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAoB,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAS/E,OAAO,GAAG,MAAM,SAAS,CAAC;AAG1B;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAW1B,YACI,MAAc,EACd,MAAc,EACd,cAAuC,EACvC,SAAiB,EACjB,eAAuB,UAAU,EACjC,MAAkB,GAAG,EACrB,SAAiB,IAAI,EACrB,YAAwC,EAAE;QAE1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAEK,iBAAiB,CACnB,OAAiC;;;YAEjC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAEjD,MAAM,eAAe,GAAG,WAAW;gBAC/B,CAAC,CAAC,WAAW,CAAC,eAAe;gBAC7B,CAAC,CAAC,IAAI,CAAC;YACX,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjE,MAAM,GAAG,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,eAAe,GAAG;gBACpB,cAAc,EAAE,OAAO,CAAC,YAAY;gBACpC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE;gBACnD,eAAe,EAAE,kBAAkB;gBACnC,WAAW,EAAE,aAAa;gBAC1B,qBAAqB,EAAE,IAAI,CAAC,aAAa;gBACzC,IAAI,EAAE,OAAO,CAAC,IAAI;aACrB,CAAC;YAEF,IAAI,WAAW,IAAI,WAAW,CAAC,YAAY,EAAE;gBACxC,eAAuB,CAAC,sBAAsB,CAAC;oBAC5C,WAAW,CAAC,YAAY,CAAC;aAChC;YAED,MAAM,MAAM,GAAG,WAAW,CACtB;gBACI,MAAM,EAAE,KAAK;gBACb,gBAAgB,EAAE,OAAO,CAAC,aAAa;gBACvC,OAAO,kCACA,OAAO,CAAC,OAAO,GACf,eAAe,CACrB;gBACD,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,OAAO,CAAC,QAAQ;aACzB,EACD,eAAe,EACf,WAAW,EACX,GAAG,EACH,IAAI,CAAC,OAAO,EACZ,IAAI,CACP,CAAC;YAEF,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,OAAO,CAAC,IAAI;gBACvB,aAAa,EAAE,MAAM,CAAC,OAAO;gBAC7B,YAAY,EAAE,MAAM,CAAC,MAAM;aAC9B,CAAC;;KACL;IAEK,aAAa,CACf,UAAkB,EAClB,QAAgB;;YAEhB,IAAI;gBACA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO;qBAC5B,GAAG,CAAC;oBACD,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,GAAG,EAAE;wBACD,UAAU,EAAE,UAAU;wBACtB,QAAQ,EAAE,QAAQ;qBACrB;iBACJ,CAAC;qBACD,OAAO,EAAE,CAAC;gBAEf,IAAI,MAAM,CAAC,IAAI,EAAE;oBACb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAkB,CAAC;oBACvC,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACxD,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,IAAI,CAAC,UAAU;wBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,QAAQ,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI;wBAClC,GAAG,EAAE,GAAG,CAAC,IAAI;qBAChB,CAAC;iBACL;qBAAM;oBACH,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,gBAAgB;wBAC3B,YAAY,EAAE,yBAAyB;qBAC1C,CAAC;iBACL;aACJ;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,+BAA+B;iBAChD,CAAC;aACL;QACL,CAAC;KAAA;IAEK,aAAa,CACf,UAAkB,EAClB,QAAgB,EAChB,WAAmB,EACnB,SAAiB,EACjB,WAAmB,EACnB,WAAmB;;YAEnB,IAAI;gBACA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAe;oBACrB,UAAU;oBACV,QAAQ;oBACR,WAAW;oBACX,SAAS;oBACT,WAAW;oBACX,WAAW;oBACX,WAAW;oBACX,UAAU,EAAE,IAAI;iBACnB,CAAC;gBAEF,MAAM,IAAI,CAAC,OAAO;qBACb,GAAG,CAAC;oBACD,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,IAAI,EAAE,IAAI;oBACV,mBAAmB,EACf,qEAAqE;iBAC5E,CAAC;qBACD,OAAO,EAAE,CAAC;gBAEf,OAAO;oBACH,OAAO,EAAE,IAAI;iBAChB,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IACI,GAAG,YAAY,KAAK;oBACpB,GAAG,CAAC,IAAI,KAAK,iCAAiC,EAChD;oBACE,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,qBAAqB;wBAChC,YAAY,EAAE,0BAA0B;qBAC3C,CAAC;iBACL;qBAAM;oBACH,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,cAAc;wBACzB,YAAY,EAAE,+BAA+B;qBAChD,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;IAEK,uBAAuB,CACzB,UAAkB,EAClB,QAAgB;;YAEhB,IAAI;gBACA,MAAM,IAAI,CAAC,OAAO;qBACb,MAAM,CAAC;oBACJ,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,GAAG,EAAE;wBACD,UAAU,EAAE,UAAU;wBACtB,QAAQ,EAAE,QAAQ;qBACrB;oBACD,mBAAmB,EACf,6DAA6D;oBACjE,gBAAgB,EAAE,8BAA8B;oBAChD,yBAAyB,EAAE;wBACvB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;qBAC5B;iBACJ,CAAC;qBACD,OAAO,EAAE,CAAC;gBAEf,OAAO;oBACH,OAAO,EAAE,IAAI;iBAChB,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IACI,GAAG,YAAY,KAAK;oBACpB,GAAG,CAAC,IAAI,KAAK,iCAAiC,EAChD;oBACE,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,gBAAgB;wBAC3B,YAAY,EAAE,yBAAyB;qBAC1C,CAAC;iBACL;qBAAM;oBACH,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,OAAO;wBACH,OAAO,EAAE,KAAK;wBACd,SAAS,EAAE,cAAc;wBACzB,YAAY,EAAE,+BAA+B;qBAChD,CAAC;iBACL;aACJ;QACL,CAAC;KAAA;IAEK,eAAe,CACjB,UAAkB,EAClB,QAAgB;;YAEhB,IAAI;gBACA,MAAM,IAAI,CAAC,OAAO;qBACb,MAAM,CAAC;oBACJ,SAAS,EAAE,IAAI,CAAC,UAAU;oBAC1B,GAAG,EAAE;wBACD,UAAU,EAAE,UAAU;wBACtB,QAAQ,EAAE,QAAQ;qBACrB;iBACJ,CAAC;qBACD,OAAO,EAAE,CAAC;gBAEf,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAEhD,MAAM,EAAE;qBACH,YAAY,CAAC;oBACV,MAAM,EAAE,IAAI,CAAC,OAAO;oBACpB,GAAG,EAAE,GAAG;iBACX,CAAC;qBACD,OAAO,EAAE,CAAC;gBAEf,OAAO;oBACH,OAAO,EAAE,IAAI;iBAChB,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,SAAS,EAAE,cAAc;oBACzB,YAAY,EAAE,+BAA+B;iBAChD,CAAC;aACL;QACL,CAAC;KAAA;IAEO,eAAe;QAKnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,GAAG,EAAE,WAAW;gBACtD,IAAI,GAAG,EAAE;oBACL,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;qBAAM;oBACH,OAAO,CAAC,WAAW,CAAC,CAAC;iBACxB;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SAChD;QAED,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAEO,QAAQ,CAAC,UAAkB,EAAE,QAAgB;QACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;SAC5D;QAED,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,IAAI,CAAC,OAAO,mBAAmB,CAAC,CAAC;IACzE,CAAC;IAEO,QAAQ,CAAC,UAAkB,EAAE,QAAgB;QACjD,OAAO,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;IACvC,CAAC;CACJ"}
package/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './DynamoDBRecordsStore';
2
2
  export * from './DynamoDBDataStore';
3
3
  export * from './DynamoDBFileStore';
4
+ export * from './DynamoDBEventStore';
4
5
  //# sourceMappingURL=index.d.ts.map
package/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './DynamoDBRecordsStore';
2
2
  export * from './DynamoDBDataStore';
3
3
  export * from './DynamoDBFileStore';
4
+ export * from './DynamoDBEventStore';
4
5
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@casual-simulation/aux-records-aws",
3
- "version": "2.0.26",
3
+ "version": "2.0.34",
4
4
  "description": "AWS Store implementations for the CasualOS Records System.",
5
5
  "keywords": [],
6
6
  "author": "Casual Simulation, Inc.",
@@ -38,7 +38,7 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@casual-simulation/aux-records": "^2.0.23"
41
+ "@casual-simulation/aux-records": "^2.0.34"
42
42
  },
43
- "gitHead": "83a8195bac5edb7a26be730c03183ececa3bef50"
43
+ "gitHead": "964c230d49195946f361300aabd29c3ca7da0b66"
44
44
  }