@remnawave/backend-contract 2.9.9 → 2.9.12
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/api/controllers/api-tokens.d.ts +1 -0
- package/build/backend/api/controllers/api-tokens.d.ts.map +1 -1
- package/build/backend/api/controllers/api-tokens.js +1 -0
- package/build/backend/api/controllers/users.d.ts +4 -0
- package/build/backend/api/controllers/users.d.ts.map +1 -1
- package/build/backend/api/controllers/users.js +4 -0
- package/build/backend/api/routes.d.ts +5 -1
- package/build/backend/api/routes.d.ts.map +1 -1
- package/build/backend/api/routes.js +6 -2
- package/build/backend/commands/api-tokens/create.command.d.ts +1 -1
- package/build/backend/commands/api-tokens/create.command.js +1 -1
- package/build/backend/commands/api-tokens/get-api-tokens.command.d.ts +0 -5
- package/build/backend/commands/api-tokens/get-api-tokens.command.d.ts.map +1 -1
- package/build/backend/commands/api-tokens/get-api-tokens.command.js +0 -5
- package/build/backend/commands/api-tokens/get-ott.command.d.ts +13 -0
- package/build/backend/commands/api-tokens/get-ott.command.d.ts.map +1 -0
- package/build/backend/commands/api-tokens/get-ott.command.js +17 -0
- package/build/backend/commands/api-tokens/index.d.ts +1 -0
- package/build/backend/commands/api-tokens/index.d.ts.map +1 -1
- package/build/backend/commands/api-tokens/index.js +1 -0
- package/build/backend/commands/auth/login.command.js +2 -2
- package/build/backend/commands/bandwidth-stats/legacy/get-legacy-stats-node-user-usage.command.d.ts +4 -4
- package/build/backend/commands/bandwidth-stats/legacy/get-legacy-stats-node-user-usage.command.d.ts.map +1 -1
- package/build/backend/commands/bandwidth-stats/legacy/get-legacy-stats-node-user-usage.command.js +4 -5
- package/build/backend/commands/bandwidth-stats/legacy/get-legacy-user-usage.command.d.ts +4 -4
- package/build/backend/commands/bandwidth-stats/legacy/get-legacy-user-usage.command.d.ts.map +1 -1
- package/build/backend/commands/bandwidth-stats/legacy/get-legacy-user-usage.command.js +4 -5
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-node-users-usage.command.d.ts +3 -3
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-node-users-usage.command.d.ts.map +1 -1
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-node-users-usage.command.js +3 -4
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-nodes-usage.command.d.ts +5 -5
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-nodes-usage.command.d.ts.map +1 -1
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-nodes-usage.command.js +9 -6
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-nodes-users-usage.command.d.ts +2 -2
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-nodes-users-usage.command.d.ts.map +1 -1
- package/build/backend/commands/bandwidth-stats/nodes/get-stats-nodes-users-usage.command.js +2 -3
- package/build/backend/commands/users/get-by/get-user-by-id.command.d.ts +1 -1
- package/build/backend/commands/users/get-by/get-user-by-id.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-by/get-user-by-id.command.js +1 -2
- package/build/backend/commands/users/get-users-stream.command.d.ts +1 -1
- package/build/backend/commands/users/get-users-stream.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-users-stream.command.js +6 -2
- package/build/backend/constants/cache-keys/cache-keys.constants.d.ts +2 -0
- package/build/backend/constants/cache-keys/cache-keys.constants.d.ts.map +1 -1
- package/build/backend/constants/cache-keys/cache-keys.constants.js +2 -0
- package/build/backend/index.d.ts +0 -1
- package/build/backend/index.d.ts.map +1 -1
- package/build/backend/index.js +0 -1
- package/build/frontend/api/controllers/api-tokens.js +1 -0
- package/build/frontend/api/controllers/users.js +4 -0
- package/build/frontend/api/routes.js +6 -2
- package/build/frontend/commands/api-tokens/create.command.js +1 -1
- package/build/frontend/commands/api-tokens/get-api-tokens.command.js +0 -5
- package/build/frontend/commands/api-tokens/get-ott.command.js +17 -0
- package/build/frontend/commands/api-tokens/index.js +1 -0
- package/build/frontend/commands/auth/login.command.js +2 -2
- package/build/frontend/commands/bandwidth-stats/legacy/get-legacy-stats-node-user-usage.command.js +4 -5
- package/build/frontend/commands/bandwidth-stats/legacy/get-legacy-user-usage.command.js +4 -5
- package/build/frontend/commands/bandwidth-stats/nodes/get-stats-node-users-usage.command.js +3 -4
- package/build/frontend/commands/bandwidth-stats/nodes/get-stats-nodes-usage.command.js +9 -6
- package/build/frontend/commands/bandwidth-stats/nodes/get-stats-nodes-users-usage.command.js +2 -3
- package/build/frontend/commands/users/get-by/get-user-by-id.command.js +1 -2
- package/build/frontend/commands/users/get-users-stream.command.js +6 -2
- package/build/frontend/constants/cache-keys/cache-keys.constants.js +2 -0
- package/build/frontend/index.js +0 -1
- package/package.json +1 -1
- package/build/backend/codecs/datetime-to-date.codec.d.ts +0 -3
- package/build/backend/codecs/datetime-to-date.codec.d.ts.map +0 -1
- package/build/backend/codecs/datetime-to-date.codec.js +0 -11
- package/build/backend/codecs/index.d.ts +0 -4
- package/build/backend/codecs/index.d.ts.map +0 -1
- package/build/backend/codecs/index.js +0 -19
- package/build/backend/codecs/string-to-bigint.codec.d.ts +0 -3
- package/build/backend/codecs/string-to-bigint.codec.d.ts.map +0 -1
- package/build/backend/codecs/string-to-bigint.codec.js +0 -11
- package/build/backend/codecs/string-to-int.codec.d.ts +0 -3
- package/build/backend/codecs/string-to-int.codec.d.ts.map +0 -1
- package/build/backend/codecs/string-to-int.codec.js +0 -11
- package/build/frontend/codecs/datetime-to-date.codec.js +0 -11
- package/build/frontend/codecs/index.js +0 -19
- package/build/frontend/codecs/string-to-bigint.codec.js +0 -11
- package/build/frontend/codecs/string-to-int.codec.js +0 -11
|
@@ -5,6 +5,7 @@ export declare const CACHE_KEYS: {
|
|
|
5
5
|
readonly SUBSCRIPTION_TEMPLATE: (name: string, type: TSubscriptionTemplateType) => string;
|
|
6
6
|
readonly PASSKEY_REGISTRATION_OPTIONS: (uuid: string) => string;
|
|
7
7
|
readonly PASSKEY_AUTHENTICATION_OPTIONS: (uuid: string) => string;
|
|
8
|
+
readonly OTT: "ott";
|
|
8
9
|
readonly REMNAWAVE_SETTINGS: "remnawave_settings";
|
|
9
10
|
readonly NODE_SYSTEM_INFO: (uuid: string) => string;
|
|
10
11
|
readonly NODE_SYSTEM_STATS: (uuid: string) => string;
|
|
@@ -15,6 +16,7 @@ export declare const CACHE_KEYS: {
|
|
|
15
16
|
readonly XRAY_JSON_TEMPLATE: (uuid: string) => string;
|
|
16
17
|
};
|
|
17
18
|
export declare const CACHE_KEYS_TTL: {
|
|
19
|
+
readonly OTT: 60;
|
|
18
20
|
readonly REMNAWAVE_SETTINGS: 86400;
|
|
19
21
|
readonly EXTERNAL_SQUAD_SETTINGS: 3600;
|
|
20
22
|
readonly SUBSCRIPTION_SETTINGS: 3600;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-keys.constants.d.ts","sourceRoot":"","sources":["../../../../constants/cache-keys/cache-keys.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,UAAU;;6CAEa,MAAM;2CACR,MAAM,QAAQ,yBAAyB;kDAEhC,MAAM;oDACJ,MAAM
|
|
1
|
+
{"version":3,"file":"cache-keys.constants.d.ts","sourceRoot":"","sources":["../../../../constants/cache-keys/cache-keys.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,eAAO,MAAM,UAAU;;6CAEa,MAAM;2CACR,MAAM,QAAQ,yBAAyB;kDAEhC,MAAM;oDACJ,MAAM;;;sCAGpB,MAAM;uCACL,MAAM;uCACN,MAAM;mCACV,MAAM;sCACH,MAAM;iCACX,MAAM;wCACC,MAAM;CAC3B,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;CAUjB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;uCAEF,MAAM;;;;CAK1B,CAAC;AAEX,eAAO,MAAM,uBAAuB;;CAE1B,CAAC"}
|
|
@@ -7,6 +7,7 @@ exports.CACHE_KEYS = {
|
|
|
7
7
|
SUBSCRIPTION_TEMPLATE: (name, type) => `subscription_template:${name}:${type}`,
|
|
8
8
|
PASSKEY_REGISTRATION_OPTIONS: (uuid) => `passkey_registration_options:${uuid}`,
|
|
9
9
|
PASSKEY_AUTHENTICATION_OPTIONS: (uuid) => `passkey_authentication_options:${uuid}`,
|
|
10
|
+
OTT: 'ott',
|
|
10
11
|
REMNAWAVE_SETTINGS: 'remnawave_settings',
|
|
11
12
|
NODE_SYSTEM_INFO: (uuid) => `node_system_info:${uuid}`,
|
|
12
13
|
NODE_SYSTEM_STATS: (uuid) => `node_system_stats:${uuid}`,
|
|
@@ -17,6 +18,7 @@ exports.CACHE_KEYS = {
|
|
|
17
18
|
XRAY_JSON_TEMPLATE: (uuid) => `xray_json_template:${uuid}`,
|
|
18
19
|
};
|
|
19
20
|
exports.CACHE_KEYS_TTL = {
|
|
21
|
+
OTT: 60, // 1 minute
|
|
20
22
|
REMNAWAVE_SETTINGS: 86400, // 1 day
|
|
21
23
|
EXTERNAL_SQUAD_SETTINGS: 3600, // 1 hour
|
|
22
24
|
SUBSCRIPTION_SETTINGS: 3600, // 1 hour
|
package/build/backend/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
|
package/build/backend/index.js
CHANGED
|
@@ -22,6 +22,10 @@ exports.USERS_ROUTES = {
|
|
|
22
22
|
ID: (id) => `by-id/${id}`,
|
|
23
23
|
SHORT_UUID: (shortUuid) => `by-short-uuid/${shortUuid}`,
|
|
24
24
|
USERNAME: (username) => `by-username/${username}`,
|
|
25
|
+
SUBSCRIPTION_UUID: (subscriptionUuid) => `by-subscription-uuid/${subscriptionUuid}`,
|
|
26
|
+
TELEGRAM_ID: (telegramId) => `by-telegram-id/${telegramId}`,
|
|
27
|
+
EMAIL: (email) => `by-email/${email}`,
|
|
28
|
+
TAG: (tag) => `by-tag/${tag}`,
|
|
25
29
|
},
|
|
26
30
|
BULK: {
|
|
27
31
|
DELETE_BY_STATUS: 'bulk/delete-by-status',
|
|
@@ -33,12 +33,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.REST_API = exports.BULLBOARD_ROOT = exports.HEALTH_ROOT = exports.METRICS_ROOT = exports.ROOT = void 0;
|
|
36
|
+
exports.REST_API = exports.SCALAR_ROOT = exports.SWAGGER_ROOT = exports.BULLBOARD_ROOT = exports.BACKEND_TOOLS_ROOT = exports.HEALTH_ROOT = exports.METRICS_ROOT = exports.ROOT = void 0;
|
|
37
37
|
const CONTROLLERS = __importStar(require("./controllers"));
|
|
38
38
|
exports.ROOT = '/api';
|
|
39
39
|
exports.METRICS_ROOT = '/metrics';
|
|
40
40
|
exports.HEALTH_ROOT = '/health';
|
|
41
|
-
exports.
|
|
41
|
+
exports.BACKEND_TOOLS_ROOT = '/backend-tools';
|
|
42
|
+
exports.BULLBOARD_ROOT = '/backend-tools/queues';
|
|
43
|
+
exports.SWAGGER_ROOT = '/backend-tools/swagger';
|
|
44
|
+
exports.SCALAR_ROOT = '/backend-tools/scalar';
|
|
42
45
|
exports.REST_API = {
|
|
43
46
|
AUTH: {
|
|
44
47
|
LOGIN: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.LOGIN}`,
|
|
@@ -66,6 +69,7 @@ exports.REST_API = {
|
|
|
66
69
|
DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.API_TOKENS_CONTROLLER}/${CONTROLLERS.API_TOKENS_ROUTES.DELETE(uuid)}`,
|
|
67
70
|
GET: `${exports.ROOT}/${CONTROLLERS.API_TOKENS_CONTROLLER}/${CONTROLLERS.API_TOKENS_ROUTES.GET}`,
|
|
68
71
|
GET_SCOPES: `${exports.ROOT}/${CONTROLLERS.API_TOKENS_CONTROLLER}/${CONTROLLERS.API_TOKENS_ROUTES.GET_SCOPES}`,
|
|
72
|
+
OTT: `${exports.ROOT}/${CONTROLLERS.API_TOKENS_CONTROLLER}/${CONTROLLERS.API_TOKENS_ROUTES.OTT}`,
|
|
69
73
|
},
|
|
70
74
|
KEYGEN: {
|
|
71
75
|
GET: `${exports.ROOT}/${CONTROLLERS.KEYGEN_CONTROLLER}/${CONTROLLERS.KEYGEN_ROUTES.GET}`,
|
|
@@ -12,7 +12,7 @@ var CreateApiTokenCommand;
|
|
|
12
12
|
CreateApiTokenCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.API_TOKENS_ROUTES.CREATE, 'post', 'Create a new API token', { scope: 'create', kind: 'write' }, 'This endpoint is forbidden to use via "API-key". It can only be used with an admin JWT-token.');
|
|
13
13
|
CreateApiTokenCommand.RequestBodySchema = zod_1.z.object({
|
|
14
14
|
name: zod_1.z.string().min(2).max(30).describe('Name of the API token'),
|
|
15
|
-
expiresInDays: zod_1.z.
|
|
15
|
+
expiresInDays: zod_1.z.number().min(1).describe('Expiration days of the API token'),
|
|
16
16
|
scopes: zod_1.z.array(zod_1.z.string()).optional().default(['*']).describe('Scopes of the API token'),
|
|
17
17
|
});
|
|
18
18
|
CreateApiTokenCommand.ResponseSchema = zod_1.z.object({
|
|
@@ -13,11 +13,6 @@ var GetApiTokensCommand;
|
|
|
13
13
|
GetApiTokensCommand.ResponseSchema = zod_1.z.object({
|
|
14
14
|
response: zod_1.z.object({
|
|
15
15
|
tokens: zod_1.z.array(api_tokens_schema_1.ApiTokensSchema),
|
|
16
|
-
docs: zod_1.z.object({
|
|
17
|
-
enabled: zod_1.z.boolean(),
|
|
18
|
-
scalarPath: zod_1.z.string().nullable(),
|
|
19
|
-
swaggerPath: zod_1.z.string().nullable(),
|
|
20
|
-
}),
|
|
21
16
|
}),
|
|
22
17
|
});
|
|
23
18
|
})(GetApiTokensCommand || (exports.GetApiTokensCommand = GetApiTokensCommand = {}));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GetOttCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const api_1 = require("../../api");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
var GetOttCommand;
|
|
8
|
+
(function (GetOttCommand) {
|
|
9
|
+
GetOttCommand.url = api_1.REST_API.API_TOKENS.OTT;
|
|
10
|
+
GetOttCommand.TSQ_url = GetOttCommand.url;
|
|
11
|
+
GetOttCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.API_TOKENS_ROUTES.OTT, 'post', 'Get one-time token for accessing backend tools (Swagger, Scalar, Bull Board)', { scope: 'ott', kind: 'write' });
|
|
12
|
+
GetOttCommand.ResponseSchema = zod_1.z.object({
|
|
13
|
+
response: zod_1.z.object({
|
|
14
|
+
ott: zod_1.z.string(),
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
17
|
+
})(GetOttCommand || (exports.GetOttCommand = GetOttCommand = {}));
|
|
@@ -18,3 +18,4 @@ __exportStar(require("./create.command"), exports);
|
|
|
18
18
|
__exportStar(require("./delete.command"), exports);
|
|
19
19
|
__exportStar(require("./get-api-tokens.command"), exports);
|
|
20
20
|
__exportStar(require("./get-scopes.command"), exports);
|
|
21
|
+
__exportStar(require("./get-ott.command"), exports);
|
|
@@ -10,8 +10,8 @@ var LoginCommand;
|
|
|
10
10
|
LoginCommand.TSQ_url = LoginCommand.url;
|
|
11
11
|
LoginCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.AUTH_ROUTES.LOGIN, 'post', 'Login as superadmin', { scope: 'login', kind: 'write' });
|
|
12
12
|
LoginCommand.RequestBodySchema = zod_1.z.object({
|
|
13
|
-
username: zod_1.z.string(),
|
|
14
|
-
password: zod_1.z.string(),
|
|
13
|
+
username: zod_1.z.string().describe('Username of the user'),
|
|
14
|
+
password: zod_1.z.string().describe('Password of the user'),
|
|
15
15
|
});
|
|
16
16
|
LoginCommand.ResponseSchema = zod_1.z.object({
|
|
17
17
|
response: zod_1.z.object({
|
package/build/frontend/commands/bandwidth-stats/legacy/get-legacy-stats-node-user-usage.command.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetLegacyStatsNodeUserUsageCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../../api");
|
|
6
|
-
const codecs_1 = require("../../../codecs");
|
|
7
6
|
const constants_1 = require("../../../constants");
|
|
8
7
|
var GetLegacyStatsNodeUserUsageCommand;
|
|
9
8
|
(function (GetLegacyStatsNodeUserUsageCommand) {
|
|
@@ -14,16 +13,16 @@ var GetLegacyStatsNodeUserUsageCommand;
|
|
|
14
13
|
uuid: zod_1.z.uuid().describe('UUID of the node'),
|
|
15
14
|
});
|
|
16
15
|
GetLegacyStatsNodeUserUsageCommand.RequestQuerySchema = zod_1.z.object({
|
|
17
|
-
start:
|
|
18
|
-
end:
|
|
16
|
+
start: zod_1.z.iso.datetime().describe('Start date'),
|
|
17
|
+
end: zod_1.z.iso.datetime().describe('End date'),
|
|
19
18
|
});
|
|
20
19
|
GetLegacyStatsNodeUserUsageCommand.ResponseSchema = zod_1.z.object({
|
|
21
20
|
response: zod_1.z.array(zod_1.z.object({
|
|
22
21
|
userUuid: zod_1.z.uuid(),
|
|
23
22
|
username: zod_1.z.string(),
|
|
24
23
|
nodeUuid: zod_1.z.uuid(),
|
|
25
|
-
total: zod_1.z.
|
|
26
|
-
date:
|
|
24
|
+
total: zod_1.z.number(),
|
|
25
|
+
date: zod_1.z.string().transform((str) => new Date(str)),
|
|
27
26
|
})),
|
|
28
27
|
});
|
|
29
28
|
})(GetLegacyStatsNodeUserUsageCommand || (exports.GetLegacyStatsNodeUserUsageCommand = GetLegacyStatsNodeUserUsageCommand = {}));
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetLegacyStatsUserUsageCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../../api");
|
|
6
|
-
const codecs_1 = require("../../../codecs");
|
|
7
6
|
const constants_1 = require("../../../constants");
|
|
8
7
|
var GetLegacyStatsUserUsageCommand;
|
|
9
8
|
(function (GetLegacyStatsUserUsageCommand) {
|
|
@@ -14,8 +13,8 @@ var GetLegacyStatsUserUsageCommand;
|
|
|
14
13
|
uuid: zod_1.z.uuid(),
|
|
15
14
|
});
|
|
16
15
|
GetLegacyStatsUserUsageCommand.RequestQuerySchema = zod_1.z.object({
|
|
17
|
-
start:
|
|
18
|
-
end:
|
|
16
|
+
start: zod_1.z.iso.datetime().describe('Start date'),
|
|
17
|
+
end: zod_1.z.iso.datetime().describe('End date'),
|
|
19
18
|
});
|
|
20
19
|
GetLegacyStatsUserUsageCommand.ResponseSchema = zod_1.z.object({
|
|
21
20
|
response: zod_1.z.array(zod_1.z.object({
|
|
@@ -23,8 +22,8 @@ var GetLegacyStatsUserUsageCommand;
|
|
|
23
22
|
nodeUuid: zod_1.z.uuid(),
|
|
24
23
|
nodeName: zod_1.z.string(),
|
|
25
24
|
countryCode: zod_1.z.string(),
|
|
26
|
-
total: zod_1.z.
|
|
27
|
-
date:
|
|
25
|
+
total: zod_1.z.number(),
|
|
26
|
+
date: zod_1.z.string().transform((str) => new Date(str)),
|
|
28
27
|
})),
|
|
29
28
|
});
|
|
30
29
|
})(GetLegacyStatsUserUsageCommand || (exports.GetLegacyStatsUserUsageCommand = GetLegacyStatsUserUsageCommand = {}));
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetStatsNodeUsersUsageCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../../api");
|
|
6
|
-
const codecs_1 = require("../../../codecs");
|
|
7
6
|
const constants_1 = require("../../../constants");
|
|
8
7
|
var GetStatsNodeUsersUsageCommand;
|
|
9
8
|
(function (GetStatsNodeUsersUsageCommand) {
|
|
@@ -16,16 +15,16 @@ var GetStatsNodeUsersUsageCommand;
|
|
|
16
15
|
GetStatsNodeUsersUsageCommand.RequestQuerySchema = zod_1.z.object({
|
|
17
16
|
start: zod_1.z.iso.date().describe('Start date (YYYY-MM-DD)'),
|
|
18
17
|
end: zod_1.z.iso.date().describe('End date (YYYY-MM-DD)'),
|
|
19
|
-
topUsersLimit: zod_1.z.
|
|
18
|
+
topUsersLimit: zod_1.z.coerce.number().min(1).default(100),
|
|
20
19
|
});
|
|
21
20
|
GetStatsNodeUsersUsageCommand.ResponseSchema = zod_1.z.object({
|
|
22
21
|
response: zod_1.z.object({
|
|
23
22
|
categories: zod_1.z.array(zod_1.z.string()),
|
|
24
|
-
sparklineData: zod_1.z.array(
|
|
23
|
+
sparklineData: zod_1.z.array(zod_1.z.number()),
|
|
25
24
|
topUsers: zod_1.z.array(zod_1.z.object({
|
|
26
25
|
color: zod_1.z.string(),
|
|
27
26
|
username: zod_1.z.string(),
|
|
28
|
-
total: zod_1.z.
|
|
27
|
+
total: zod_1.z.number(),
|
|
29
28
|
})),
|
|
30
29
|
}),
|
|
31
30
|
});
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetStatsNodesUsageCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../../api");
|
|
6
|
-
const codecs_1 = require("../../../codecs");
|
|
7
6
|
const constants_1 = require("../../../constants");
|
|
8
7
|
var GetStatsNodesUsageCommand;
|
|
9
8
|
(function (GetStatsNodesUsageCommand) {
|
|
@@ -13,26 +12,30 @@ var GetStatsNodesUsageCommand;
|
|
|
13
12
|
GetStatsNodesUsageCommand.RequestQuerySchema = zod_1.z.object({
|
|
14
13
|
start: zod_1.z.iso.date().describe('Start date (YYYY-MM-DD)'),
|
|
15
14
|
end: zod_1.z.iso.date().describe('End date (YYYY-MM-DD)'),
|
|
16
|
-
topNodesLimit: zod_1.z.
|
|
15
|
+
topNodesLimit: zod_1.z.coerce
|
|
16
|
+
.number()
|
|
17
|
+
.min(1)
|
|
18
|
+
.default(20)
|
|
19
|
+
.describe('Limit of top nodes to return'),
|
|
17
20
|
});
|
|
18
21
|
GetStatsNodesUsageCommand.ResponseSchema = zod_1.z.object({
|
|
19
22
|
response: zod_1.z.object({
|
|
20
23
|
categories: zod_1.z.array(zod_1.z.string()),
|
|
21
|
-
sparklineData: zod_1.z.array(
|
|
24
|
+
sparklineData: zod_1.z.array(zod_1.z.number()),
|
|
22
25
|
topNodes: zod_1.z.array(zod_1.z.object({
|
|
23
26
|
uuid: zod_1.z.uuid(),
|
|
24
27
|
color: zod_1.z.string(),
|
|
25
28
|
name: zod_1.z.string(),
|
|
26
29
|
countryCode: zod_1.z.string(),
|
|
27
|
-
total: zod_1.z.
|
|
30
|
+
total: zod_1.z.number(),
|
|
28
31
|
})),
|
|
29
32
|
series: zod_1.z.array(zod_1.z.object({
|
|
30
33
|
uuid: zod_1.z.uuid(),
|
|
31
34
|
name: zod_1.z.string(),
|
|
32
35
|
color: zod_1.z.string(),
|
|
33
36
|
countryCode: zod_1.z.string(),
|
|
34
|
-
total: zod_1.z.
|
|
35
|
-
data: zod_1.z.array(
|
|
37
|
+
total: zod_1.z.number(),
|
|
38
|
+
data: zod_1.z.array(zod_1.z.number()),
|
|
36
39
|
})),
|
|
37
40
|
}),
|
|
38
41
|
});
|
package/build/frontend/commands/bandwidth-stats/nodes/get-stats-nodes-users-usage.command.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetStatsNodesUsersUsageCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../../api");
|
|
6
|
-
const codecs_1 = require("../../../codecs");
|
|
7
6
|
const constants_1 = require("../../../constants");
|
|
8
7
|
var GetStatsNodesUsersUsageCommand;
|
|
9
8
|
(function (GetStatsNodesUsersUsageCommand) {
|
|
@@ -21,11 +20,11 @@ var GetStatsNodesUsersUsageCommand;
|
|
|
21
20
|
GetStatsNodesUsersUsageCommand.ResponseSchema = zod_1.z.object({
|
|
22
21
|
response: zod_1.z.object({
|
|
23
22
|
categories: zod_1.z.array(zod_1.z.string()),
|
|
24
|
-
sparklineData: zod_1.z.array(
|
|
23
|
+
sparklineData: zod_1.z.array(zod_1.z.number()),
|
|
25
24
|
topUsers: zod_1.z.array(zod_1.z.object({
|
|
26
25
|
color: zod_1.z.string(),
|
|
27
26
|
username: zod_1.z.string(),
|
|
28
|
-
total: zod_1.z.
|
|
27
|
+
total: zod_1.z.number(),
|
|
29
28
|
})),
|
|
30
29
|
}),
|
|
31
30
|
});
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetUserByIdCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../../api");
|
|
6
|
-
const codecs_1 = require("../../../codecs");
|
|
7
6
|
const constants_1 = require("../../../constants");
|
|
8
7
|
const user_response_1 = require("../user.response");
|
|
9
8
|
var GetUserByIdCommand;
|
|
@@ -12,7 +11,7 @@ var GetUserByIdCommand;
|
|
|
12
11
|
GetUserByIdCommand.TSQ_url = GetUserByIdCommand.url(':id');
|
|
13
12
|
GetUserByIdCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.USERS_ROUTES.GET_BY.ID(':id'), 'get', 'Get user by ID', { scope: 'by-id', kind: 'read' });
|
|
14
13
|
GetUserByIdCommand.RequestParamSchema = zod_1.z.object({
|
|
15
|
-
id:
|
|
14
|
+
id: zod_1.z.string().transform(Number).pipe(zod_1.z.number().nonnegative()),
|
|
16
15
|
});
|
|
17
16
|
GetUserByIdCommand.ResponseSchema = user_response_1.UserResponseSchema;
|
|
18
17
|
})(GetUserByIdCommand || (exports.GetUserByIdCommand = GetUserByIdCommand = {}));
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GetUsersStreamCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const api_1 = require("../../api");
|
|
6
|
-
const codecs_1 = require("../../codecs");
|
|
7
6
|
const constants_1 = require("../../constants");
|
|
8
7
|
const models_1 = require("../../models");
|
|
9
8
|
var GetUsersStreamCommand;
|
|
@@ -29,7 +28,12 @@ var GetUsersStreamCommand;
|
|
|
29
28
|
.enum(constants_1.RESET_PERIODS)
|
|
30
29
|
.optional()
|
|
31
30
|
.describe('Traffic limit strategy to filter users by'),
|
|
32
|
-
telegramId:
|
|
31
|
+
telegramId: zod_1.z
|
|
32
|
+
.string()
|
|
33
|
+
.transform(Number)
|
|
34
|
+
.pipe(zod_1.z.number().nonnegative())
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Telegram ID to filter users by'),
|
|
33
37
|
email: zod_1.z.email().optional().describe('Email to filter users by'),
|
|
34
38
|
tag: zod_1.z.string().optional().describe('Tag to filter users by'),
|
|
35
39
|
externalSquadUuid: zod_1.z.uuid().optional().describe('External squad UUID to filter users by'),
|
|
@@ -7,6 +7,7 @@ exports.CACHE_KEYS = {
|
|
|
7
7
|
SUBSCRIPTION_TEMPLATE: (name, type) => `subscription_template:${name}:${type}`,
|
|
8
8
|
PASSKEY_REGISTRATION_OPTIONS: (uuid) => `passkey_registration_options:${uuid}`,
|
|
9
9
|
PASSKEY_AUTHENTICATION_OPTIONS: (uuid) => `passkey_authentication_options:${uuid}`,
|
|
10
|
+
OTT: 'ott',
|
|
10
11
|
REMNAWAVE_SETTINGS: 'remnawave_settings',
|
|
11
12
|
NODE_SYSTEM_INFO: (uuid) => `node_system_info:${uuid}`,
|
|
12
13
|
NODE_SYSTEM_STATS: (uuid) => `node_system_stats:${uuid}`,
|
|
@@ -17,6 +18,7 @@ exports.CACHE_KEYS = {
|
|
|
17
18
|
XRAY_JSON_TEMPLATE: (uuid) => `xray_json_template:${uuid}`,
|
|
18
19
|
};
|
|
19
20
|
exports.CACHE_KEYS_TTL = {
|
|
21
|
+
OTT: 60, // 1 minute
|
|
20
22
|
REMNAWAVE_SETTINGS: 86400, // 1 day
|
|
21
23
|
EXTERNAL_SQUAD_SETTINGS: 3600, // 1 hour
|
|
22
24
|
SUBSCRIPTION_SETTINGS: 3600, // 1 hour
|
package/build/frontend/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datetime-to-date.codec.d.ts","sourceRoot":"","sources":["../../../codecs/datetime-to-date.codec.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,iBAAiB,yCAG5B,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isoDatetimeToDate = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
exports.isoDatetimeToDate = zod_1.default.codec(zod_1.default.iso.datetime(), zod_1.default.date(), {
|
|
9
|
-
decode: (isoString) => new Date(isoString),
|
|
10
|
-
encode: (date) => date.toISOString(),
|
|
11
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../codecs/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
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("./string-to-bigint.codec"), exports);
|
|
18
|
-
__exportStar(require("./datetime-to-date.codec"), exports);
|
|
19
|
-
__exportStar(require("./string-to-int.codec"), exports);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string-to-bigint.codec.d.ts","sourceRoot":"","sources":["../../../codecs/string-to-bigint.codec.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,cAAc,sCAGzB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.stringToBigInt = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
exports.stringToBigInt = zod_1.default.codec(zod_1.default.string(), zod_1.default.bigint(), {
|
|
9
|
-
decode: (str) => BigInt(str),
|
|
10
|
-
encode: (bigint) => bigint.toString(),
|
|
11
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"string-to-int.codec.d.ts","sourceRoot":"","sources":["../../../codecs/string-to-int.codec.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,WAAW,qCAGtB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.stringToInt = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
exports.stringToInt = zod_1.default.codec(zod_1.default.string().regex(zod_1.default.regexes.integer), zod_1.default.int32(), {
|
|
9
|
-
decode: (str) => Number.parseInt(str, 10),
|
|
10
|
-
encode: (num) => num.toString(),
|
|
11
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isoDatetimeToDate = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
exports.isoDatetimeToDate = zod_1.default.codec(zod_1.default.iso.datetime(), zod_1.default.date(), {
|
|
9
|
-
decode: (isoString) => new Date(isoString),
|
|
10
|
-
encode: (date) => date.toISOString(),
|
|
11
|
-
});
|
|
@@ -1,19 +0,0 @@
|
|
|
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("./string-to-bigint.codec"), exports);
|
|
18
|
-
__exportStar(require("./datetime-to-date.codec"), exports);
|
|
19
|
-
__exportStar(require("./string-to-int.codec"), exports);
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.stringToBigInt = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
exports.stringToBigInt = zod_1.default.codec(zod_1.default.string(), zod_1.default.bigint(), {
|
|
9
|
-
decode: (str) => BigInt(str),
|
|
10
|
-
encode: (bigint) => bigint.toString(),
|
|
11
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.stringToInt = void 0;
|
|
7
|
-
const zod_1 = __importDefault(require("zod"));
|
|
8
|
-
exports.stringToInt = zod_1.default.codec(zod_1.default.string().regex(zod_1.default.regexes.integer), zod_1.default.int32(), {
|
|
9
|
-
decode: (str) => Number.parseInt(str, 10),
|
|
10
|
-
encode: (num) => num.toString(),
|
|
11
|
-
});
|