@famir/database 0.0.3 → 0.0.4
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/README.md +187 -0
- package/dist/database.d.ts +0 -1
- package/dist/database.error.js.map +1 -1
- package/dist/database.functions.d.ts +16 -11
- package/dist/database.functions.js.map +1 -1
- package/dist/database.js +0 -1
- package/dist/database.js.map +1 -1
- package/dist/database.keys.d.ts +1 -1
- package/dist/database.keys.js +3 -3
- package/dist/database.keys.js.map +1 -1
- package/dist/database.schemas.js.map +1 -1
- package/dist/modules/base/redis-base.repository.d.ts +7 -7
- package/dist/modules/base/redis-base.repository.js +64 -44
- package/dist/modules/base/redis-base.repository.js.map +1 -1
- package/dist/modules/campaign/campaign.d.ts +2 -1
- package/dist/modules/campaign/campaign.functions.d.ts +4 -4
- package/dist/modules/campaign/campaign.functions.js +8 -8
- package/dist/modules/campaign/campaign.functions.js.map +1 -1
- package/dist/modules/campaign/campaign.js +1 -0
- package/dist/modules/campaign/campaign.js.map +1 -1
- package/dist/modules/campaign/campaign.models.js.map +1 -1
- package/dist/modules/campaign/campaign.schemas.d.ts +1 -0
- package/dist/modules/campaign/campaign.schemas.js +64 -110
- package/dist/modules/campaign/campaign.schemas.js.map +1 -1
- package/dist/modules/campaign/redis-campaign.repository.js +28 -12
- package/dist/modules/campaign/redis-campaign.repository.js.map +1 -1
- package/dist/modules/index.d.ts +1 -0
- package/dist/modules/index.js +1 -0
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/lure/lure.functions.d.ts +2 -2
- package/dist/modules/lure/lure.functions.js +1 -1
- package/dist/modules/lure/lure.functions.js.map +1 -1
- package/dist/modules/lure/lure.js.map +1 -1
- package/dist/modules/lure/lure.models.js.map +1 -1
- package/dist/modules/lure/lure.schemas.js +13 -26
- package/dist/modules/lure/lure.schemas.js.map +1 -1
- package/dist/modules/lure/redis-lure.repository.js +19 -6
- package/dist/modules/lure/redis-lure.repository.js.map +1 -1
- package/dist/modules/message/message.functions.d.ts +4 -3
- package/dist/modules/message/message.functions.js +4 -4
- package/dist/modules/message/message.functions.js.map +1 -1
- package/dist/modules/message/message.js.map +1 -1
- package/dist/modules/message/message.models.js.map +1 -1
- package/dist/modules/message/message.schemas.js +35 -102
- package/dist/modules/message/message.schemas.js.map +1 -1
- package/dist/modules/message/redis-message.repository.js +10 -7
- package/dist/modules/message/redis-message.repository.js.map +1 -1
- package/dist/modules/proxy/proxy.functions.d.ts +2 -2
- package/dist/modules/proxy/proxy.functions.js +1 -1
- package/dist/modules/proxy/proxy.functions.js.map +1 -1
- package/dist/modules/proxy/proxy.js.map +1 -1
- package/dist/modules/proxy/proxy.models.js.map +1 -1
- package/dist/modules/proxy/proxy.schemas.js +12 -23
- package/dist/modules/proxy/proxy.schemas.js.map +1 -1
- package/dist/modules/proxy/redis-proxy.repository.js +19 -6
- package/dist/modules/proxy/redis-proxy.repository.js.map +1 -1
- package/dist/modules/redirector/redirector.functions.d.ts +1 -1
- package/dist/modules/redirector/redirector.functions.js +1 -1
- package/dist/modules/redirector/redirector.functions.js.map +1 -1
- package/dist/modules/redirector/redirector.js.map +1 -1
- package/dist/modules/redirector/redirector.models.js.map +1 -1
- package/dist/modules/redirector/redirector.schemas.js +26 -48
- package/dist/modules/redirector/redirector.schemas.js.map +1 -1
- package/dist/modules/redirector/redis-redirector.repository.js +22 -6
- package/dist/modules/redirector/redis-redirector.repository.js.map +1 -1
- package/dist/modules/session/redis-session.repository.js +15 -6
- package/dist/modules/session/redis-session.repository.js.map +1 -1
- package/dist/modules/session/session.functions.d.ts +3 -3
- package/dist/modules/session/session.functions.js +2 -2
- package/dist/modules/session/session.functions.js.map +1 -1
- package/dist/modules/session/session.js.map +1 -1
- package/dist/modules/session/session.models.js.map +1 -1
- package/dist/modules/session/session.schemas.js +21 -37
- package/dist/modules/session/session.schemas.js.map +1 -1
- package/dist/modules/target/redis-target.repository.d.ts +2 -2
- package/dist/modules/target/redis-target.repository.js +51 -30
- package/dist/modules/target/redis-target.repository.js.map +1 -1
- package/dist/modules/target/target.d.ts +2 -1
- package/dist/modules/target/target.functions.d.ts +13 -7
- package/dist/modules/target/target.functions.js +28 -21
- package/dist/modules/target/target.functions.js.map +1 -1
- package/dist/modules/target/target.js.map +1 -1
- package/dist/modules/target/target.models.d.ts +3 -1
- package/dist/modules/target/target.models.js +3 -3
- package/dist/modules/target/target.models.js.map +1 -1
- package/dist/modules/target/target.schemas.d.ts +3 -1
- package/dist/modules/target/target.schemas.js +110 -180
- package/dist/modules/target/target.schemas.js.map +1 -1
- package/dist/redis-database-connector.d.ts +1 -1
- package/dist/redis-database-connector.js +6 -6
- package/dist/redis-database-connector.js.map +1 -1
- package/dist/redis-database-manager.js +7 -2
- package/dist/redis-database-manager.js.map +1 -1
- package/dist/redis-functions.js +7 -7
- package/dist/redis-functions.js.map +1 -1
- package/package.json +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lure.schemas.js","sourceRoot":"","sources":["../../../src/modules/lure/lure.schemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lure.schemas.js","sourceRoot":"","sources":["../../../src/modules/lure/lure.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AASzB,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,GAAG;CACN,CAAA;AAQV,MAAM,aAAa,GAA4B;IAC7C,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR,aAAa;QACb,SAAS;QACT,MAAM;QACN,eAAe;QACf,YAAY;QACZ,eAAe;QACf,YAAY;KACb;IACD,UAAU,EAAE;QACV,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,iBAAiB;QAChC,UAAU,EAAE,aAAa;QACzB,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,eAAe;KAC5B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAA;AAQV,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,mBAAmB,EAAE,aAAa;CAC1B,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CONFIG } from '@famir/config';
|
|
2
2
|
import { LOGGER } from '@famir/logger';
|
|
3
3
|
import { VALIDATOR } from '@famir/validator';
|
|
4
|
+
import { DatabaseError } from '../../database.error.js';
|
|
4
5
|
import { DATABASE_CONNECTOR } from '../../database.js';
|
|
5
6
|
import { RedisBaseRepository } from '../base/index.js';
|
|
6
7
|
import { LURE_REPOSITORY } from './lure.js';
|
|
@@ -17,8 +18,11 @@ export class RedisLureRepository extends RedisBaseRepository {
|
|
|
17
18
|
}
|
|
18
19
|
async create(campaignId, lureId, path, redirectorId, lockSecret) {
|
|
19
20
|
try {
|
|
20
|
-
const statusReply = await this.connection.lure.create_lure(this.options.prefix, campaignId, lureId, path, redirectorId, Date.now()
|
|
21
|
-
const mesg = this.
|
|
21
|
+
const statusReply = await this.connection.lure.create_lure(this.options.prefix, campaignId, lureId, path, redirectorId, Date.now(), lockSecret);
|
|
22
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
23
|
+
if (code !== 'OK') {
|
|
24
|
+
throw new DatabaseError(mesg, { code });
|
|
25
|
+
}
|
|
22
26
|
this.logger.info(mesg, { lure: { campaignId, lureId, path, redirectorId } });
|
|
23
27
|
}
|
|
24
28
|
catch (error) {
|
|
@@ -51,7 +55,10 @@ export class RedisLureRepository extends RedisBaseRepository {
|
|
|
51
55
|
async enable(campaignId, lureId, lockSecret) {
|
|
52
56
|
try {
|
|
53
57
|
const statusReply = await this.connection.lure.enable_lure(this.options.prefix, campaignId, lureId, lockSecret);
|
|
54
|
-
const mesg = this.
|
|
58
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
59
|
+
if (code !== 'OK') {
|
|
60
|
+
throw new DatabaseError(mesg, { code });
|
|
61
|
+
}
|
|
55
62
|
this.logger.info(mesg, { lure: { campaignId, lureId } });
|
|
56
63
|
}
|
|
57
64
|
catch (error) {
|
|
@@ -61,7 +68,10 @@ export class RedisLureRepository extends RedisBaseRepository {
|
|
|
61
68
|
async disable(campaignId, lureId, lockSecret) {
|
|
62
69
|
try {
|
|
63
70
|
const statusReply = await this.connection.lure.disable_lure(this.options.prefix, campaignId, lureId, lockSecret);
|
|
64
|
-
const mesg = this.
|
|
71
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
72
|
+
if (code !== 'OK') {
|
|
73
|
+
throw new DatabaseError(mesg, { code });
|
|
74
|
+
}
|
|
65
75
|
this.logger.info(mesg, { lure: { campaignId, lureId } });
|
|
66
76
|
}
|
|
67
77
|
catch (error) {
|
|
@@ -71,7 +81,10 @@ export class RedisLureRepository extends RedisBaseRepository {
|
|
|
71
81
|
async delete(campaignId, lureId, redirectorId, lockSecret) {
|
|
72
82
|
try {
|
|
73
83
|
const statusReply = await this.connection.lure.delete_lure(this.options.prefix, campaignId, lureId, redirectorId, lockSecret);
|
|
74
|
-
const mesg = this.
|
|
84
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
85
|
+
if (code !== 'OK') {
|
|
86
|
+
throw new DatabaseError(mesg, { code });
|
|
87
|
+
}
|
|
75
88
|
this.logger.info(mesg, { lure: { campaignId, lureId, redirectorId } });
|
|
76
89
|
}
|
|
77
90
|
catch (error) {
|
|
@@ -97,7 +110,7 @@ export class RedisLureRepository extends RedisBaseRepository {
|
|
|
97
110
|
return null;
|
|
98
111
|
}
|
|
99
112
|
this.validateRawData('database-raw-lure', rawModel);
|
|
100
|
-
return new LureModel(rawModel.campaign_id, rawModel.lure_id, rawModel.path, rawModel.redirector_id,
|
|
113
|
+
return new LureModel(rawModel.campaign_id, rawModel.lure_id, rawModel.path, rawModel.redirector_id, rawModel.is_enabled, rawModel.session_count, new Date(rawModel.created_at));
|
|
101
114
|
}
|
|
102
115
|
buildCollection(rawCollection) {
|
|
103
116
|
this.validateArrayReply(rawCollection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-lure.repository.js","sourceRoot":"","sources":["../../../src/modules/lure/redis-lure.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAA0C,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAkB,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAO/C,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"redis-lure.repository.js","sourceRoot":"","sources":["../../../src/modules/lure/redis-lure.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HttpMethod, HttpType } from '@famir/http-proto';
|
|
1
2
|
import { CommandParser } from '@redis/client';
|
|
2
3
|
export interface RawMessage {
|
|
3
4
|
campaign_id: string;
|
|
@@ -5,8 +6,8 @@ export interface RawMessage {
|
|
|
5
6
|
proxy_id: string;
|
|
6
7
|
target_id: string;
|
|
7
8
|
session_id: string;
|
|
8
|
-
type:
|
|
9
|
-
method:
|
|
9
|
+
type: HttpType;
|
|
10
|
+
method: HttpMethod;
|
|
10
11
|
url: string;
|
|
11
12
|
status: number;
|
|
12
13
|
analyze: string;
|
|
@@ -27,7 +28,7 @@ export declare const messageFunctions: {
|
|
|
27
28
|
readonly message: {
|
|
28
29
|
readonly create_message: {
|
|
29
30
|
readonly NUMBER_OF_KEYS: 5;
|
|
30
|
-
readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, messageId: string, proxyId: string, targetId: string, sessionId: string, type: string, method: string, url: string, requestHeaders: string, requestBody: string, status:
|
|
31
|
+
readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, messageId: string, proxyId: string, targetId: string, sessionId: string, type: string, method: string, url: string, requestHeaders: string, requestBody: string, status: number, responseHeaders: string, responseBody: string, connection: string, payload: string, errors: string, analyze: string, startTime: number, finishTime: number, createdAt: number) => void;
|
|
31
32
|
readonly transformReply: () => unknown;
|
|
32
33
|
};
|
|
33
34
|
readonly create_dummy_message: {
|
|
@@ -19,16 +19,16 @@ export const messageFunctions = {
|
|
|
19
19
|
parser.push(url);
|
|
20
20
|
parser.push(requestHeaders);
|
|
21
21
|
parser.push(requestBody);
|
|
22
|
-
parser.push(status);
|
|
22
|
+
parser.push(status.toString());
|
|
23
23
|
parser.push(responseHeaders);
|
|
24
24
|
parser.push(responseBody);
|
|
25
25
|
parser.push(connection);
|
|
26
26
|
parser.push(payload);
|
|
27
27
|
parser.push(errors);
|
|
28
28
|
parser.push(analyze);
|
|
29
|
-
parser.push(startTime);
|
|
30
|
-
parser.push(finishTime);
|
|
31
|
-
parser.push(createdAt);
|
|
29
|
+
parser.push(startTime.toString());
|
|
30
|
+
parser.push(finishTime.toString());
|
|
31
|
+
parser.push(createdAt.toString());
|
|
32
32
|
},
|
|
33
33
|
transformReply: undefined,
|
|
34
34
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.functions.js","sourceRoot":"","sources":["../../../src/modules/message/message.functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message.functions.js","sourceRoot":"","sources":["../../../src/modules/message/message.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/modules/message/message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/modules/message/message.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.models.js","sourceRoot":"","sources":["../../../src/modules/message/message.models.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"message.models.js","sourceRoot":"","sources":["../../../src/modules/message/message.models.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,YAAY;IA6BZ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAlCX,MAAM,CAAC,SAAS,GAAG,CAAyB,KAAe,EAAc,EAAE;QACzE,OAAO,KAAK,IAAI,IAAI,CAAA;IACtB,CAAC,CAAA;IAmBD,YACW,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,SAAiB,EACjB,IAAc,EACd,MAAkB,EAClB,GAAW,EACX,MAAc,EACd,OAAe,EACf,SAAiB,EACjB,UAAkB,EAClB,SAAe;QAZf,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAU;QACd,WAAM,GAAN,MAAM,CAAY;QAClB,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAM;IACvB,CAAC;IAOJ,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAChF,CAAC;;AAQH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAkCrC;IACA;IAEA;IACA;IACA;IACA;IACA;IAhBX,YACE,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,SAAiB,EACjB,IAAc,EACd,MAAkB,EAClB,GAAW,EACF,cAA2B,EAC3B,WAAqB,EAC9B,MAAc,EACL,eAA4B,EAC5B,YAAsB,EACtB,UAA0B,EAC1B,OAAoB,EACpB,MAAmB,EAC5B,OAAe,EACf,SAAiB,EACjB,UAAkB,EAClB,SAAe;QAEf,KAAK,CACH,UAAU,EACV,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,EACN,GAAG,EACH,MAAM,EACN,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,CACV,CAAA;QA3BQ,mBAAc,GAAd,cAAc,CAAa;QAC3B,gBAAW,GAAX,WAAW,CAAU;QAErB,oBAAe,GAAf,eAAe,CAAa;QAC5B,iBAAY,GAAZ,YAAY,CAAU;QACtB,eAAU,GAAV,UAAU,CAAgB;QAC1B,YAAO,GAAP,OAAO,CAAa;QACpB,WAAM,GAAN,MAAM,CAAa;IAqB9B,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { httpConnectionSchema, httpErrorsSchema, httpHeadersSchema, httpMethodSchema, httpPayloadSchema, httpTypeSchema, } from '@famir/http-proto';
|
|
1
|
+
import { httpConnectionSchema, httpErrorsSchema, httpHeadersSchema, httpMethodSchema, httpPayloadSchema, httpRelativeUrlSchema, httpStatusSchema, httpTypeSchema, } from '@famir/http-proto';
|
|
2
|
+
import { customIdentSchema, randomIdentSchema, serializableSchema, timestampSchema, } from '@famir/validator';
|
|
2
3
|
const rawMessageSchema = {
|
|
3
4
|
type: 'object',
|
|
4
5
|
required: [
|
|
@@ -17,45 +18,19 @@ const rawMessageSchema = {
|
|
|
17
18
|
'created_at',
|
|
18
19
|
],
|
|
19
20
|
properties: {
|
|
20
|
-
campaign_id:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
type: 'string',
|
|
34
|
-
},
|
|
35
|
-
type: {
|
|
36
|
-
type: 'string',
|
|
37
|
-
},
|
|
38
|
-
method: {
|
|
39
|
-
type: 'string',
|
|
40
|
-
},
|
|
41
|
-
url: {
|
|
42
|
-
type: 'string',
|
|
43
|
-
},
|
|
44
|
-
status: {
|
|
45
|
-
type: 'integer',
|
|
46
|
-
},
|
|
47
|
-
analyze: {
|
|
48
|
-
type: 'string',
|
|
49
|
-
},
|
|
50
|
-
start_time: {
|
|
51
|
-
type: 'integer',
|
|
52
|
-
},
|
|
53
|
-
finish_time: {
|
|
54
|
-
type: 'integer',
|
|
55
|
-
},
|
|
56
|
-
created_at: {
|
|
57
|
-
type: 'integer',
|
|
58
|
-
},
|
|
21
|
+
campaign_id: customIdentSchema,
|
|
22
|
+
message_id: randomIdentSchema,
|
|
23
|
+
proxy_id: customIdentSchema,
|
|
24
|
+
target_id: customIdentSchema,
|
|
25
|
+
session_id: randomIdentSchema,
|
|
26
|
+
type: httpTypeSchema,
|
|
27
|
+
method: httpMethodSchema,
|
|
28
|
+
url: httpRelativeUrlSchema,
|
|
29
|
+
status: httpStatusSchema,
|
|
30
|
+
analyze: customIdentSchema,
|
|
31
|
+
start_time: timestampSchema,
|
|
32
|
+
finish_time: timestampSchema,
|
|
33
|
+
created_at: timestampSchema,
|
|
59
34
|
},
|
|
60
35
|
additionalProperties: false,
|
|
61
36
|
};
|
|
@@ -84,74 +59,32 @@ const rawFullMessageSchema = {
|
|
|
84
59
|
'created_at',
|
|
85
60
|
],
|
|
86
61
|
properties: {
|
|
87
|
-
campaign_id:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
},
|
|
108
|
-
url: {
|
|
109
|
-
type: 'string',
|
|
110
|
-
},
|
|
111
|
-
request_headers: {
|
|
112
|
-
type: 'string',
|
|
113
|
-
},
|
|
114
|
-
request_body: {
|
|
115
|
-
type: 'string',
|
|
116
|
-
},
|
|
117
|
-
status: {
|
|
118
|
-
type: 'integer',
|
|
119
|
-
},
|
|
120
|
-
response_headers: {
|
|
121
|
-
type: 'string',
|
|
122
|
-
},
|
|
123
|
-
response_body: {
|
|
124
|
-
type: 'string',
|
|
125
|
-
},
|
|
126
|
-
connection: {
|
|
127
|
-
type: 'string',
|
|
128
|
-
},
|
|
129
|
-
payload: {
|
|
130
|
-
type: 'string',
|
|
131
|
-
},
|
|
132
|
-
errors: {
|
|
133
|
-
type: 'string',
|
|
134
|
-
},
|
|
135
|
-
analyze: {
|
|
136
|
-
type: 'string',
|
|
137
|
-
},
|
|
138
|
-
start_time: {
|
|
139
|
-
type: 'integer',
|
|
140
|
-
},
|
|
141
|
-
finish_time: {
|
|
142
|
-
type: 'integer',
|
|
143
|
-
},
|
|
144
|
-
created_at: {
|
|
145
|
-
type: 'integer',
|
|
146
|
-
},
|
|
62
|
+
campaign_id: customIdentSchema,
|
|
63
|
+
message_id: randomIdentSchema,
|
|
64
|
+
proxy_id: customIdentSchema,
|
|
65
|
+
target_id: customIdentSchema,
|
|
66
|
+
session_id: randomIdentSchema,
|
|
67
|
+
type: httpTypeSchema,
|
|
68
|
+
method: httpMethodSchema,
|
|
69
|
+
url: httpRelativeUrlSchema,
|
|
70
|
+
request_headers: serializableSchema,
|
|
71
|
+
request_body: serializableSchema,
|
|
72
|
+
status: httpStatusSchema,
|
|
73
|
+
response_headers: serializableSchema,
|
|
74
|
+
response_body: serializableSchema,
|
|
75
|
+
connection: serializableSchema,
|
|
76
|
+
payload: serializableSchema,
|
|
77
|
+
errors: serializableSchema,
|
|
78
|
+
analyze: customIdentSchema,
|
|
79
|
+
start_time: timestampSchema,
|
|
80
|
+
finish_time: timestampSchema,
|
|
81
|
+
created_at: timestampSchema,
|
|
147
82
|
},
|
|
148
83
|
additionalProperties: false,
|
|
149
84
|
};
|
|
150
85
|
export const messageSchemas = {
|
|
151
86
|
'database-raw-message': rawMessageSchema,
|
|
152
87
|
'database-raw-full-message': rawFullMessageSchema,
|
|
153
|
-
'database-message-type': httpTypeSchema,
|
|
154
|
-
'database-message-method': httpMethodSchema,
|
|
155
88
|
'database-message-headers': httpHeadersSchema,
|
|
156
89
|
'database-message-connection': httpConnectionSchema,
|
|
157
90
|
'database-message-payload': httpPayloadSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.schemas.js","sourceRoot":"","sources":["../../../src/modules/message/message.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"message.schemas.js","sourceRoot":"","sources":["../../../src/modules/message/message.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,cAAc,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAGL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AASzB,MAAM,gBAAgB,GAA+B;IACnD,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR,aAAa;QACb,YAAY;QACZ,UAAU;QACV,WAAW;QACX,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,aAAa;QACb,YAAY;KACb;IACD,UAAU,EAAE;QACV,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,gBAAgB;QACxB,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,eAAe;KAC5B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAA;AAQV,MAAM,oBAAoB,GAAmC;IAC3D,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE;QACR,aAAa;QACb,YAAY;QACZ,UAAU;QACV,WAAW;QACX,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,KAAK;QACL,iBAAiB;QACjB,cAAc;QACd,QAAQ;QACR,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,SAAS;QACT,YAAY;QACZ,aAAa;QACb,YAAY;KACb;IACD,UAAU,EAAE;QACV,WAAW,EAAE,iBAAiB;QAC9B,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,iBAAiB;QAC3B,SAAS,EAAE,iBAAiB;QAC5B,UAAU,EAAE,iBAAiB;QAC7B,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,gBAAgB;QACxB,GAAG,EAAE,qBAAqB;QAC1B,eAAe,EAAE,kBAAkB;QACnC,YAAY,EAAE,kBAAkB;QAChC,MAAM,EAAE,gBAAgB;QACxB,gBAAgB,EAAE,kBAAkB;QACpC,aAAa,EAAE,kBAAkB;QACjC,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,iBAAiB;QAC1B,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,eAAe;QAC5B,UAAU,EAAE,eAAe;KAC5B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAA;AAQV,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,sBAAsB,EAAE,gBAAgB;IACxC,2BAA2B,EAAE,oBAAoB;IACjD,0BAA0B,EAAE,iBAAiB;IAC7C,6BAA6B,EAAE,oBAAoB;IACnD,0BAA0B,EAAE,iBAAiB;IAC7C,yBAAyB,EAAE,gBAAgB;CACnC,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CONFIG } from '@famir/config';
|
|
2
2
|
import { LOGGER } from '@famir/logger';
|
|
3
3
|
import { VALIDATOR } from '@famir/validator';
|
|
4
|
+
import { DatabaseError } from '../../database.error.js';
|
|
4
5
|
import { DATABASE_CONNECTOR } from '../../database.js';
|
|
5
6
|
import { RedisBaseRepository } from '../base/index.js';
|
|
6
7
|
import { MESSAGE_REPOSITORY } from './message.js';
|
|
@@ -17,8 +18,11 @@ export class RedisMessageRepository extends RedisBaseRepository {
|
|
|
17
18
|
}
|
|
18
19
|
async create(campaignId, messageId, proxyId, targetId, sessionId, type, method, url, requestHeaders, requestBody, status, responseHeaders, responseBody, connection, payload, errors, analyze, startTime, finishTime) {
|
|
19
20
|
try {
|
|
20
|
-
const statusReply = await this.connection.message.create_message(this.options.prefix, campaignId, messageId, proxyId, targetId, sessionId, type, method, url, this.encodeJson(requestHeaders), this.encodeBase64(requestBody), status
|
|
21
|
-
const mesg = this.
|
|
21
|
+
const statusReply = await this.connection.message.create_message(this.options.prefix, campaignId, messageId, proxyId, targetId, sessionId, type, method, url, this.encodeJson(requestHeaders), this.encodeBase64(requestBody), status, this.encodeJson(responseHeaders), this.encodeBase64(responseBody), this.encodeJson(connection), this.encodeJson(payload), this.encodeJson(errors), analyze, startTime, finishTime, Date.now());
|
|
22
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
23
|
+
if (code !== 'OK') {
|
|
24
|
+
throw new DatabaseError(mesg, { code });
|
|
25
|
+
}
|
|
22
26
|
this.logger.info(mesg, { message: { campaignId, messageId, proxyId, targetId, sessionId } });
|
|
23
27
|
}
|
|
24
28
|
catch (error) {
|
|
@@ -28,7 +32,10 @@ export class RedisMessageRepository extends RedisBaseRepository {
|
|
|
28
32
|
async createDummy(campaignId, messageId, proxyId, targetId, sessionId) {
|
|
29
33
|
try {
|
|
30
34
|
const statusReply = await this.connection.message.create_dummy_message(this.options.prefix, campaignId, messageId, proxyId, targetId, sessionId);
|
|
31
|
-
const mesg = this.
|
|
35
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
36
|
+
if (code !== 'OK') {
|
|
37
|
+
throw new DatabaseError(mesg, { code });
|
|
38
|
+
}
|
|
32
39
|
this.logger.info(mesg, { message: { campaignId, messageId, proxyId, targetId, sessionId } });
|
|
33
40
|
}
|
|
34
41
|
catch (error) {
|
|
@@ -58,8 +65,6 @@ export class RedisMessageRepository extends RedisBaseRepository {
|
|
|
58
65
|
return null;
|
|
59
66
|
}
|
|
60
67
|
this.validateRawData('database-raw-message', rawModel);
|
|
61
|
-
this.validateRawData('database-message-type', rawModel.type);
|
|
62
|
-
this.validateRawData('database-message-method', rawModel.method);
|
|
63
68
|
return new MessageModel(rawModel.campaign_id, rawModel.message_id, rawModel.proxy_id, rawModel.target_id, rawModel.session_id, rawModel.type, rawModel.method, rawModel.url, rawModel.status, rawModel.analyze, rawModel.start_time, rawModel.finish_time, new Date(rawModel.created_at));
|
|
64
69
|
}
|
|
65
70
|
buildFullModel(rawModel) {
|
|
@@ -67,8 +72,6 @@ export class RedisMessageRepository extends RedisBaseRepository {
|
|
|
67
72
|
return null;
|
|
68
73
|
}
|
|
69
74
|
this.validateRawData('database-raw-full-message', rawModel);
|
|
70
|
-
this.validateRawData('database-message-type', rawModel.type);
|
|
71
|
-
this.validateRawData('database-message-method', rawModel.method);
|
|
72
75
|
return new FullMessageModel(rawModel.campaign_id, rawModel.message_id, rawModel.proxy_id, rawModel.target_id, rawModel.session_id, rawModel.type, rawModel.method, rawModel.url, this.parseHeaders(rawModel.request_headers), this.decodeBase64(rawModel.request_body), rawModel.status, this.parseHeaders(rawModel.response_headers), this.decodeBase64(rawModel.response_body), this.parseConnection(rawModel.connection), this.parsePayload(rawModel.payload), this.parseErrors(rawModel.errors), rawModel.analyze, rawModel.start_time, rawModel.finish_time, new Date(rawModel.created_at));
|
|
73
76
|
}
|
|
74
77
|
parseHeaders(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-message.repository.js","sourceRoot":"","sources":["../../../src/modules/message/redis-message.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAA;AAU9C,OAAO,EAAE,MAAM,EAAU,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAa,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAA0C,MAAM,mBAAmB,CAAA;AAC9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,cAAc,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAOrD,MAAM,OAAO,sBAAuB,SAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"redis-message.repository.js","sourceRoot":"","sources":["../../../src/modules/message/redis-message.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ export interface RawProxy {
|
|
|
3
3
|
campaign_id: string;
|
|
4
4
|
proxy_id: string;
|
|
5
5
|
url: string;
|
|
6
|
-
is_enabled:
|
|
6
|
+
is_enabled: boolean;
|
|
7
7
|
message_count: number;
|
|
8
8
|
created_at: number;
|
|
9
9
|
}
|
|
@@ -11,7 +11,7 @@ export declare const proxyFunctions: {
|
|
|
11
11
|
readonly proxy: {
|
|
12
12
|
readonly create_proxy: {
|
|
13
13
|
readonly NUMBER_OF_KEYS: 5;
|
|
14
|
-
readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, proxyId: string, url: string, createdAt:
|
|
14
|
+
readonly parseCommand: (parser: CommandParser, prefix: string, campaignId: string, proxyId: string, url: string, createdAt: number, lockSecret: string) => void;
|
|
15
15
|
readonly transformReply: () => unknown;
|
|
16
16
|
};
|
|
17
17
|
readonly read_proxy: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.functions.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.functions.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,GACb,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"proxy.functions.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.models.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.models.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,UAAU;
|
|
1
|
+
{"version":3,"file":"proxy.models.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.models.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,UAAU;IAgCV;IACA;IACA;IACA;IACA;IACA;IA9BX,MAAM,CAAC,SAAS,GAAG,CAAuB,KAAe,EAAc,EAAE;QACvE,OAAO,KAAK,IAAI,IAAI,CAAA;IACtB,CAAC,CAAA;IAQD,MAAM,CAAC,SAAS,GAAG,CAAuB,KAAQ,EAAoC,EAAE;QACtF,OAAO,KAAK,CAAC,SAAS,CAAA;IACxB,CAAC,CAAA;IAYD,YACW,UAAkB,EAClB,OAAe,EACf,GAAW,EACX,SAAkB,EAClB,YAAoB,EACpB,SAAe;QALf,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,QAAG,GAAH,GAAG,CAAQ;QACX,cAAS,GAAT,SAAS,CAAS;QAClB,iBAAY,GAAZ,YAAY,CAAQ;QACpB,cAAS,GAAT,SAAS,CAAM;IACvB,CAAC"}
|
|
@@ -1,33 +1,22 @@
|
|
|
1
|
+
import { booleanSchema, counterSchema, customIdentSchema, timestampSchema, } from '@famir/validator';
|
|
2
|
+
export const proxyUrlSchema = {
|
|
3
|
+
type: 'string',
|
|
4
|
+
minLength: 1,
|
|
5
|
+
maxLength: 256,
|
|
6
|
+
};
|
|
1
7
|
const rawProxySchema = {
|
|
2
8
|
type: 'object',
|
|
3
9
|
required: ['campaign_id', 'proxy_id', 'url', 'is_enabled', 'message_count', 'created_at'],
|
|
4
10
|
properties: {
|
|
5
|
-
campaign_id:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
url: {
|
|
12
|
-
type: 'string',
|
|
13
|
-
},
|
|
14
|
-
is_enabled: {
|
|
15
|
-
type: 'integer',
|
|
16
|
-
},
|
|
17
|
-
message_count: {
|
|
18
|
-
type: 'integer',
|
|
19
|
-
},
|
|
20
|
-
created_at: {
|
|
21
|
-
type: 'integer',
|
|
22
|
-
},
|
|
11
|
+
campaign_id: customIdentSchema,
|
|
12
|
+
proxy_id: customIdentSchema,
|
|
13
|
+
url: proxyUrlSchema,
|
|
14
|
+
is_enabled: booleanSchema,
|
|
15
|
+
message_count: counterSchema,
|
|
16
|
+
created_at: timestampSchema,
|
|
23
17
|
},
|
|
24
18
|
additionalProperties: false,
|
|
25
19
|
};
|
|
26
|
-
export const proxyUrlSchema = {
|
|
27
|
-
type: 'string',
|
|
28
|
-
minLength: 1,
|
|
29
|
-
maxLength: 128,
|
|
30
|
-
};
|
|
31
20
|
export const proxySchemas = {
|
|
32
21
|
'database-raw-proxy': rawProxySchema,
|
|
33
22
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.schemas.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.schemas.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy.schemas.js","sourceRoot":"","sources":["../../../src/modules/proxy/proxy.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AASzB,MAAM,CAAC,MAAM,cAAc,GAA2B;IACpD,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,GAAG;CACN,CAAA;AAQV,MAAM,cAAc,GAA6B;IAC/C,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,CAAC;IACzF,UAAU,EAAE;QACV,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,iBAAiB;QAC3B,GAAG,EAAE,cAAc;QACnB,UAAU,EAAE,aAAa;QACzB,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,eAAe;KAC5B;IACD,oBAAoB,EAAE,KAAK;CACnB,CAAA;AAQV,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,oBAAoB,EAAE,cAAc;CAC5B,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CONFIG } from '@famir/config';
|
|
2
2
|
import { LOGGER } from '@famir/logger';
|
|
3
3
|
import { VALIDATOR } from '@famir/validator';
|
|
4
|
+
import { DatabaseError } from '../../database.error.js';
|
|
4
5
|
import { DATABASE_CONNECTOR } from '../../database.js';
|
|
5
6
|
import { RedisBaseRepository } from '../base/index.js';
|
|
6
7
|
import { PROXY_REPOSITORY } from './proxy.js';
|
|
@@ -17,8 +18,11 @@ export class RedisProxyRepository extends RedisBaseRepository {
|
|
|
17
18
|
}
|
|
18
19
|
async create(campaignId, proxyId, url, lockSecret) {
|
|
19
20
|
try {
|
|
20
|
-
const statusReply = await this.connection.proxy.create_proxy(this.options.prefix, campaignId, proxyId, url, Date.now()
|
|
21
|
-
const mesg = this.
|
|
21
|
+
const statusReply = await this.connection.proxy.create_proxy(this.options.prefix, campaignId, proxyId, url, Date.now(), lockSecret);
|
|
22
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
23
|
+
if (code !== 'OK') {
|
|
24
|
+
throw new DatabaseError(mesg, { code });
|
|
25
|
+
}
|
|
22
26
|
this.logger.info(mesg, { proxy: { campaignId, proxyId } });
|
|
23
27
|
}
|
|
24
28
|
catch (error) {
|
|
@@ -37,7 +41,10 @@ export class RedisProxyRepository extends RedisBaseRepository {
|
|
|
37
41
|
async enable(campaignId, proxyId, lockSecret) {
|
|
38
42
|
try {
|
|
39
43
|
const statusReply = await this.connection.proxy.enable_proxy(this.options.prefix, campaignId, proxyId, lockSecret);
|
|
40
|
-
const mesg = this.
|
|
44
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
45
|
+
if (code !== 'OK') {
|
|
46
|
+
throw new DatabaseError(mesg, { code });
|
|
47
|
+
}
|
|
41
48
|
this.logger.info(mesg, { proxy: { campaignId, proxyId } });
|
|
42
49
|
}
|
|
43
50
|
catch (error) {
|
|
@@ -47,7 +54,10 @@ export class RedisProxyRepository extends RedisBaseRepository {
|
|
|
47
54
|
async disable(campaignId, proxyId, lockSecret) {
|
|
48
55
|
try {
|
|
49
56
|
const statusReply = await this.connection.proxy.disable_proxy(this.options.prefix, campaignId, proxyId, lockSecret);
|
|
50
|
-
const mesg = this.
|
|
57
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
58
|
+
if (code !== 'OK') {
|
|
59
|
+
throw new DatabaseError(mesg, { code });
|
|
60
|
+
}
|
|
51
61
|
this.logger.info(mesg, { proxy: { campaignId, proxyId } });
|
|
52
62
|
}
|
|
53
63
|
catch (error) {
|
|
@@ -57,7 +67,10 @@ export class RedisProxyRepository extends RedisBaseRepository {
|
|
|
57
67
|
async delete(campaignId, proxyId, lockSecret) {
|
|
58
68
|
try {
|
|
59
69
|
const statusReply = await this.connection.proxy.delete_proxy(this.options.prefix, campaignId, proxyId, lockSecret);
|
|
60
|
-
const mesg = this.
|
|
70
|
+
const [code, mesg] = this.parseStatusReply(statusReply);
|
|
71
|
+
if (code !== 'OK') {
|
|
72
|
+
throw new DatabaseError(mesg, { code });
|
|
73
|
+
}
|
|
61
74
|
this.logger.info(mesg, { proxy: { campaignId, proxyId } });
|
|
62
75
|
}
|
|
63
76
|
catch (error) {
|
|
@@ -83,7 +96,7 @@ export class RedisProxyRepository extends RedisBaseRepository {
|
|
|
83
96
|
return null;
|
|
84
97
|
}
|
|
85
98
|
this.validateRawData('database-raw-proxy', rawModel);
|
|
86
|
-
return new ProxyModel(rawModel.campaign_id, rawModel.proxy_id, rawModel.url,
|
|
99
|
+
return new ProxyModel(rawModel.campaign_id, rawModel.proxy_id, rawModel.url, rawModel.is_enabled, rawModel.message_count, new Date(rawModel.created_at));
|
|
87
100
|
}
|
|
88
101
|
buildCollection(rawCollection) {
|
|
89
102
|
this.validateArrayReply(rawCollection);
|