@n1k1t/mock-server 0.1.67 → 0.1.69
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/lib/package.json +1 -1
- package/lib/src/server/endpoints/cache.backup.endpoint.d.ts +24 -0
- package/lib/src/server/endpoints/cache.backup.endpoint.d.ts.map +1 -0
- package/lib/src/server/endpoints/cache.backup.endpoint.js +37 -0
- package/lib/src/server/endpoints/cache.backup.endpoint.js.map +1 -0
- package/lib/src/server/endpoints/cache.delete.endpoint.d.ts +7 -13
- package/lib/src/server/endpoints/cache.delete.endpoint.d.ts.map +1 -1
- package/lib/src/server/endpoints/cache.delete.endpoint.js +27 -29
- package/lib/src/server/endpoints/cache.delete.endpoint.js.map +1 -1
- package/lib/src/server/endpoints/cache.restore.endpoint.d.ts +39 -0
- package/lib/src/server/endpoints/cache.restore.endpoint.d.ts.map +1 -0
- package/lib/src/server/endpoints/cache.restore.endpoint.js +29 -0
- package/lib/src/server/endpoints/cache.restore.endpoint.js.map +1 -0
- package/lib/src/server/endpoints/index.d.ts +2 -0
- package/lib/src/server/endpoints/index.d.ts.map +1 -1
- package/lib/src/server/endpoints/index.js +5 -1
- package/lib/src/server/endpoints/index.js.map +1 -1
- package/lib/src/server/models/context/types.d.ts +1 -1
- package/lib/src/server/models/context/types.d.ts.map +1 -1
- package/lib/src/server/models/context/utils.js.map +1 -1
- package/lib/src/server/services/analytics.service.d.ts +2 -0
- package/lib/src/server/services/analytics.service.d.ts.map +1 -1
- package/lib/src/server/services/analytics.service.js +28 -24
- package/lib/src/server/services/analytics.service.js.map +1 -1
- package/lib/src/server/types/index.d.ts +3 -0
- package/lib/src/server/types/index.d.ts.map +1 -1
- package/lib/src/server/utils/index.d.ts +1 -1
- package/lib/src/server/utils/index.d.ts.map +1 -1
- package/lib/src/server/utils/index.js +15 -0
- package/lib/src/server/utils/index.js.map +1 -1
- package/lib/src/server/utils/rx.d.ts +8 -0
- package/lib/src/server/utils/rx.d.ts.map +1 -0
- package/lib/src/server/utils/rx.js +43 -0
- package/lib/src/server/utils/rx.js.map +1 -0
- package/package.json +1 -1
- package/public/assets/{index-TxMiEbRI.css → index-CKgMA4A4.css} +1 -1
- package/public/assets/{index-CwXt07DI.js → index-DU3YCqcD.js} +48 -37
- package/public/index.html +2 -2
package/lib/package.json
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Endpoint } from '../models';
|
|
2
|
+
declare const _default: Endpoint<{
|
|
3
|
+
outgoing: string;
|
|
4
|
+
}, import("../models").IEndpointSchema<{
|
|
5
|
+
outgoing: string;
|
|
6
|
+
}>> & {
|
|
7
|
+
http: {
|
|
8
|
+
readonly method: "POST";
|
|
9
|
+
readonly path: "/cache/backup";
|
|
10
|
+
};
|
|
11
|
+
} & {
|
|
12
|
+
io: {
|
|
13
|
+
readonly path: "cache:backup";
|
|
14
|
+
};
|
|
15
|
+
} & {
|
|
16
|
+
handler: ({ reply, server }: (import("..").InternalHttpRequestContext<string> | import("..").InternalSocketIoRequestContext<string>) & {
|
|
17
|
+
incoming: {
|
|
18
|
+
data?: unknown;
|
|
19
|
+
query?: unknown;
|
|
20
|
+
};
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
};
|
|
23
|
+
export default _default;
|
|
24
|
+
//# sourceMappingURL=cache.backup.endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.backup.endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.backup.endpoint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;;cAMhB,MAAM;;cAAN,MAAM;;;;;;;;;;;;;;;;;;AAD3B,wBAkCK"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_gzip_1 = require("node-gzip");
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const models_1 = require("../models");
|
|
6
|
+
const logger_1 = require("../../logger");
|
|
7
|
+
const logger = logger_1.Logger.build('Server.Endpoints.CacheBackup');
|
|
8
|
+
exports.default = models_1.Endpoint
|
|
9
|
+
.build()
|
|
10
|
+
.bindToHttp({ method: 'POST', path: `/cache/backup` })
|
|
11
|
+
.bindToIo({ path: 'cache:backup' })
|
|
12
|
+
.assignHandler(async ({ reply, server }) => {
|
|
13
|
+
const backup = { redis: [] };
|
|
14
|
+
if (server.databases.redis) {
|
|
15
|
+
const converter = utils_1.RxConverter.build(server.services.analytics.iterateRedisKeys());
|
|
16
|
+
for await (const key of converter.iterate()) {
|
|
17
|
+
const unprefixed = server.databases.redis.options.keyPrefix
|
|
18
|
+
? key.replace(server.databases.redis.options.keyPrefix, '')
|
|
19
|
+
: key;
|
|
20
|
+
const value = await server.databases.redis.get(unprefixed).catch((error) => {
|
|
21
|
+
logger.error(`Got error while fetching redis value for key [${key}]`, error?.stack ?? error);
|
|
22
|
+
return null;
|
|
23
|
+
});
|
|
24
|
+
value
|
|
25
|
+
? backup.redis.push([unprefixed, value])
|
|
26
|
+
: logger.warn(`Got [${value}] for key [${key}]`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const zipped = await (0, node_gzip_1.gzip)(JSON.stringify(backup)).catch((error) => {
|
|
30
|
+
logger.error('Got error while zip payload', error?.stack ?? error);
|
|
31
|
+
return null;
|
|
32
|
+
});
|
|
33
|
+
zipped
|
|
34
|
+
? reply.ok(zipped.toString('base64'))
|
|
35
|
+
: reply.internalError('Cannot zip backup payload');
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=cache.backup.endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.backup.endpoint.js","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.backup.endpoint.ts"],"names":[],"mappings":";;AAAA,yCAAiC;AAGjC,oCAAuC;AACvC,sCAAqC;AACrC,yCAAsC;AAEtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAE5D,kBAAe,iBAAQ;KACpB,KAAK,EAAwB;KAC7B,UAAU,CAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;KAC5D,QAAQ,CAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACzC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IACzC,MAAM,MAAM,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAE3C,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,mBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAElF,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,OAAO,CAAC,SAAS;gBAC1D,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC5D,CAAC,CAAC,GAAG,CAAC;YAER,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1E,MAAM,CAAC,KAAK,CAAC,iDAAiD,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;gBAC7F,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,KAAK;gBACH,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,GAAG,GAAG,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAChE,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM;QACJ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Endpoint } from '../models';
|
|
2
|
-
interface
|
|
3
|
-
|
|
2
|
+
interface IOutgoing {
|
|
3
|
+
redis?: {
|
|
4
|
+
count: number;
|
|
5
|
+
};
|
|
4
6
|
}
|
|
5
7
|
declare const _default: Endpoint<{
|
|
6
8
|
incoming: {
|
|
@@ -8,18 +10,14 @@ declare const _default: Endpoint<{
|
|
|
8
10
|
prefix?: string;
|
|
9
11
|
};
|
|
10
12
|
};
|
|
11
|
-
outgoing:
|
|
12
|
-
redis?: IRedisResult;
|
|
13
|
-
};
|
|
13
|
+
outgoing: IOutgoing;
|
|
14
14
|
}, import("../models").IEndpointSchema<{
|
|
15
15
|
incoming: {
|
|
16
16
|
data: {
|
|
17
17
|
prefix?: string;
|
|
18
18
|
};
|
|
19
19
|
};
|
|
20
|
-
outgoing:
|
|
21
|
-
redis?: IRedisResult;
|
|
22
|
-
};
|
|
20
|
+
outgoing: IOutgoing;
|
|
23
21
|
}>> & {
|
|
24
22
|
http: {
|
|
25
23
|
readonly method: "DELETE";
|
|
@@ -30,11 +28,7 @@ declare const _default: Endpoint<{
|
|
|
30
28
|
readonly path: "cache:delete";
|
|
31
29
|
};
|
|
32
30
|
} & {
|
|
33
|
-
handler: ({ incoming, reply, server }: (import("..").InternalHttpRequestContext<{
|
|
34
|
-
redis?: IRedisResult;
|
|
35
|
-
}> | import("..").InternalSocketIoRequestContext<{
|
|
36
|
-
redis?: IRedisResult;
|
|
37
|
-
}>) & {
|
|
31
|
+
handler: ({ incoming, reply, server }: (import("..").InternalHttpRequestContext<IOutgoing> | import("..").InternalSocketIoRequestContext<IOutgoing>) & {
|
|
38
32
|
incoming: {
|
|
39
33
|
data?: {
|
|
40
34
|
prefix?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.delete.endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.delete.endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,UAAU,
|
|
1
|
+
{"version":3,"file":"cache.delete.endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.delete.endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,UAAU,SAAS;IACjB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;;cAKoB;QAAE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY,SAAS;;cAAlD;QAAE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY,SAAS;;;;;;;;;;;;;;yBAA/B,MAAM;;;;;;AAD9C,wBAiCK"}
|
|
@@ -1,38 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("../utils");
|
|
3
4
|
const models_1 = require("../models");
|
|
4
5
|
const logger_1 = require("../../logger");
|
|
5
|
-
const logger = logger_1.Logger.build('Server.
|
|
6
|
-
const deleteKeys = (client, prefix) => new Promise((resolve, reject) => {
|
|
7
|
-
const stream = client.scanStream({ match: `${client.options.keyPrefix ?? ''}${prefix ?? ''}*` });
|
|
8
|
-
const result = { count: 0 };
|
|
9
|
-
stream.once('end', () => resolve(result));
|
|
10
|
-
stream.once('error', (error) => {
|
|
11
|
-
logger.error('Got error while scan execution', error?.stack ?? error);
|
|
12
|
-
stream.close();
|
|
13
|
-
reject(error);
|
|
14
|
-
});
|
|
15
|
-
stream.on('data', async (keys) => {
|
|
16
|
-
stream.pause();
|
|
17
|
-
result.count += keys.length;
|
|
18
|
-
await Promise
|
|
19
|
-
.all(keys.map(async (key) => client.call('DEL', key)))
|
|
20
|
-
.catch((error) => {
|
|
21
|
-
logger.error('Got error while deletion keys', error?.stack ?? error);
|
|
22
|
-
stream.close();
|
|
23
|
-
reject(error);
|
|
24
|
-
return [];
|
|
25
|
-
});
|
|
26
|
-
stream.resume();
|
|
27
|
-
});
|
|
28
|
-
});
|
|
6
|
+
const logger = logger_1.Logger.build('Server.Endpoints.CacheDelete');
|
|
29
7
|
exports.default = models_1.Endpoint
|
|
30
8
|
.build()
|
|
31
9
|
.bindToHttp({ method: 'DELETE', path: `/cache` })
|
|
32
10
|
.bindToIo({ path: 'cache:delete' })
|
|
33
|
-
.assignHandler(async ({ incoming, reply, server }) =>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
11
|
+
.assignHandler(async ({ incoming, reply, server }) => {
|
|
12
|
+
const result = {
|
|
13
|
+
...(server.databases.redis && {
|
|
14
|
+
redis: {
|
|
15
|
+
count: 0,
|
|
16
|
+
},
|
|
17
|
+
}),
|
|
18
|
+
};
|
|
19
|
+
if (result.redis) {
|
|
20
|
+
const converter = utils_1.RxConverter.build(server.services.analytics.iterateRedisKeys(incoming.data?.prefix));
|
|
21
|
+
for await (const key of converter.iterate()) {
|
|
22
|
+
const unprefixed = server.databases.redis.options.keyPrefix
|
|
23
|
+
? key.replace(server.databases.redis.options.keyPrefix, '')
|
|
24
|
+
: key;
|
|
25
|
+
const deleted = await server.databases.redis.del(unprefixed).catch((error) => {
|
|
26
|
+
logger.error(`Got error while deletion redis value for key [${key}]`, error?.stack ?? error);
|
|
27
|
+
return null;
|
|
28
|
+
});
|
|
29
|
+
if (deleted) {
|
|
30
|
+
result.redis.count += deleted;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
reply.ok(result);
|
|
35
|
+
});
|
|
38
36
|
//# sourceMappingURL=cache.delete.endpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.delete.endpoint.js","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.delete.endpoint.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cache.delete.endpoint.js","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.delete.endpoint.ts"],"names":[],"mappings":";;AAEA,oCAAuC;AACvC,sCAAqC;AACrC,yCAAsC;AAQtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAE5D,kBAAe,iBAAQ;KACpB,KAAK,EAAoE;KACzE,UAAU,CAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;KACvD,QAAQ,CAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACzC,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IACnD,MAAM,MAAM,GAAc;QACxB,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;YAC5B,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC;aACT;SACF,CAAC;KACH,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,mBAAW,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAEvG,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,OAAO,CAAC,SAAS;gBAC1D,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC5D,CAAC,CAAC,GAAG,CAAC;YAER,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5E,MAAM,CAAC,KAAK,CAAC,iDAAiD,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;gBAC7F,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Endpoint } from '../models';
|
|
2
|
+
declare const _default: Endpoint<{
|
|
3
|
+
incoming: {
|
|
4
|
+
data: {
|
|
5
|
+
backup: string;
|
|
6
|
+
ttl?: number;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
outgoing: null;
|
|
10
|
+
}, import("../models").IEndpointSchema<{
|
|
11
|
+
incoming: {
|
|
12
|
+
data: {
|
|
13
|
+
backup: string;
|
|
14
|
+
ttl?: number;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
outgoing: null;
|
|
18
|
+
}>> & {
|
|
19
|
+
http: {
|
|
20
|
+
readonly method: "POST";
|
|
21
|
+
readonly path: "/cache/restore";
|
|
22
|
+
};
|
|
23
|
+
} & {
|
|
24
|
+
io: {
|
|
25
|
+
readonly path: "cache:restore";
|
|
26
|
+
};
|
|
27
|
+
} & {
|
|
28
|
+
handler: ({ incoming, reply, server }: (import("..").InternalHttpRequestContext<null> | import("..").InternalSocketIoRequestContext<null>) & {
|
|
29
|
+
incoming: {
|
|
30
|
+
data?: {
|
|
31
|
+
backup: string;
|
|
32
|
+
ttl?: number;
|
|
33
|
+
} | undefined;
|
|
34
|
+
query?: unknown;
|
|
35
|
+
};
|
|
36
|
+
}) => Promise<void>;
|
|
37
|
+
};
|
|
38
|
+
export default _default;
|
|
39
|
+
//# sourceMappingURL=cache.restore.endpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.restore.endpoint.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.restore.endpoint.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;;cAMhB;QAAE,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY,IAAI;;cAA1D;QAAE,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;cAAY,IAAI;;;;;;;;;;;;;;wBAAxC,MAAM;sBAAQ,MAAM;;;;;;AAD3D,wBA2BK"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const node_gzip_1 = require("node-gzip");
|
|
4
|
+
const models_1 = require("../models");
|
|
5
|
+
const logger_1 = require("../../logger");
|
|
6
|
+
const logger = logger_1.Logger.build('Server.Endpoints.CacheRestore');
|
|
7
|
+
exports.default = models_1.Endpoint
|
|
8
|
+
.build()
|
|
9
|
+
.bindToHttp({ method: 'POST', path: `/cache/restore` })
|
|
10
|
+
.bindToIo({ path: 'cache:restore' })
|
|
11
|
+
.assignHandler(async ({ incoming, reply, server }) => {
|
|
12
|
+
const unziped = await (0, node_gzip_1.ungzip)(Buffer.from(incoming.data.backup, 'base64')).catch((error) => {
|
|
13
|
+
logger.error('Got error while cache unzip', error?.stack ?? error);
|
|
14
|
+
return null;
|
|
15
|
+
});
|
|
16
|
+
if (!unziped) {
|
|
17
|
+
return reply.internalError('Cannot unzip backup payload');
|
|
18
|
+
}
|
|
19
|
+
const ttl = incoming.data.ttl ?? 60 * 60;
|
|
20
|
+
const backup = JSON.parse(unziped.toString('utf8'));
|
|
21
|
+
if (server.databases.redis) {
|
|
22
|
+
await Promise.all(backup.redis.map(([key, value]) => server.databases.redis.setex(key, ttl, value).catch((error) => {
|
|
23
|
+
logger.error(`Got error while inserting key [${key}]`, error?.stack ?? error);
|
|
24
|
+
return null;
|
|
25
|
+
})));
|
|
26
|
+
}
|
|
27
|
+
reply.ok(null);
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=cache.restore.endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.restore.endpoint.js","sourceRoot":"","sources":["../../../../src/server/endpoints/cache.restore.endpoint.ts"],"names":[],"mappings":";;AAAA,yCAAmC;AAGnC,sCAAqC;AACrC,yCAAsC;AAEtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;AAE7D,kBAAe,iBAAQ;KACpB,KAAK,EAA4E;KACjF,UAAU,CAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;KAC7D,QAAQ,CAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;KAC1C,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IACnD,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAM,EAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACzF,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAClD,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7D,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
|
|
@@ -6,6 +6,8 @@ export { default as expectationsUpdate } from './expectations.update.endpoint';
|
|
|
6
6
|
export { default as historyGetList } from './history.get-list.endpoint';
|
|
7
7
|
export { default as historyDelete } from './history.delete.endpoint';
|
|
8
8
|
export { default as cacheUsageGet } from './cache.usage.get.endpoint';
|
|
9
|
+
export { default as cacheRestore } from './cache.restore.endpoint';
|
|
10
|
+
export { default as cacheBackup } from './cache.backup.endpoint';
|
|
9
11
|
export { default as cacheDelete } from './cache.delete.endpoint';
|
|
10
12
|
export { default as configGet } from './config.get.endpoint';
|
|
11
13
|
export { default as metrics } from './metrics.endpoint';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE/E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/endpoints/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAE/E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.gui = exports.ping = exports.stats = exports.metrics = exports.configGet = exports.cacheDelete = exports.cacheUsageGet = exports.historyDelete = exports.historyGetList = exports.expectationsUpdate = exports.expectationsDelete = exports.expectationsCreate = exports.expectationsGetList = exports.expectationsGroupUpdate = void 0;
|
|
6
|
+
exports.gui = exports.ping = exports.stats = exports.metrics = exports.configGet = exports.cacheDelete = exports.cacheBackup = exports.cacheRestore = exports.cacheUsageGet = exports.historyDelete = exports.historyGetList = exports.expectationsUpdate = exports.expectationsDelete = exports.expectationsCreate = exports.expectationsGetList = exports.expectationsGroupUpdate = void 0;
|
|
7
7
|
var expectations_group_update_endpoint_1 = require("./expectations-group.update.endpoint");
|
|
8
8
|
Object.defineProperty(exports, "expectationsGroupUpdate", { enumerable: true, get: function () { return __importDefault(expectations_group_update_endpoint_1).default; } });
|
|
9
9
|
var expectations_get_list_endpoint_1 = require("./expectations.get-list.endpoint");
|
|
@@ -20,6 +20,10 @@ var history_delete_endpoint_1 = require("./history.delete.endpoint");
|
|
|
20
20
|
Object.defineProperty(exports, "historyDelete", { enumerable: true, get: function () { return __importDefault(history_delete_endpoint_1).default; } });
|
|
21
21
|
var cache_usage_get_endpoint_1 = require("./cache.usage.get.endpoint");
|
|
22
22
|
Object.defineProperty(exports, "cacheUsageGet", { enumerable: true, get: function () { return __importDefault(cache_usage_get_endpoint_1).default; } });
|
|
23
|
+
var cache_restore_endpoint_1 = require("./cache.restore.endpoint");
|
|
24
|
+
Object.defineProperty(exports, "cacheRestore", { enumerable: true, get: function () { return __importDefault(cache_restore_endpoint_1).default; } });
|
|
25
|
+
var cache_backup_endpoint_1 = require("./cache.backup.endpoint");
|
|
26
|
+
Object.defineProperty(exports, "cacheBackup", { enumerable: true, get: function () { return __importDefault(cache_backup_endpoint_1).default; } });
|
|
23
27
|
var cache_delete_endpoint_1 = require("./cache.delete.endpoint");
|
|
24
28
|
Object.defineProperty(exports, "cacheDelete", { enumerable: true, get: function () { return __importDefault(cache_delete_endpoint_1).default; } });
|
|
25
29
|
var config_get_endpoint_1 = require("./config.get.endpoint");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/endpoints/index.ts"],"names":[],"mappings":";;;;;;AAAA,2FAA0F;AAAjF,8JAAA,OAAO,OAA2B;AAC3C,mFAAkF;AAAzE,sJAAA,OAAO,OAAuB;AACvC,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AACtC,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AACtC,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AAEtC,yEAAwE;AAA/D,4IAAA,OAAO,OAAkB;AAClC,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB;AAEjC,uEAAsE;AAA7D,0IAAA,OAAO,OAAiB;AACjC,iEAAiE;AAAxD,qIAAA,OAAO,OAAe;AAE/B,6DAA6D;AAApD,iIAAA,OAAO,OAAa;AAE7B,uDAAwD;AAA/C,4HAAA,OAAO,OAAW;AAC3B,mDAAoD;AAA3C,wHAAA,OAAO,OAAS;AACzB,iDAAkD;AAAzC,sHAAA,OAAO,OAAQ;AACxB,+CAAgD;AAAvC,oHAAA,OAAO,OAAO"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/endpoints/index.ts"],"names":[],"mappings":";;;;;;AAAA,2FAA0F;AAAjF,8JAAA,OAAO,OAA2B;AAC3C,mFAAkF;AAAzE,sJAAA,OAAO,OAAuB;AACvC,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AACtC,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AACtC,+EAA+E;AAAtE,mJAAA,OAAO,OAAsB;AAEtC,yEAAwE;AAA/D,4IAAA,OAAO,OAAkB;AAClC,qEAAqE;AAA5D,yIAAA,OAAO,OAAiB;AAEjC,uEAAsE;AAA7D,0IAAA,OAAO,OAAiB;AACjC,mEAAmE;AAA1D,uIAAA,OAAO,OAAgB;AAChC,iEAAiE;AAAxD,qIAAA,OAAO,OAAe;AAC/B,iEAAiE;AAAxD,qIAAA,OAAO,OAAe;AAE/B,6DAA6D;AAApD,iIAAA,OAAO,OAAa;AAE7B,uDAAwD;AAA/C,4HAAA,OAAO,OAAW;AAC3B,mDAAoD;AAA3C,wHAAA,OAAO,OAAS;AACzB,iDAAkD;AAAzC,sHAAA,OAAO,OAAQ;AACxB,+CAAgD;AAAvC,oHAAA,OAAO,OAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/models/context/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAE7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAElC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAEnC,QAAQ,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,QAAQ,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC;CAChE;AAED,MAAM,WAAW,iCAAiC;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtB,cAAc;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,yCAAyC,GACjD;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,GACpB;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/server/models/context/utils.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAuD;AACvD,6CAAwD;AACxD,qDAAwD;AACxD,6BAAwC;AACxC,8DAAqC;AACrC,oDAAuB;AAIvB,0CAA+C;AAE/C,MAAM,SAAS,GAAG,IAAI,2BAAS,CAAC;IAC9B,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAI,4BAAU,CAAC;IAChC,gBAAgB,EAAE,KAAK;CACxB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,WAAmB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/server/models/context/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
1
2
|
import { Service } from '../models';
|
|
2
3
|
export interface IRedisUsage {
|
|
3
4
|
count: number;
|
|
4
5
|
bytes: number;
|
|
5
6
|
}
|
|
6
7
|
export declare class AnalyticsService extends Service {
|
|
8
|
+
iterateRedisKeys(prefix?: string): Observable<string>;
|
|
7
9
|
calculateRedisUsage(prefix?: string): Promise<IRedisUsage>;
|
|
8
10
|
static build(server: Service['server']): AnalyticsService;
|
|
9
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.service.d.ts","sourceRoot":"","sources":["../../../../src/server/services/analytics.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"analytics.service.d.ts","sourceRoot":"","sources":["../../../../src/server/services/analytics.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,MAAM,CAAC;AAI/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAID,qBAAa,gBAAiB,SAAQ,OAAO;IACpC,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAsB/C,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAqBvE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;CAGvC"}
|
|
@@ -1,39 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AnalyticsService = void 0;
|
|
4
|
+
const rxjs_1 = require("rxjs");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
4
6
|
const models_1 = require("../models");
|
|
5
7
|
const logger_1 = require("../../logger");
|
|
6
8
|
const logger = logger_1.Logger.build('Services.Analytics');
|
|
7
9
|
class AnalyticsService extends models_1.Service {
|
|
10
|
+
iterateRedisKeys(prefix) {
|
|
11
|
+
if (!this.server.databases.redis) {
|
|
12
|
+
return (0, rxjs_1.of)();
|
|
13
|
+
}
|
|
14
|
+
const subject = new rxjs_1.Subject();
|
|
15
|
+
const match = `${this.server.databases.redis.options.keyPrefix ?? ''}${prefix ?? ''}*`;
|
|
16
|
+
const stream = this.server.databases.redis.scanStream({ match });
|
|
17
|
+
stream.once('end', () => setImmediate(() => subject.complete()));
|
|
18
|
+
stream.once('error', (error) => {
|
|
19
|
+
logger.error('Got error while scan execution', error?.stack ?? error);
|
|
20
|
+
stream.close();
|
|
21
|
+
subject.error(error);
|
|
22
|
+
});
|
|
23
|
+
stream.on('data', async (keys) => keys.forEach((key) => subject.next(key)));
|
|
24
|
+
return subject.asObservable();
|
|
25
|
+
}
|
|
8
26
|
async calculateRedisUsage(prefix) {
|
|
9
27
|
if (!this.server.databases.redis) {
|
|
10
28
|
return { count: 0, bytes: 0 };
|
|
11
29
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
logger.error('Got error while scan execution', error?.stack ?? error);
|
|
19
|
-
stream.close();
|
|
20
|
-
reject(error);
|
|
30
|
+
const converter = utils_1.RxConverter.build(this.iterateRedisKeys(prefix));
|
|
31
|
+
const result = { count: 0, bytes: 0 };
|
|
32
|
+
for await (const key of converter.iterate()) {
|
|
33
|
+
const usage = await this.server.databases.redis.call('MEMORY', 'USAGE', key).catch((error) => {
|
|
34
|
+
logger.error('Got error while fetching memory usage', error?.stack ?? error);
|
|
35
|
+
throw error;
|
|
21
36
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
.all(keys.map(async (key) => this.server.databases.redis.call('MEMORY', 'USAGE', key)))
|
|
27
|
-
.catch((error) => {
|
|
28
|
-
logger.error('Got error while fetching memory usage', error?.stack ?? error);
|
|
29
|
-
stream.close();
|
|
30
|
-
reject(error);
|
|
31
|
-
return [];
|
|
32
|
-
});
|
|
33
|
-
usage.forEach((bytes) => result.bytes += Number(bytes));
|
|
34
|
-
stream.resume();
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
+
result.count += 1;
|
|
38
|
+
result.bytes += Number(usage);
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
37
41
|
}
|
|
38
42
|
static build(server) {
|
|
39
43
|
return new AnalyticsService(server);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.service.js","sourceRoot":"","sources":["../../../../src/server/services/analytics.service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"analytics.service.js","sourceRoot":"","sources":["../../../../src/server/services/analytics.service.ts"],"names":[],"mappings":";;;AAAA,+BAA+C;AAG/C,oCAAuC;AACvC,sCAAoC;AACpC,yCAAsC;AAOtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAa,gBAAiB,SAAQ,gBAAO;IACpC,gBAAgB,CAAC,MAAe;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,IAAA,SAAE,GAAE,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,cAAO,EAAU,CAAC;QAEtC,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,GAAG,MAAM,IAAI,EAAE,GAAG,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAElE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,MAAe;QAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAG,mBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAEnD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5F,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;gBAC7E,MAAM,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAyB;QACpC,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF;AA/CD,4CA+CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,mBAAmB,GAAG,EAAE;IACrE,SAAS,EAAE,MAAM,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACrE,KAAK,EAAE,MAAM,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,MAAM,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzF,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChD,qBAAqB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElD,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,mBAAmB,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc,CAAC,MAAM,SAAS,mBAAmB,GAAG,EAAE;IACrE,SAAS,EAAE,MAAM,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACrE,KAAK,EAAE,MAAM,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7D,IAAI,EAAE,MAAM,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACzF,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChD,qBAAqB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAElD,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,iBAAiB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,mBAAmB,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CAC3B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TObject, TSchema } from '@n1k1t/typebox';
|
|
2
2
|
import { ValueError } from '@n1k1t/typebox/value';
|
|
3
3
|
import type { Constructable } from '../../../types';
|
|
4
|
+
export * from './rx';
|
|
4
5
|
interface IValidationMetaContext {
|
|
5
6
|
schema: TObject;
|
|
6
7
|
properties: Set<string | Symbol>;
|
|
@@ -8,5 +9,4 @@ interface IValidationMetaContext {
|
|
|
8
9
|
export declare const extractValidationMetaContext: (Definition: Constructable<object> | Function) => IValidationMetaContext | null;
|
|
9
10
|
export declare const validate: (instance: object, references?: TSchema[]) => ValueError[];
|
|
10
11
|
export declare const UseValidation: (schema: TSchema) => PropertyDecorator;
|
|
11
|
-
export {};
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAQ,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAS,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,UAAU,sBAAsB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAClC;AASD,eAAO,MAAM,4BAA4B,eAC1B,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,KAAG,sBAAsB,GAAG,IACd,CAAC;AAE9D,eAAO,MAAM,QAAQ,aAAc,MAAM,eAAc,OAAO,EAAE,KAAQ,UAAU,EAGjF,CAAA;AAED,eAAO,MAAM,aAAa,WAAY,OAAO,KAAG,iBAQ/C,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAQ,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAS,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,cAAc,MAAM,CAAC;AAErB,UAAU,sBAAsB;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CAClC;AASD,eAAO,MAAM,4BAA4B,eAC1B,aAAa,CAAC,MAAM,CAAC,GAAG,QAAQ,KAAG,sBAAsB,GAAG,IACd,CAAC;AAE9D,eAAO,MAAM,QAAQ,aAAc,MAAM,eAAc,OAAO,EAAE,KAAQ,UAAU,EAGjF,CAAA;AAED,eAAO,MAAM,aAAa,WAAY,OAAO,KAAG,iBAQ/C,CAAA"}
|
|
@@ -1,8 +1,23 @@
|
|
|
1
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.UseValidation = exports.validate = exports.extractValidationMetaContext = void 0;
|
|
4
18
|
const typebox_1 = require("@n1k1t/typebox");
|
|
5
19
|
const value_1 = require("@n1k1t/typebox/value");
|
|
20
|
+
__exportStar(require("./rx"), exports);
|
|
6
21
|
const validationContextMetaKey = Symbol('validation:context');
|
|
7
22
|
const buildValidationMetaContext = () => ({
|
|
8
23
|
schema: typebox_1.Type.Object({}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAwD;AACxD,gDAAyD;AAIzD,uCAAqB;AAOrB,MAAM,wBAAwB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAE9D,MAAM,0BAA0B,GAAG,GAA2B,EAAE,CAAC,CAAC;IAChE,MAAM,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACvB,UAAU,EAAE,IAAI,GAAG,EAAE;CACtB,CAAC,CAAC;AAEI,MAAM,4BAA4B,GACvC,CAAC,UAA4C,EAAiC,EAAE,CAC9E,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,wBAAwB,CAAC,IAAI,IAAI,CAAC;AAFjD,QAAA,4BAA4B,gCAEqB;AAEvD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,aAAwB,EAAE,EAAgB,EAAE;IACrF,MAAM,OAAO,GAAG,IAAA,oCAA4B,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChF,CAAC,CAAA;AAHY,QAAA,QAAQ,YAGpB;AAEM,MAAM,aAAa,GAAG,CAAC,MAAe,EAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,OAAO,GAAG,IAAA,oCAA4B,EAAC,MAAM,CAAC,WAAW,CAAC;WAC3D,0BAA0B,EAAE,CAAC;IAElC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,MAAM,GAAG,cAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,cAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAElF,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC,CAAA;AARY,QAAA,aAAa,iBAQzB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
export declare class RxConverter<T> {
|
|
3
|
+
source: Observable<T>;
|
|
4
|
+
constructor(source: Observable<T>);
|
|
5
|
+
iterate(): AsyncIterable<T, null>;
|
|
6
|
+
static build<T>(source: Observable<T>): RxConverter<T>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=rx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rx.d.ts","sourceRoot":"","sources":["../../../../src/server/utils/rx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,qBAAa,WAAW,CAAC,CAAC;IACL,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;gBAArB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEjC,OAAO,IAAI,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC;IAqCxC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;CAGvD"}
|