@varius.io/framework 13.0.5 → 13.0.7
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/build/services/analyticsdb.d.ts +94 -0
- package/build/services/analyticsdb.d.ts.map +1 -0
- package/build/services/analyticsdb.js +248 -0
- package/build/services/analyticsdb.js.map +1 -0
- package/build/services/index.d.ts +2 -1
- package/build/services/index.d.ts.map +1 -1
- package/build/services/index.js +3 -1
- package/build/services/index.js.map +1 -1
- package/build/services/scheduler.d.ts +2 -2
- package/build/services/scheduler.d.ts.map +1 -1
- package/build/services/scheduler.js.map +1 -1
- package/build/utils/index.d.ts +2 -1
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +3 -1
- package/build/utils/index.js.map +1 -1
- package/build/utils/replication.d.ts +23 -0
- package/build/utils/replication.d.ts.map +1 -0
- package/build/utils/replication.js +57 -0
- package/build/utils/replication.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { QueryResult, QueryConfig } from "pg";
|
|
2
|
+
import { GenericLambdaEvent } from "../integrations/lambda";
|
|
3
|
+
interface OnConflict {
|
|
4
|
+
target?: string;
|
|
5
|
+
action: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class PgQueryError extends Error {
|
|
8
|
+
query: string;
|
|
9
|
+
constructor(query: string, values: string, error: Error);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Handles postgres database connection and disconnection.
|
|
13
|
+
*/
|
|
14
|
+
export default class AnalyticsDB {
|
|
15
|
+
private client?;
|
|
16
|
+
/**
|
|
17
|
+
* Easily initialize and connect to a database instance.
|
|
18
|
+
*/
|
|
19
|
+
static withConnection<T>(callback: (pg: AnalyticsDB) => Promise<T>): Promise<T>;
|
|
20
|
+
/**
|
|
21
|
+
* Attaches the database to the lambda event to ensure disconnection.
|
|
22
|
+
* @param event The event.
|
|
23
|
+
*/
|
|
24
|
+
static connectForEvent(event: GenericLambdaEvent): Promise<AnalyticsDB>;
|
|
25
|
+
get isConnected(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Connect to the database.
|
|
28
|
+
*/
|
|
29
|
+
connect(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Disconnect from the database.
|
|
32
|
+
*/
|
|
33
|
+
disconnect(): Promise<void>;
|
|
34
|
+
runQuery(queryTextOrConfig: string | QueryConfig, values?: any[]): Promise<QueryResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Select entries from the database using a condition.
|
|
37
|
+
* @param tableName The name of the table to select from.
|
|
38
|
+
* @param conditions The conditions which must pass for each row.
|
|
39
|
+
* @param columns The columns to receive back (all by default)
|
|
40
|
+
*/
|
|
41
|
+
select(tableName: string, conditions: {
|
|
42
|
+
[key: string]: any;
|
|
43
|
+
}, columns?: string[]): Promise<QueryResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Select a single row from the database using a condition.
|
|
46
|
+
* @param tableName The name of the table to select from.
|
|
47
|
+
* @param conditions The conditions which must pass for each row.
|
|
48
|
+
* @param columns The columns to receive back (all by default)
|
|
49
|
+
*/
|
|
50
|
+
selectOne(tableName: string, conditions: {
|
|
51
|
+
[key: string]: any;
|
|
52
|
+
}, columns?: string[]): Promise<any>;
|
|
53
|
+
/**
|
|
54
|
+
* Insert an entry into the database.
|
|
55
|
+
* @param tableName The name of the table to insert into.
|
|
56
|
+
* @param columns The column values to insert.
|
|
57
|
+
*/
|
|
58
|
+
insert(tableName: string, columns: {
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
}): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Upsert an entry into the database.
|
|
63
|
+
* @param tableName The name of the table to insert into.
|
|
64
|
+
* @param columns The column values to insert.
|
|
65
|
+
* @param onConflict What action to take on conflict
|
|
66
|
+
*/
|
|
67
|
+
upsert(tableName: string, columns: {
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
}, { target, action }?: OnConflict): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Insert an entry into the database.
|
|
72
|
+
* @param tableName The name of the table to insert into.
|
|
73
|
+
* @param columns The column values to insert.
|
|
74
|
+
*/
|
|
75
|
+
update(tableName: string, conditions: {
|
|
76
|
+
[key: string]: any;
|
|
77
|
+
}, updatedColumns: {
|
|
78
|
+
[key: string]: any;
|
|
79
|
+
}): Promise<QueryResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Deletes entries from the database using a condition.
|
|
82
|
+
* @param tableName The name of the table to select from.
|
|
83
|
+
* @param conditions The conditions which must pass for each row.
|
|
84
|
+
*/
|
|
85
|
+
delete(tableName: string, conditions: {
|
|
86
|
+
[key: string]: any;
|
|
87
|
+
}): Promise<QueryResult>;
|
|
88
|
+
beginTransaction(): Promise<void>;
|
|
89
|
+
commitTransaction(): Promise<void>;
|
|
90
|
+
rollbackTransaction(): Promise<void>;
|
|
91
|
+
transact<T>(func: () => Promise<T>): Promise<T>;
|
|
92
|
+
}
|
|
93
|
+
export {};
|
|
94
|
+
//# sourceMappingURL=analyticsdb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyticsdb.d.ts","sourceRoot":"","sources":["../../src/services/analyticsdb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAoB,MAAM,wBAAwB,CAAC;AAW9E,UAAU,UAAU;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,YAAa,SAAQ,KAAK;IACnB,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAG9D;AAMD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAa;IAE5B;;OAEG;WACU,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAcrF;;;OAGG;WACU,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC;IAoB7E,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,QAAQ,CACpB,iBAAiB,EAAE,MAAM,GAAG,WAAW,EACvC,MAAM,CAAC,EAAE,GAAG,EAAE,GACZ,OAAO,CAAC,WAAW,CAAC;IAqBvB;;;;;OAKG;IACU,MAAM,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAClC,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,WAAW,CAAC;IAgCvB;;;;;OAKG;IACU,SAAS,CACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAClC,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,GAAG,CAAC;IAOf;;;;OAIG;IACU,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAetF;;;;;OAKG;IACU,MAAM,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAC/B,EAAE,MAAM,EAAE,MAAM,EAAE,GAAE,UAGnB,GACC,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;OAIG;IACU,MAAM,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAClC,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GACpC,OAAO,CAAC,WAAW,CAAC;IAgBvB;;;;OAIG;IACU,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAanF,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAc5D"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PgQueryError = void 0;
|
|
4
|
+
const pg_1 = require("pg");
|
|
5
|
+
const assert_1 = require("assert");
|
|
6
|
+
const lambda_1 = require("../integrations/lambda");
|
|
7
|
+
const logger = require("../utils/logger");
|
|
8
|
+
if (global.analyticspool === undefined) {
|
|
9
|
+
global.analyticspool = new pg_1.Pool({
|
|
10
|
+
connectionString: process.env.ANALYTICSCONN,
|
|
11
|
+
native: true,
|
|
12
|
+
max: Number.parseInt(process.env.ANALYTICSPOOLMAX ?? "") || 5,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
class PgQueryError extends Error {
|
|
16
|
+
constructor(query, values, error) {
|
|
17
|
+
super(`AnalyticsDB query error: ${error.message}\nFailed query:\n${query}\nValues:\n${values}`);
|
|
18
|
+
this.query = query;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.PgQueryError = PgQueryError;
|
|
22
|
+
// note: the client will automatically read in standard PostgreSQL connection environment variables...
|
|
23
|
+
// these are set in the `serverless.yml` file
|
|
24
|
+
// ref: https://www.postgresql.org/docs/9.3/static/libpq-envars.html
|
|
25
|
+
/**
|
|
26
|
+
* Handles postgres database connection and disconnection.
|
|
27
|
+
*/
|
|
28
|
+
class AnalyticsDB {
|
|
29
|
+
/**
|
|
30
|
+
* Easily initialize and connect to a database instance.
|
|
31
|
+
*/
|
|
32
|
+
static async withConnection(callback) {
|
|
33
|
+
const pg = new AnalyticsDB();
|
|
34
|
+
await pg.connect();
|
|
35
|
+
try {
|
|
36
|
+
const res = await callback(pg);
|
|
37
|
+
return res;
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
throw e;
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
pg.disconnect();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Attaches the database to the lambda event to ensure disconnection.
|
|
48
|
+
* @param event The event.
|
|
49
|
+
*/
|
|
50
|
+
static async connectForEvent(event) {
|
|
51
|
+
const db = new AnalyticsDB();
|
|
52
|
+
// disconnect from the database before the aws lambda callback is finished
|
|
53
|
+
event.emitter.on(lambda_1.EmitterEventType.PostResponseCleanup, async () => {
|
|
54
|
+
if (db.isConnected) {
|
|
55
|
+
db.disconnect();
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
event.emitter.on(lambda_1.EmitterEventType.UncaughtHandlerError, async () => {
|
|
59
|
+
if (db.isConnected) {
|
|
60
|
+
db.disconnect();
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return db;
|
|
64
|
+
}
|
|
65
|
+
get isConnected() {
|
|
66
|
+
return this.client !== undefined;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Connect to the database.
|
|
70
|
+
*/
|
|
71
|
+
async connect() {
|
|
72
|
+
if (this.isConnected === false) {
|
|
73
|
+
this.client = await global.analyticspool.connect();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Disconnect from the database.
|
|
78
|
+
*/
|
|
79
|
+
async disconnect() {
|
|
80
|
+
logger.debug("disconnect");
|
|
81
|
+
if (this.isConnected) {
|
|
82
|
+
this.client.release();
|
|
83
|
+
this.client = undefined;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async runQuery(queryTextOrConfig, values) {
|
|
87
|
+
if (this.isConnected === false) {
|
|
88
|
+
await this.connect();
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const now = new Date();
|
|
92
|
+
const res = await this.client.query(queryTextOrConfig, values);
|
|
93
|
+
const duration = (new Date().getTime()) - now.getTime();
|
|
94
|
+
logger.debug(`pg: ran query:\n${queryTextOrConfig}`, "values", values, JSON.stringify({ ms: duration, rowCount: res.rowCount }));
|
|
95
|
+
return res;
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
if (e instanceof Error)
|
|
99
|
+
throw new PgQueryError(typeof queryTextOrConfig === "string" ? queryTextOrConfig : JSON.stringify(queryTextOrConfig), JSON.stringify(values), e);
|
|
100
|
+
else
|
|
101
|
+
throw e;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Select entries from the database using a condition.
|
|
106
|
+
* @param tableName The name of the table to select from.
|
|
107
|
+
* @param conditions The conditions which must pass for each row.
|
|
108
|
+
* @param columns The columns to receive back (all by default)
|
|
109
|
+
*/
|
|
110
|
+
async select(tableName, conditions, columns) {
|
|
111
|
+
let conditionsStr = "";
|
|
112
|
+
let index = 0;
|
|
113
|
+
if (Object.keys(conditions).length > 0) {
|
|
114
|
+
conditionsStr = `WHERE ${Object.keys(conditions)
|
|
115
|
+
.map(key => {
|
|
116
|
+
const condition = conditions[key];
|
|
117
|
+
// support multiple values for a condition by wrapping in parenthesis and joining with OR
|
|
118
|
+
if (Array.isArray(condition)) {
|
|
119
|
+
return `(${condition.map(() => `${key} = $${++index}`).join(" OR ")})`;
|
|
120
|
+
}
|
|
121
|
+
return `${key} = $${++index}`;
|
|
122
|
+
})
|
|
123
|
+
.join(" AND ")}`;
|
|
124
|
+
}
|
|
125
|
+
const query = `
|
|
126
|
+
SELECT
|
|
127
|
+
${columns === undefined ? " *" : columns.join(", ")}
|
|
128
|
+
FROM
|
|
129
|
+
${tableName}
|
|
130
|
+
${conditionsStr}
|
|
131
|
+
`;
|
|
132
|
+
const flatConditions = [].concat(...Object.values(conditions));
|
|
133
|
+
return this.runQuery(query, flatConditions);
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Select a single row from the database using a condition.
|
|
137
|
+
* @param tableName The name of the table to select from.
|
|
138
|
+
* @param conditions The conditions which must pass for each row.
|
|
139
|
+
* @param columns The columns to receive back (all by default)
|
|
140
|
+
*/
|
|
141
|
+
async selectOne(tableName, conditions, columns) {
|
|
142
|
+
const res = await this.select(tableName, conditions, columns);
|
|
143
|
+
assert_1.strict.equal(res.rowCount, 1, `pg: selectOne should result in exactly 1 row: ${tableName} ${JSON.stringify(conditions)} ${JSON.stringify(columns)}`);
|
|
144
|
+
const row = res.rows[0];
|
|
145
|
+
return row;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Insert an entry into the database.
|
|
149
|
+
* @param tableName The name of the table to insert into.
|
|
150
|
+
* @param columns The column values to insert.
|
|
151
|
+
*/
|
|
152
|
+
async insert(tableName, columns) {
|
|
153
|
+
const query = `
|
|
154
|
+
INSERT INTO ${tableName} (
|
|
155
|
+
${Object.keys(columns).join(",")}
|
|
156
|
+
)
|
|
157
|
+
VALUES (
|
|
158
|
+
${Object.values(columns)
|
|
159
|
+
.map((_, i) => `$${i + 1}`)
|
|
160
|
+
.join(",")}
|
|
161
|
+
)
|
|
162
|
+
`;
|
|
163
|
+
await this.runQuery(query, Object.values(columns));
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Upsert an entry into the database.
|
|
167
|
+
* @param tableName The name of the table to insert into.
|
|
168
|
+
* @param columns The column values to insert.
|
|
169
|
+
* @param onConflict What action to take on conflict
|
|
170
|
+
*/
|
|
171
|
+
async upsert(tableName, columns, { target, action } = {
|
|
172
|
+
target: "",
|
|
173
|
+
action: "NOTHING",
|
|
174
|
+
}) {
|
|
175
|
+
const query = `
|
|
176
|
+
INSERT INTO ${tableName} (
|
|
177
|
+
${Object.keys(columns).join(",")}
|
|
178
|
+
)
|
|
179
|
+
VALUES (
|
|
180
|
+
${Object.values(columns)
|
|
181
|
+
.map((_, i) => `$${i + 1}`)
|
|
182
|
+
.join(",")}
|
|
183
|
+
)
|
|
184
|
+
ON CONFLICT ${target}
|
|
185
|
+
DO ${action}
|
|
186
|
+
`;
|
|
187
|
+
await this.runQuery(query, Object.values(columns));
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Insert an entry into the database.
|
|
191
|
+
* @param tableName The name of the table to insert into.
|
|
192
|
+
* @param columns The column values to insert.
|
|
193
|
+
*/
|
|
194
|
+
async update(tableName, conditions, updatedColumns) {
|
|
195
|
+
const query = `
|
|
196
|
+
UPDATE ${tableName} SET
|
|
197
|
+
${Object.keys(updatedColumns)
|
|
198
|
+
.map((c, i) => `${c} = $${i + 1}`)
|
|
199
|
+
.join(",")}
|
|
200
|
+
|
|
201
|
+
WHERE
|
|
202
|
+
${Object.keys(conditions)
|
|
203
|
+
.map((key, i) => `${key} = $${Object.keys(updatedColumns).length + 1 + i}`)
|
|
204
|
+
.join(" AND ")}
|
|
205
|
+
`;
|
|
206
|
+
return this.runQuery(query, [...Object.values(updatedColumns), ...Object.values(conditions)]);
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Deletes entries from the database using a condition.
|
|
210
|
+
* @param tableName The name of the table to select from.
|
|
211
|
+
* @param conditions The conditions which must pass for each row.
|
|
212
|
+
*/
|
|
213
|
+
async delete(tableName, conditions) {
|
|
214
|
+
const query = `
|
|
215
|
+
DELETE FROM
|
|
216
|
+
${tableName}
|
|
217
|
+
WHERE
|
|
218
|
+
${Object.keys(conditions)
|
|
219
|
+
.map((key, i) => `${key} = $${i + 1}`)
|
|
220
|
+
.join(" AND ")}
|
|
221
|
+
`;
|
|
222
|
+
return this.runQuery(query, Object.values(conditions));
|
|
223
|
+
}
|
|
224
|
+
async beginTransaction() {
|
|
225
|
+
await this.runQuery("BEGIN");
|
|
226
|
+
}
|
|
227
|
+
async commitTransaction() {
|
|
228
|
+
await this.runQuery("COMMIT");
|
|
229
|
+
}
|
|
230
|
+
async rollbackTransaction() {
|
|
231
|
+
await this.runQuery("ROLLBACK");
|
|
232
|
+
}
|
|
233
|
+
async transact(func) {
|
|
234
|
+
await this.beginTransaction();
|
|
235
|
+
let res;
|
|
236
|
+
try {
|
|
237
|
+
res = await func();
|
|
238
|
+
await this.commitTransaction();
|
|
239
|
+
return res;
|
|
240
|
+
}
|
|
241
|
+
catch (e) {
|
|
242
|
+
await this.rollbackTransaction();
|
|
243
|
+
throw e;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
exports.default = AnalyticsDB;
|
|
248
|
+
//# sourceMappingURL=analyticsdb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyticsdb.js","sourceRoot":"","sources":["../../src/services/analyticsdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ import * as kinesis from "./kinesis";
|
|
|
27
27
|
import * as scheduler from "./scheduler";
|
|
28
28
|
import * as events from "./events";
|
|
29
29
|
import * as workers from "./workers";
|
|
30
|
-
|
|
30
|
+
import analyticsdb from "./analyticsdb";
|
|
31
|
+
export { analytics, analyticsdb, atomicCounter, blockv, oldBlockv, billing, businesses, cloudfront, distribution, iot, nonce, merchants, pg, points, prizes, providers, scheduler, secret, sns, sqs, studio, ws, kong, user, api, kinesis, viewers, events, // replaces IoT
|
|
31
32
|
loyalty, workers };
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAElD,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EACN,SAAS,EACT,WAAW,EACX,aAAa,EACb,MAAM,EACN,SAAS,EACT,OAAO,EACP,UAAU,EACV,UAAU,EAEV,YAAY,EACZ,GAAG,EACH,KAAK,EACL,SAAS,EACT,EAAE,EACF,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,EACN,GAAG,EACH,GAAG,EACH,MAAM,EACN,EAAE,EACF,IAAI,EACJ,IAAI,EAEJ,GAAG,EACH,OAAO,EACP,OAAO,EACP,MAAM,EAAE,eAAe;AACvB,OAAO,EACP,OAAO,EACP,CAAC"}
|
package/build/services/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.workers = exports.loyalty = exports.events = exports.viewers = exports.kinesis = exports.api = exports.user = exports.kong = exports.ws = exports.studio = exports.sqs = exports.sns = exports.secret = exports.scheduler = exports.providers = exports.prizes = exports.points = exports.pg = exports.merchants = exports.nonce = exports.iot = exports.distribution = exports.cloudfront = exports.businesses = exports.billing = exports.oldBlockv = exports.blockv = exports.atomicCounter = exports.analytics = void 0;
|
|
3
|
+
exports.workers = exports.loyalty = exports.events = exports.viewers = exports.kinesis = exports.api = exports.user = exports.kong = exports.ws = exports.studio = exports.sqs = exports.sns = exports.secret = exports.scheduler = exports.providers = exports.prizes = exports.points = exports.pg = exports.merchants = exports.nonce = exports.iot = exports.distribution = exports.cloudfront = exports.businesses = exports.billing = exports.oldBlockv = exports.blockv = exports.atomicCounter = exports.analyticsdb = exports.analytics = void 0;
|
|
4
4
|
const sns = require("./sns");
|
|
5
5
|
exports.sns = sns;
|
|
6
6
|
const sqs = require("./sqs");
|
|
@@ -61,4 +61,6 @@ const events = require("./events");
|
|
|
61
61
|
exports.events = events;
|
|
62
62
|
const workers = require("./workers");
|
|
63
63
|
exports.workers = workers;
|
|
64
|
+
const analyticsdb_1 = require("./analyticsdb");
|
|
65
|
+
exports.analyticsdb = analyticsdb_1.default;
|
|
64
66
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAqD5B,kBAAG;AApDJ,6BAA6B;AAqD5B,kBAAG;AApDJ,mCAAmC;AAqDlC,wBAAM;AApDP,mCAAmC;AAkClC,wBAAM;AAjCP,0CAA0C;AAkCzC,8BAAS;AAjCV,yCAAyC;AA6BxC,8BAAS;AA5BV,6BAA6B;AAsC5B,kBAAG;AArCJ,mCAAmC;AA6ClC,wBAAM;AA5CP,2CAA2C;AAiC1C,gCAAU;AAhCX,2BAA2B;AA+C1B,gBAAE;AA9CH,yCAA4B;AAqC3B,aArCM,kBAAE,CAqCN;AApCH,iCAAiC;AAkChC,sBAAK;AAjCN,kDAAkD;AAwBjD,sCAAa;AAvBd,sCAAsC;AACtC,qCAAqC;AAyBpC,0BAAO;AAxBR,2CAA2C;AAyB1C,gCAAU;AAxBX,qCAAqC;AA8CpC,0BAAO;AA7CR,+CAA+C;AA0B9C,oCAAY;AAzBb,yCAAyC;AAgCxC,8BAAS;AA/BV,mCAAmC;AA8BlC,wBAAM;AA7BP,mCAAmC;AA4BlC,wBAAM;AA3BP,qCAAqC;AA2CpC,0BAAO;AA1CR,yCAAyC;AAwBxC,8BAAS;AAvBV,+BAA+B;AAkC9B,oBAAI;AAjCL,+BAA+B;AAkC9B,oBAAI;AAjCL,4CAA4C;AAC5C,6BAA6B;AAkC5B,kBAAG;AAjCJ,qCAAqC;AAkCpC,0BAAO;AAjCR,yCAAyC;AAuBxC,8BAAS;AAtBV,mCAAmC;AAkClC,wBAAM;AAjCP,qCAAqC;AAmCpC,0BAAO;AAlCR,+CAAwC;AAIvC,sBAJM,qBAAW,CAIN"}
|
|
@@ -33,7 +33,7 @@ export declare function getJob(id: string): Promise<any>;
|
|
|
33
33
|
export declare function createJob(job: Job): Promise<any>;
|
|
34
34
|
export declare function deleteJob(id: string): Promise<void>;
|
|
35
35
|
export declare function updateJobStatus(id: string, status: string): Promise<any>;
|
|
36
|
-
export declare function updateJob(id: string, status: string, event: {
|
|
36
|
+
export declare function updateJob(id: string, status: string | undefined, event: {
|
|
37
37
|
body: string;
|
|
38
|
-
}): Promise<any>;
|
|
38
|
+
} | undefined): Promise<any>;
|
|
39
39
|
//# sourceMappingURL=scheduler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":"AAGA,oBAAY,WAAW;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,QAAQ,aAAa;CACrB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEvE,MAAM,WAAW,KAAK;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACb;AAkBD,wBAAsB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGrD;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAGtD;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzD;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9E;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":"AAGA,oBAAY,WAAW;IACtB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,QAAQ,aAAa;CACrB;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEvE,MAAM,WAAW,KAAK;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACb;AAkBD,wBAAsB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGrD;AAED,wBAAsB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAGtD;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzD;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9E;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAGvH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,iCAA0B;AAE1B,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;AACtB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAkCD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAE7C,MAAM,EAAE,GAAG,eAAK,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM;KACnB;CACD,CAAC,CAAC;AAEH,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACtC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEI,KAAK,UAAU,MAAM,CAAC,EAAU;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,wBAGC;AAEM,KAAK,UAAU,SAAS,CAAC,GAAQ;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,8BAGC;AAEM,KAAK,UAAU,SAAS,CAAC,EAAU;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,MAAc;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,0CAGC;AAEM,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/services/scheduler.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,iCAA0B;AAE1B,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,4BAAa,CAAA;IACb,sCAAuB,CAAA;IACvB,oCAAqB,CAAA;AACtB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAkCD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAE7C,MAAM,EAAE,GAAG,eAAK,CAAC,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE;QACR,WAAW,EAAE,MAAM;KACnB;CACD,CAAC,CAAC;AAEH,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;IACtC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AACf,CAAC,CAAC,CAAC;AAEI,KAAK,UAAU,MAAM,CAAC,EAAU;IACtC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,wBAGC;AAEM,KAAK,UAAU,SAAS,CAAC,GAAQ;IACvC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,8BAGC;AAEM,KAAK,UAAU,SAAS,CAAC,EAAU;IACzC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,MAAc;IAC/D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,0CAGC;AAEM,KAAK,UAAU,SAAS,CAAC,EAAU,EAAE,MAA0B,EAAE,KAAiC;IACxG,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AACb,CAAC;AAHD,8BAGC"}
|
package/build/utils/index.d.ts
CHANGED
|
@@ -7,5 +7,6 @@ import * as logger from "./logger";
|
|
|
7
7
|
import * as error from "./error";
|
|
8
8
|
import * as time from "./time";
|
|
9
9
|
import deepTemplateObject from "./deepTemplateObject";
|
|
10
|
-
|
|
10
|
+
import * as replication from "./replication";
|
|
11
|
+
export { error, esLogger, id, uri, urn, analytics, logger, deepTemplateObject, time, replication };
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC"}
|
package/build/utils/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.time = exports.deepTemplateObject = exports.logger = exports.analytics = exports.urn = exports.uri = exports.id = exports.esLogger = exports.error = void 0;
|
|
3
|
+
exports.replication = exports.time = exports.deepTemplateObject = exports.logger = exports.analytics = exports.urn = exports.uri = exports.id = exports.esLogger = exports.error = void 0;
|
|
4
4
|
const es_logger_1 = require("./es-logger");
|
|
5
5
|
exports.esLogger = es_logger_1.default;
|
|
6
6
|
const id = require("./id");
|
|
@@ -19,4 +19,6 @@ const time = require("./time");
|
|
|
19
19
|
exports.time = time;
|
|
20
20
|
const deepTemplateObject_1 = require("./deepTemplateObject");
|
|
21
21
|
exports.deepTemplateObject = deepTemplateObject_1.default;
|
|
22
|
+
const replication = require("./replication");
|
|
23
|
+
exports.replication = replication;
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
package/build/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,2CAAmC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,2CAAmC;AAWnB,mBAXT,mBAAQ,CAWS;AAVxB,2BAA2B;AAUD,gBAAE;AAT5B,6BAA6B;AASC,kBAAG;AARjC,6BAA6B;AAQM,kBAAG;AAPtC,yCAAyC;AAOD,8BAAS;AANjD,mCAAmC;AAMgB,wBAAM;AALzD,iCAAiC;AAKxB,sBAAK;AAJd,+BAA+B;AAIgD,oBAAI;AAHnF,6DAAsD;AAGK,6BAHpD,4BAAkB,CAGoD;AAF7E,6CAA6C;AAEwC,kCAAW"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { sqs } from "..";
|
|
2
|
+
export declare const RequestBodySchema: {
|
|
3
|
+
$schema: string;
|
|
4
|
+
type: string;
|
|
5
|
+
additionalProperties: boolean;
|
|
6
|
+
properties: {
|
|
7
|
+
lastUpdatedAt: {
|
|
8
|
+
type: string;
|
|
9
|
+
};
|
|
10
|
+
lastRunAt: {
|
|
11
|
+
type: string;
|
|
12
|
+
};
|
|
13
|
+
isRunning: {
|
|
14
|
+
type: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export interface RequestBody {
|
|
19
|
+
lastUpdatedAt?: string;
|
|
20
|
+
runDate?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function executeReplicationJob(event: sqs.lambda.LambdaEvent<RequestBody>, jobId: string, cb: (lastUpdatedAt: Date) => Promise<Date>): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=replication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,GAAG,EAAS,MAAM,IAAI,CAAC;AAE1C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;CAe7B,CAAC;AAGF,MAAM,WAAW,WAAW;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAuB,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,aAAa,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,iBAyCjJ"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.executeReplicationJob = exports.RequestBodySchema = void 0;
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
exports.RequestBodySchema = {
|
|
6
|
+
$schema: "http://json-schema.org/draft-07/schema#",
|
|
7
|
+
type: "object",
|
|
8
|
+
additionalProperties: true,
|
|
9
|
+
properties: {
|
|
10
|
+
lastUpdatedAt: {
|
|
11
|
+
type: "string",
|
|
12
|
+
},
|
|
13
|
+
lastRunAt: {
|
|
14
|
+
type: "string",
|
|
15
|
+
},
|
|
16
|
+
isRunning: {
|
|
17
|
+
type: "boolean",
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
async function executeReplicationJob(event, jobId, cb) {
|
|
22
|
+
let lastUpdatedAt = new Date(event.body.lastUpdatedAt || 0);
|
|
23
|
+
// If run date < 10 mins ago, stop processing
|
|
24
|
+
const target = new Date();
|
|
25
|
+
target.setMinutes(target.getMinutes() - 10);
|
|
26
|
+
const isRunning = new Date(event.body.runDate || 0) > target;
|
|
27
|
+
if (isRunning) {
|
|
28
|
+
__1.utils.logger.debug(`Replicatiom job ${jobId} still running, exiting`);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const encodedJobId = encodeURIComponent(jobId);
|
|
32
|
+
try {
|
|
33
|
+
await __1.services.scheduler.updateJob(encodedJobId, undefined, {
|
|
34
|
+
body: JSON.stringify({
|
|
35
|
+
lastUpdatedAt,
|
|
36
|
+
runDate: new Date()
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
lastUpdatedAt = await cb(lastUpdatedAt);
|
|
40
|
+
await __1.services.scheduler.updateJob(encodedJobId, undefined, {
|
|
41
|
+
body: JSON.stringify({
|
|
42
|
+
lastUpdatedAt,
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
__1.utils.logger.error("Replication Job error:", jobId, err);
|
|
48
|
+
await __1.services.scheduler.updateJob(encodedJobId, "enabled", {
|
|
49
|
+
body: JSON.stringify({
|
|
50
|
+
lastUpdatedAt,
|
|
51
|
+
error: err.message
|
|
52
|
+
})
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.executeReplicationJob = executeReplicationJob;
|
|
57
|
+
//# sourceMappingURL=replication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replication.js","sourceRoot":"","sources":["../../src/utils/replication.ts"],"names":[],"mappings":";;;AAAA,0BAA0C;AAE7B,QAAA,iBAAiB,GAAG;IAChC,OAAO,EAAE,yCAAyC;IAClD,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,IAAI;IAC1B,UAAU,EAAE;QACX,aAAa,EAAE;YACd,IAAI,EAAE,QAAQ;SACd;QACD,SAAS,EAAE;YACV,IAAI,EAAE,QAAQ;SACd;QACD,SAAS,EAAE;YACV,IAAI,EAAE,SAAS;SACf;KACD;CACD,CAAC;AAQK,KAAK,UAAW,qBAAqB,CAAC,KAA0C,EAAE,KAAa,EAAE,EAA0C;IAEjJ,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,CAAA;IAE3D,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,IAAI,EAAE,CAAA;IACzB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;IAE3C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAK,CAAC,CAAC,GAAG,MAAM,CAAA;IAE7D,IAAI,SAAS,EAAE;QACR,SAAK,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,yBAAyB,CAAC,CAAA;QACrE,OAAM;KACT;IAEJ,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC9C,IAAI;QACH,MAAM,YAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,aAAa;gBACb,OAAO,EAAE,IAAI,IAAI,EAAE;aACnB,CAAC;SACF,CAAC,CAAA;QAEF,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,CAAC;QAExC,MAAM,YAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,aAAa;aACb,CAAC;SACF,CAAC,CAAA;KACF;IAAC,OAAM,GAAQ,EAAE;QACjB,SAAK,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QACxD,MAAM,YAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACpB,aAAa;gBACb,KAAK,EAAE,GAAG,CAAC,OAAO;aAClB,CAAC;SACF,CAAC,CAAA;KACF;AAEF,CAAC;AAzCD,sDAyCC"}
|