@casual-simulation/aux-records-aws 2.0.31 → 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.
- package/DynamoDBDataStore.d.ts +3 -1
- package/DynamoDBDataStore.js +32 -0
- package/DynamoDBDataStore.js.map +1 -1
- package/DynamoDBEventStore.d.ts +13 -0
- package/DynamoDBEventStore.js +66 -0
- package/DynamoDBEventStore.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +3 -3
package/DynamoDBDataStore.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DataRecordsStore } from '@casual-simulation/aux-records';
|
|
2
|
-
import { SetDataResult, GetDataStoreResult, EraseDataStoreResult } 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
|
*/
|
|
@@ -11,5 +12,6 @@ export declare class DynamoDBDataStore implements DataRecordsStore {
|
|
|
11
12
|
setData(recordName: string, address: string, data: any, publisherId: string, subjectId: string): Promise<SetDataResult>;
|
|
12
13
|
getData(recordName: string, address: string): Promise<GetDataStoreResult>;
|
|
13
14
|
eraseData(recordName: string, address: string): Promise<EraseDataStoreResult>;
|
|
15
|
+
listData(recordName: string, address: string): Promise<ListDataStoreResult>;
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=DynamoDBDataStore.d.ts.map
|
package/DynamoDBDataStore.js
CHANGED
|
@@ -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
|
*/
|
|
@@ -131,5 +132,36 @@ export class DynamoDBDataStore {
|
|
|
131
132
|
};
|
|
132
133
|
});
|
|
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
|
+
}
|
|
134
166
|
}
|
|
135
167
|
//# sourceMappingURL=DynamoDBDataStore.js.map
|
package/DynamoDBDataStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamoDBDataStore.js","sourceRoot":"","sources":["DynamoDBDataStore.ts"],"names":[],"mappings":";;;;;;;;;
|
|
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"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
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.
|
|
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.
|
|
41
|
+
"@casual-simulation/aux-records": "^2.0.34"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "964c230d49195946f361300aabd29c3ca7da0b66"
|
|
44
44
|
}
|