@remnawave/backend-contract 2.1.72 → 2.1.74
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/backend/constants/errors/errors.d.ts +10 -0
- package/build/backend/constants/errors/errors.d.ts.map +1 -1
- package/build/backend/constants/errors/errors.js +10 -0
- package/build/backend/constants/index.d.ts +1 -0
- package/build/backend/constants/index.d.ts.map +1 -1
- package/build/backend/constants/index.js +1 -0
- package/build/backend/constants/response-rules/index.d.ts +2 -0
- package/build/backend/constants/response-rules/index.d.ts.map +1 -0
- package/build/backend/constants/response-rules/index.js +17 -0
- package/build/backend/constants/response-rules/response-rules.contants.d.ts +37 -0
- package/build/backend/constants/response-rules/response-rules.contants.d.ts.map +1 -0
- package/build/backend/constants/response-rules/response-rules.contants.js +35 -0
- package/build/backend/models/index.d.ts +1 -0
- package/build/backend/models/index.d.ts.map +1 -1
- package/build/backend/models/index.js +1 -0
- package/build/backend/models/response-rules/index.d.ts +4 -0
- package/build/backend/models/response-rules/index.d.ts.map +1 -0
- package/build/backend/models/response-rules/index.js +19 -0
- package/build/backend/models/response-rules/response-rule.schema.d.ts +68 -0
- package/build/backend/models/response-rules/response-rule.schema.d.ts.map +1 -0
- package/build/backend/models/response-rules/response-rule.schema.js +29 -0
- package/build/backend/models/response-rules/response-rules-config.schema.d.ts +99 -0
- package/build/backend/models/response-rules/response-rules-config.schema.d.ts.map +1 -0
- package/build/backend/models/response-rules/response-rules-config.schema.js +10 -0
- package/build/backend/models/response-rules/response-rules-json-schema.d.ts +7 -0
- package/build/backend/models/response-rules/response-rules-json-schema.d.ts.map +1 -0
- package/build/backend/models/response-rules/response-rules-json-schema.js +11 -0
- package/build/frontend/constants/errors/errors.js +10 -0
- package/build/frontend/constants/index.js +1 -0
- package/build/frontend/constants/response-rules/index.js +17 -0
- package/build/frontend/constants/response-rules/response-rules.contants.js +27 -0
- package/build/frontend/models/index.js +1 -0
- package/build/frontend/models/response-rules/index.js +19 -0
- package/build/frontend/models/response-rules/response-rule.schema.js +29 -0
- package/build/frontend/models/response-rules/response-rules-config.schema.js +10 -0
- package/build/frontend/models/response-rules/response-rules-json-schema.js +11 -0
- package/package.json +1 -1
|
@@ -854,5 +854,15 @@ export declare const ERRORS: {
|
|
|
854
854
|
readonly message: "Update snippet error";
|
|
855
855
|
readonly httpCode: 500;
|
|
856
856
|
};
|
|
857
|
+
readonly SNIPPET_CANNOT_BE_EMPTY: {
|
|
858
|
+
readonly code: "A166";
|
|
859
|
+
readonly message: "Snippet cannot be empty";
|
|
860
|
+
readonly httpCode: 400;
|
|
861
|
+
};
|
|
862
|
+
readonly SNIPPET_CANNOT_CONTAIN_EMPTY_OBJECTS: {
|
|
863
|
+
readonly code: "A167";
|
|
864
|
+
readonly message: "Snippet cannot contain empty objects";
|
|
865
|
+
readonly httpCode: 400;
|
|
866
|
+
};
|
|
857
867
|
};
|
|
858
868
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../constants/errors/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAwJY,MAAM;;;;;;;;;;wCAUN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA4IN,MAAM
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../constants/errors/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAwJY,MAAM;;;;;;;;;;wCAUN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA4IN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAshB3B,CAAC"}
|
|
@@ -825,4 +825,14 @@ exports.ERRORS = {
|
|
|
825
825
|
message: 'Update snippet error',
|
|
826
826
|
httpCode: 500,
|
|
827
827
|
},
|
|
828
|
+
SNIPPET_CANNOT_BE_EMPTY: {
|
|
829
|
+
code: 'A166',
|
|
830
|
+
message: 'Snippet cannot be empty',
|
|
831
|
+
httpCode: 400,
|
|
832
|
+
},
|
|
833
|
+
SNIPPET_CANNOT_CONTAIN_EMPTY_OBJECTS: {
|
|
834
|
+
code: 'A167',
|
|
835
|
+
message: 'Snippet cannot contain empty objects',
|
|
836
|
+
httpCode: 400,
|
|
837
|
+
},
|
|
828
838
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -24,6 +24,7 @@ __exportStar(require("./messaging"), exports);
|
|
|
24
24
|
__exportStar(require("./metrics"), exports);
|
|
25
25
|
__exportStar(require("./nodes"), exports);
|
|
26
26
|
__exportStar(require("./oauth2"), exports);
|
|
27
|
+
__exportStar(require("./response-rules"), exports);
|
|
27
28
|
__exportStar(require("./roles"), exports);
|
|
28
29
|
__exportStar(require("./subscription-template"), exports);
|
|
29
30
|
__exportStar(require("./templates"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../constants/response-rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./response-rules.contants"), exports);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const RESPONSE_RULES_CONFIG_VERSION: {
|
|
2
|
+
readonly 1: "1";
|
|
3
|
+
};
|
|
4
|
+
export declare const RESPONSE_RULES_OPERATORS: {
|
|
5
|
+
readonly AND: "AND";
|
|
6
|
+
readonly OR: "OR";
|
|
7
|
+
};
|
|
8
|
+
export declare const RESPONSE_RULE_CONDITION_TYPES: {
|
|
9
|
+
readonly HEADER: "HEADER";
|
|
10
|
+
};
|
|
11
|
+
export declare const RESPONSE_RULES_CONDITION_OPERATORS: {
|
|
12
|
+
readonly EQUALS: "EQUALS";
|
|
13
|
+
readonly NOT_EQUALS: "NOT_EQUALS";
|
|
14
|
+
readonly CONTAINS: "CONTAINS";
|
|
15
|
+
readonly NOT_CONTAINS: "NOT_CONTAINS";
|
|
16
|
+
readonly STARTS_WITH: "STARTS_WITH";
|
|
17
|
+
readonly NOT_STARTS_WITH: "NOT_STARTS_WITH";
|
|
18
|
+
readonly ENDS_WITH: "ENDS_WITH";
|
|
19
|
+
readonly NOT_ENDS_WITH: "NOT_ENDS_WITH";
|
|
20
|
+
readonly REGEX: "REGEX";
|
|
21
|
+
readonly NOT_REGEX: "NOT_REGEX";
|
|
22
|
+
};
|
|
23
|
+
export declare const RESPONSE_RULES_RESPONSE_TYPES: {
|
|
24
|
+
readonly BLOCK: "BLOCK";
|
|
25
|
+
readonly BASE64: "BASE64";
|
|
26
|
+
readonly STATUS_CODE_404: "STATUS_CODE_404";
|
|
27
|
+
readonly STATUS_CODE_403: "STATUS_CODE_403";
|
|
28
|
+
readonly STATUS_CODE_451: "STATUS_CODE_451";
|
|
29
|
+
readonly SOCKET_DROP: "SOCKET_DROP";
|
|
30
|
+
readonly STASH: "STASH";
|
|
31
|
+
readonly SINGBOX: "SINGBOX";
|
|
32
|
+
readonly SINGBOX_LEGACY: "SINGBOX_LEGACY";
|
|
33
|
+
readonly MIHOMO: "MIHOMO";
|
|
34
|
+
readonly XRAY_JSON: "XRAY_JSON";
|
|
35
|
+
readonly CLASH: "CLASH";
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=response-rules.contants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rules.contants.d.ts","sourceRoot":"","sources":["../../../../constants/response-rules/response-rules.contants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,6BAA6B;;CAEhC,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;CAG3B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;CAEhC,CAAC;AAEX,eAAO,MAAM,kCAAkC;;;;;;;;;;;CAWrC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;CAQhC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = exports.RESPONSE_RULES_CONDITION_OPERATORS = exports.RESPONSE_RULE_CONDITION_TYPES = exports.RESPONSE_RULES_OPERATORS = exports.RESPONSE_RULES_CONFIG_VERSION = void 0;
|
|
4
|
+
const subscription_template_1 = require("../subscription-template");
|
|
5
|
+
exports.RESPONSE_RULES_CONFIG_VERSION = {
|
|
6
|
+
1: '1',
|
|
7
|
+
};
|
|
8
|
+
exports.RESPONSE_RULES_OPERATORS = {
|
|
9
|
+
AND: 'AND',
|
|
10
|
+
OR: 'OR',
|
|
11
|
+
};
|
|
12
|
+
exports.RESPONSE_RULE_CONDITION_TYPES = {
|
|
13
|
+
HEADER: 'HEADER',
|
|
14
|
+
};
|
|
15
|
+
exports.RESPONSE_RULES_CONDITION_OPERATORS = {
|
|
16
|
+
EQUALS: 'EQUALS',
|
|
17
|
+
NOT_EQUALS: 'NOT_EQUALS',
|
|
18
|
+
CONTAINS: 'CONTAINS',
|
|
19
|
+
NOT_CONTAINS: 'NOT_CONTAINS',
|
|
20
|
+
STARTS_WITH: 'STARTS_WITH',
|
|
21
|
+
NOT_STARTS_WITH: 'NOT_STARTS_WITH',
|
|
22
|
+
ENDS_WITH: 'ENDS_WITH',
|
|
23
|
+
NOT_ENDS_WITH: 'NOT_ENDS_WITH',
|
|
24
|
+
REGEX: 'REGEX',
|
|
25
|
+
NOT_REGEX: 'NOT_REGEX',
|
|
26
|
+
};
|
|
27
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = {
|
|
28
|
+
...subscription_template_1.SUBSCRIPTION_TEMPLATE_TYPE,
|
|
29
|
+
BLOCK: 'BLOCK',
|
|
30
|
+
BASE64: 'BASE64',
|
|
31
|
+
STATUS_CODE_404: 'STATUS_CODE_404',
|
|
32
|
+
STATUS_CODE_403: 'STATUS_CODE_403',
|
|
33
|
+
STATUS_CODE_451: 'STATUS_CODE_451',
|
|
34
|
+
SOCKET_DROP: 'SOCKET_DROP',
|
|
35
|
+
};
|
|
@@ -15,6 +15,7 @@ export * from './infra-provider.schema';
|
|
|
15
15
|
export * from './internal-squad.schema';
|
|
16
16
|
export * from './last-connected-node.schema';
|
|
17
17
|
export * from './nodes.schema';
|
|
18
|
+
export * from './response-rules';
|
|
18
19
|
export * from './snippets.schema';
|
|
19
20
|
export * from './subscription-info.schema';
|
|
20
21
|
export * from './subscription-request-history.schema';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../models/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../models/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC"}
|
|
@@ -31,6 +31,7 @@ __exportStar(require("./infra-provider.schema"), exports);
|
|
|
31
31
|
__exportStar(require("./internal-squad.schema"), exports);
|
|
32
32
|
__exportStar(require("./last-connected-node.schema"), exports);
|
|
33
33
|
__exportStar(require("./nodes.schema"), exports);
|
|
34
|
+
__exportStar(require("./response-rules"), exports);
|
|
34
35
|
__exportStar(require("./snippets.schema"), exports);
|
|
35
36
|
__exportStar(require("./subscription-info.schema"), exports);
|
|
36
37
|
__exportStar(require("./subscription-request-history.schema"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./response-rule.schema"), exports);
|
|
18
|
+
__exportStar(require("./response-rules-config.schema"), exports);
|
|
19
|
+
__exportStar(require("./response-rules-json-schema"), exports);
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ResponseRuleSchema: z.ZodObject<{
|
|
3
|
+
name: z.ZodString;
|
|
4
|
+
description: z.ZodOptional<z.ZodString>;
|
|
5
|
+
operator: z.ZodNativeEnum<{
|
|
6
|
+
readonly AND: "AND";
|
|
7
|
+
readonly OR: "OR";
|
|
8
|
+
}>;
|
|
9
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
10
|
+
headerName: z.ZodString;
|
|
11
|
+
operator: z.ZodNativeEnum<{
|
|
12
|
+
readonly EQUALS: "EQUALS";
|
|
13
|
+
readonly NOT_EQUALS: "NOT_EQUALS";
|
|
14
|
+
readonly CONTAINS: "CONTAINS";
|
|
15
|
+
readonly NOT_CONTAINS: "NOT_CONTAINS";
|
|
16
|
+
readonly STARTS_WITH: "STARTS_WITH";
|
|
17
|
+
readonly NOT_STARTS_WITH: "NOT_STARTS_WITH";
|
|
18
|
+
readonly ENDS_WITH: "ENDS_WITH";
|
|
19
|
+
readonly NOT_ENDS_WITH: "NOT_ENDS_WITH";
|
|
20
|
+
readonly REGEX: "REGEX";
|
|
21
|
+
readonly NOT_REGEX: "NOT_REGEX";
|
|
22
|
+
}>;
|
|
23
|
+
value: z.ZodString;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
value: string;
|
|
26
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
27
|
+
headerName: string;
|
|
28
|
+
}, {
|
|
29
|
+
value: string;
|
|
30
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
31
|
+
headerName: string;
|
|
32
|
+
}>, "many">;
|
|
33
|
+
responseType: z.ZodNativeEnum<{
|
|
34
|
+
readonly BLOCK: "BLOCK";
|
|
35
|
+
readonly BASE64: "BASE64";
|
|
36
|
+
readonly STATUS_CODE_404: "STATUS_CODE_404";
|
|
37
|
+
readonly STATUS_CODE_403: "STATUS_CODE_403";
|
|
38
|
+
readonly STATUS_CODE_451: "STATUS_CODE_451";
|
|
39
|
+
readonly SOCKET_DROP: "SOCKET_DROP";
|
|
40
|
+
readonly STASH: "STASH";
|
|
41
|
+
readonly SINGBOX: "SINGBOX";
|
|
42
|
+
readonly SINGBOX_LEGACY: "SINGBOX_LEGACY";
|
|
43
|
+
readonly MIHOMO: "MIHOMO";
|
|
44
|
+
readonly XRAY_JSON: "XRAY_JSON";
|
|
45
|
+
readonly CLASH: "CLASH";
|
|
46
|
+
}>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
name: string;
|
|
49
|
+
operator: "AND" | "OR";
|
|
50
|
+
conditions: {
|
|
51
|
+
value: string;
|
|
52
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
53
|
+
headerName: string;
|
|
54
|
+
}[];
|
|
55
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
56
|
+
description?: string | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
name: string;
|
|
59
|
+
operator: "AND" | "OR";
|
|
60
|
+
conditions: {
|
|
61
|
+
value: string;
|
|
62
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
63
|
+
headerName: string;
|
|
64
|
+
}[];
|
|
65
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
66
|
+
description?: string | undefined;
|
|
67
|
+
}>;
|
|
68
|
+
//# sourceMappingURL=response-rule.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rule.schema.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/response-rule.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B7B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRuleSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
exports.ResponseRuleSchema = zod_1.z.object({
|
|
7
|
+
name: zod_1.z.string().min(1, 'Name is required').max(50, 'Name must be less than 50 characters'),
|
|
8
|
+
description: zod_1.z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1, 'Description is required')
|
|
11
|
+
.max(250, 'Description must be less than 250 characters')
|
|
12
|
+
.optional(),
|
|
13
|
+
operator: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_OPERATORS).describe('Operator to use for the rule.'),
|
|
14
|
+
conditions: zod_1.z.array(zod_1.z.object({
|
|
15
|
+
headerName: zod_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.regex(/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/, 'Invalid header name. Only letters(a-z, A-Z), numbers(0-9), underscores(_) and hyphens(-) are allowed.')
|
|
18
|
+
.describe('Name of the HTTP header to check, case insensitive, must comply with RFC 7230.'),
|
|
19
|
+
operator: zod_1.z
|
|
20
|
+
.nativeEnum(constants_1.RESPONSE_RULES_CONDITION_OPERATORS)
|
|
21
|
+
.describe('Operator to use for the condition.'),
|
|
22
|
+
value: zod_1.z
|
|
23
|
+
.string()
|
|
24
|
+
.min(1, 'Value is required')
|
|
25
|
+
.max(255, 'Value must be less than 255 characters')
|
|
26
|
+
.describe('Value to check against the header, case sensitive.'),
|
|
27
|
+
})),
|
|
28
|
+
responseType: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_RESPONSE_TYPES).describe('Type of the response.'),
|
|
29
|
+
});
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ResponseRulesConfigSchema: z.ZodObject<{
|
|
3
|
+
version: z.ZodNativeEnum<{
|
|
4
|
+
readonly 1: "1";
|
|
5
|
+
}>;
|
|
6
|
+
rules: z.ZodArray<z.ZodObject<{
|
|
7
|
+
name: z.ZodString;
|
|
8
|
+
description: z.ZodOptional<z.ZodString>;
|
|
9
|
+
operator: z.ZodNativeEnum<{
|
|
10
|
+
readonly AND: "AND";
|
|
11
|
+
readonly OR: "OR";
|
|
12
|
+
}>;
|
|
13
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
14
|
+
headerName: z.ZodString;
|
|
15
|
+
operator: z.ZodNativeEnum<{
|
|
16
|
+
readonly EQUALS: "EQUALS";
|
|
17
|
+
readonly NOT_EQUALS: "NOT_EQUALS";
|
|
18
|
+
readonly CONTAINS: "CONTAINS";
|
|
19
|
+
readonly NOT_CONTAINS: "NOT_CONTAINS";
|
|
20
|
+
readonly STARTS_WITH: "STARTS_WITH";
|
|
21
|
+
readonly NOT_STARTS_WITH: "NOT_STARTS_WITH";
|
|
22
|
+
readonly ENDS_WITH: "ENDS_WITH";
|
|
23
|
+
readonly NOT_ENDS_WITH: "NOT_ENDS_WITH";
|
|
24
|
+
readonly REGEX: "REGEX";
|
|
25
|
+
readonly NOT_REGEX: "NOT_REGEX";
|
|
26
|
+
}>;
|
|
27
|
+
value: z.ZodString;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
value: string;
|
|
30
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
31
|
+
headerName: string;
|
|
32
|
+
}, {
|
|
33
|
+
value: string;
|
|
34
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
35
|
+
headerName: string;
|
|
36
|
+
}>, "many">;
|
|
37
|
+
responseType: z.ZodNativeEnum<{
|
|
38
|
+
readonly BLOCK: "BLOCK";
|
|
39
|
+
readonly BASE64: "BASE64";
|
|
40
|
+
readonly STATUS_CODE_404: "STATUS_CODE_404";
|
|
41
|
+
readonly STATUS_CODE_403: "STATUS_CODE_403";
|
|
42
|
+
readonly STATUS_CODE_451: "STATUS_CODE_451";
|
|
43
|
+
readonly SOCKET_DROP: "SOCKET_DROP";
|
|
44
|
+
readonly STASH: "STASH";
|
|
45
|
+
readonly SINGBOX: "SINGBOX";
|
|
46
|
+
readonly SINGBOX_LEGACY: "SINGBOX_LEGACY";
|
|
47
|
+
readonly MIHOMO: "MIHOMO";
|
|
48
|
+
readonly XRAY_JSON: "XRAY_JSON";
|
|
49
|
+
readonly CLASH: "CLASH";
|
|
50
|
+
}>;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
name: string;
|
|
53
|
+
operator: "AND" | "OR";
|
|
54
|
+
conditions: {
|
|
55
|
+
value: string;
|
|
56
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
57
|
+
headerName: string;
|
|
58
|
+
}[];
|
|
59
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
60
|
+
description?: string | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
name: string;
|
|
63
|
+
operator: "AND" | "OR";
|
|
64
|
+
conditions: {
|
|
65
|
+
value: string;
|
|
66
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
67
|
+
headerName: string;
|
|
68
|
+
}[];
|
|
69
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
70
|
+
description?: string | undefined;
|
|
71
|
+
}>, "many">;
|
|
72
|
+
}, "strip", z.ZodTypeAny, {
|
|
73
|
+
version: "1";
|
|
74
|
+
rules: {
|
|
75
|
+
name: string;
|
|
76
|
+
operator: "AND" | "OR";
|
|
77
|
+
conditions: {
|
|
78
|
+
value: string;
|
|
79
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
80
|
+
headerName: string;
|
|
81
|
+
}[];
|
|
82
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
83
|
+
description?: string | undefined;
|
|
84
|
+
}[];
|
|
85
|
+
}, {
|
|
86
|
+
version: "1";
|
|
87
|
+
rules: {
|
|
88
|
+
name: string;
|
|
89
|
+
operator: "AND" | "OR";
|
|
90
|
+
conditions: {
|
|
91
|
+
value: string;
|
|
92
|
+
operator: "EQUALS" | "NOT_EQUALS" | "CONTAINS" | "NOT_CONTAINS" | "STARTS_WITH" | "NOT_STARTS_WITH" | "ENDS_WITH" | "NOT_ENDS_WITH" | "REGEX" | "NOT_REGEX";
|
|
93
|
+
headerName: string;
|
|
94
|
+
}[];
|
|
95
|
+
responseType: "STASH" | "SINGBOX" | "SINGBOX_LEGACY" | "MIHOMO" | "XRAY_JSON" | "CLASH" | "BLOCK" | "BASE64" | "STATUS_CODE_404" | "STATUS_CODE_403" | "STATUS_CODE_451" | "SOCKET_DROP";
|
|
96
|
+
description?: string | undefined;
|
|
97
|
+
}[];
|
|
98
|
+
}>;
|
|
99
|
+
//# sourceMappingURL=response-rules-config.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rules-config.schema.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/response-rules-config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGpC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesConfigSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
const response_rule_schema_1 = require("./response-rule.schema");
|
|
7
|
+
exports.ResponseRulesConfigSchema = zod_1.z.object({
|
|
8
|
+
version: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_CONFIG_VERSION),
|
|
9
|
+
rules: zod_1.z.array(response_rule_schema_1.ResponseRuleSchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const ResponseRulesJsonSchema: import("zod-to-json-schema").JsonSchema7Type & {
|
|
2
|
+
$schema?: string | undefined;
|
|
3
|
+
definitions?: {
|
|
4
|
+
[key: string]: import("zod-to-json-schema").JsonSchema7Type;
|
|
5
|
+
} | undefined;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=response-rules-json-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-rules-json-schema.d.ts","sourceRoot":"","sources":["../../../../models/response-rules/response-rules-json-schema.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,uBAAuB;;;;;CAKlC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesJsonSchema = void 0;
|
|
4
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
exports.ResponseRulesJsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(_1.ResponseRulesConfigSchema, {
|
|
7
|
+
name: 'Response Rules Config Schema',
|
|
8
|
+
$refStrategy: 'none',
|
|
9
|
+
errorMessages: true,
|
|
10
|
+
markdownDescription: true,
|
|
11
|
+
});
|
|
@@ -825,4 +825,14 @@ exports.ERRORS = {
|
|
|
825
825
|
message: 'Update snippet error',
|
|
826
826
|
httpCode: 500,
|
|
827
827
|
},
|
|
828
|
+
SNIPPET_CANNOT_BE_EMPTY: {
|
|
829
|
+
code: 'A166',
|
|
830
|
+
message: 'Snippet cannot be empty',
|
|
831
|
+
httpCode: 400,
|
|
832
|
+
},
|
|
833
|
+
SNIPPET_CANNOT_CONTAIN_EMPTY_OBJECTS: {
|
|
834
|
+
code: 'A167',
|
|
835
|
+
message: 'Snippet cannot contain empty objects',
|
|
836
|
+
httpCode: 400,
|
|
837
|
+
},
|
|
828
838
|
};
|
|
@@ -24,6 +24,7 @@ __exportStar(require("./messaging"), exports);
|
|
|
24
24
|
__exportStar(require("./metrics"), exports);
|
|
25
25
|
__exportStar(require("./nodes"), exports);
|
|
26
26
|
__exportStar(require("./oauth2"), exports);
|
|
27
|
+
__exportStar(require("./response-rules"), exports);
|
|
27
28
|
__exportStar(require("./roles"), exports);
|
|
28
29
|
__exportStar(require("./subscription-template"), exports);
|
|
29
30
|
__exportStar(require("./templates"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./response-rules.contants"), exports);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = exports.RESPONSE_RULES_CONDITION_OPERATORS = exports.RESPONSE_RULE_CONDITION_TYPES = exports.RESPONSE_RULES_OPERATORS = exports.RESPONSE_RULES_CONFIG_VERSION = void 0;
|
|
4
|
+
const subscription_template_1 = require("../subscription-template");
|
|
5
|
+
exports.RESPONSE_RULES_CONFIG_VERSION = {
|
|
6
|
+
1: '1',
|
|
7
|
+
};
|
|
8
|
+
exports.RESPONSE_RULES_OPERATORS = {
|
|
9
|
+
AND: 'AND',
|
|
10
|
+
OR: 'OR',
|
|
11
|
+
};
|
|
12
|
+
exports.RESPONSE_RULE_CONDITION_TYPES = {
|
|
13
|
+
HEADER: 'HEADER',
|
|
14
|
+
};
|
|
15
|
+
exports.RESPONSE_RULES_CONDITION_OPERATORS = {
|
|
16
|
+
EQUALS: 'EQUALS',
|
|
17
|
+
NOT_EQUALS: 'NOT_EQUALS',
|
|
18
|
+
CONTAINS: 'CONTAINS',
|
|
19
|
+
NOT_CONTAINS: 'NOT_CONTAINS',
|
|
20
|
+
STARTS_WITH: 'STARTS_WITH',
|
|
21
|
+
NOT_STARTS_WITH: 'NOT_STARTS_WITH',
|
|
22
|
+
ENDS_WITH: 'ENDS_WITH',
|
|
23
|
+
NOT_ENDS_WITH: 'NOT_ENDS_WITH',
|
|
24
|
+
REGEX: 'REGEX',
|
|
25
|
+
NOT_REGEX: 'NOT_REGEX',
|
|
26
|
+
};
|
|
27
|
+
exports.RESPONSE_RULES_RESPONSE_TYPES = Object.assign(Object.assign({}, subscription_template_1.SUBSCRIPTION_TEMPLATE_TYPE), { BLOCK: 'BLOCK', BASE64: 'BASE64', STATUS_CODE_404: 'STATUS_CODE_404', STATUS_CODE_403: 'STATUS_CODE_403', STATUS_CODE_451: 'STATUS_CODE_451', SOCKET_DROP: 'SOCKET_DROP' });
|
|
@@ -31,6 +31,7 @@ __exportStar(require("./infra-provider.schema"), exports);
|
|
|
31
31
|
__exportStar(require("./internal-squad.schema"), exports);
|
|
32
32
|
__exportStar(require("./last-connected-node.schema"), exports);
|
|
33
33
|
__exportStar(require("./nodes.schema"), exports);
|
|
34
|
+
__exportStar(require("./response-rules"), exports);
|
|
34
35
|
__exportStar(require("./snippets.schema"), exports);
|
|
35
36
|
__exportStar(require("./subscription-info.schema"), exports);
|
|
36
37
|
__exportStar(require("./subscription-request-history.schema"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./response-rule.schema"), exports);
|
|
18
|
+
__exportStar(require("./response-rules-config.schema"), exports);
|
|
19
|
+
__exportStar(require("./response-rules-json-schema"), exports);
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRuleSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
exports.ResponseRuleSchema = zod_1.z.object({
|
|
7
|
+
name: zod_1.z.string().min(1, 'Name is required').max(50, 'Name must be less than 50 characters'),
|
|
8
|
+
description: zod_1.z
|
|
9
|
+
.string()
|
|
10
|
+
.min(1, 'Description is required')
|
|
11
|
+
.max(250, 'Description must be less than 250 characters')
|
|
12
|
+
.optional(),
|
|
13
|
+
operator: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_OPERATORS).describe('Operator to use for the rule.'),
|
|
14
|
+
conditions: zod_1.z.array(zod_1.z.object({
|
|
15
|
+
headerName: zod_1.z
|
|
16
|
+
.string()
|
|
17
|
+
.regex(/^[!#$%&'*+\-.0-9A-Z^_`a-z|~]+$/, 'Invalid header name. Only letters(a-z, A-Z), numbers(0-9), underscores(_) and hyphens(-) are allowed.')
|
|
18
|
+
.describe('Name of the HTTP header to check, case insensitive, must comply with RFC 7230.'),
|
|
19
|
+
operator: zod_1.z
|
|
20
|
+
.nativeEnum(constants_1.RESPONSE_RULES_CONDITION_OPERATORS)
|
|
21
|
+
.describe('Operator to use for the condition.'),
|
|
22
|
+
value: zod_1.z
|
|
23
|
+
.string()
|
|
24
|
+
.min(1, 'Value is required')
|
|
25
|
+
.max(255, 'Value must be less than 255 characters')
|
|
26
|
+
.describe('Value to check against the header, case sensitive.'),
|
|
27
|
+
})),
|
|
28
|
+
responseType: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_RESPONSE_TYPES).describe('Type of the response.'),
|
|
29
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesConfigSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const constants_1 = require("../../constants");
|
|
6
|
+
const response_rule_schema_1 = require("./response-rule.schema");
|
|
7
|
+
exports.ResponseRulesConfigSchema = zod_1.z.object({
|
|
8
|
+
version: zod_1.z.nativeEnum(constants_1.RESPONSE_RULES_CONFIG_VERSION),
|
|
9
|
+
rules: zod_1.z.array(response_rule_schema_1.ResponseRuleSchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResponseRulesJsonSchema = void 0;
|
|
4
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
exports.ResponseRulesJsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(_1.ResponseRulesConfigSchema, {
|
|
7
|
+
name: 'Response Rules Config Schema',
|
|
8
|
+
$refStrategy: 'none',
|
|
9
|
+
errorMessages: true,
|
|
10
|
+
markdownDescription: true,
|
|
11
|
+
});
|