@remnawave/backend-contract 0.1.15 → 0.2.1
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/auth.d.ts +2 -0
- package/build/backend/api/controllers/auth.d.ts.map +1 -1
- package/build/backend/api/controllers/auth.js +2 -0
- package/build/backend/api/controllers/users.d.ts +2 -0
- package/build/backend/api/controllers/users.d.ts.map +1 -1
- package/build/backend/api/controllers/users.js +2 -0
- package/build/backend/api/routes.d.ts +4 -0
- package/build/backend/api/routes.d.ts.map +1 -1
- package/build/backend/api/routes.js +4 -0
- package/build/backend/commands/auth/get-status.command.d.ts +29 -0
- package/build/backend/commands/auth/get-status.command.d.ts.map +1 -0
- package/build/backend/commands/auth/get-status.command.js +16 -0
- package/build/backend/commands/auth/index.d.ts +2 -0
- package/build/backend/commands/auth/index.d.ts.map +1 -1
- package/build/backend/commands/auth/index.js +2 -0
- package/build/backend/commands/auth/register.command.d.ts +35 -0
- package/build/backend/commands/auth/register.command.d.ts.map +1 -0
- package/build/backend/commands/auth/register.command.js +22 -0
- package/build/backend/commands/users/create-user.command.d.ts +19 -3
- package/build/backend/commands/users/create-user.command.d.ts.map +1 -1
- package/build/backend/commands/users/create-user.command.js +4 -2
- package/build/backend/commands/users/disable-user.command.ts.d.ts +12 -2
- package/build/backend/commands/users/disable-user.command.ts.d.ts.map +1 -1
- package/build/backend/commands/users/enable-user.command.d.ts +12 -2
- package/build/backend/commands/users/enable-user.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-all-users-v2.command.d.ts +17 -3
- package/build/backend/commands/users/get-all-users-v2.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-user-by-email.command.d.ts +217 -0
- package/build/backend/commands/users/get-user-by-email.command.d.ts.map +1 -0
- package/build/backend/commands/users/get-user-by-email.command.js +21 -0
- package/build/backend/commands/users/get-user-by-short-uuid.command.d.ts +12 -2
- package/build/backend/commands/users/get-user-by-short-uuid.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-user-by-subscription-uuid.command.d.ts +12 -2
- package/build/backend/commands/users/get-user-by-subscription-uuid.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-user-by-telegram-id.command.d.ts +217 -0
- package/build/backend/commands/users/get-user-by-telegram-id.command.d.ts.map +1 -0
- package/build/backend/commands/users/get-user-by-telegram-id.command.js +21 -0
- package/build/backend/commands/users/get-user-by-username.command.d.ts +12 -2
- package/build/backend/commands/users/get-user-by-username.command.d.ts.map +1 -1
- package/build/backend/commands/users/get-user-by-uuid.command.d.ts +12 -2
- package/build/backend/commands/users/get-user-by-uuid.command.d.ts.map +1 -1
- package/build/backend/commands/users/index.d.ts +2 -0
- package/build/backend/commands/users/index.d.ts.map +1 -1
- package/build/backend/commands/users/index.js +2 -0
- package/build/backend/commands/users/reset-user-traffic.command.d.ts +12 -2
- package/build/backend/commands/users/reset-user-traffic.command.d.ts.map +1 -1
- package/build/backend/commands/users/revoke-user-subscription.command.d.ts +12 -2
- package/build/backend/commands/users/revoke-user-subscription.command.d.ts.map +1 -1
- package/build/backend/commands/users/update-user.command.d.ts +20 -2
- package/build/backend/commands/users/update-user.command.d.ts.map +1 -1
- package/build/backend/commands/users/update-user.command.js +2 -0
- package/build/backend/commands/xray/update-config.command.d.ts +1 -1
- package/build/backend/commands/xray/update-config.command.d.ts.map +1 -1
- package/build/backend/commands/xray/update-config.command.js +1 -1
- package/build/backend/constants/errors/errors.d.ts +35 -0
- package/build/backend/constants/errors/errors.d.ts.map +1 -1
- package/build/backend/constants/errors/errors.js +28 -1
- package/build/backend/constants/roles/role.d.ts +1 -0
- package/build/backend/constants/roles/role.d.ts.map +1 -1
- package/build/backend/models/users.schema.d.ts +7 -1
- package/build/backend/models/users.schema.d.ts.map +1 -1
- package/build/backend/models/users.schema.js +2 -0
- package/build/frontend/api/controllers/auth.js +2 -0
- package/build/frontend/api/controllers/users.js +2 -0
- package/build/frontend/api/routes.js +4 -0
- package/build/frontend/commands/auth/get-status.command.js +16 -0
- package/build/frontend/commands/auth/index.js +2 -0
- package/build/frontend/commands/auth/register.command.js +22 -0
- package/build/frontend/commands/users/create-user.command.js +4 -2
- package/build/frontend/commands/users/get-user-by-email.command.js +21 -0
- package/build/frontend/commands/users/get-user-by-telegram-id.command.js +21 -0
- package/build/frontend/commands/users/index.js +2 -0
- package/build/frontend/commands/users/update-user.command.js +2 -0
- package/build/frontend/commands/xray/update-config.command.js +1 -1
- package/build/frontend/constants/errors/errors.js +28 -1
- package/build/frontend/models/users.schema.js +2 -0
- package/package.json +1 -1
@@ -29,6 +29,8 @@ export declare const UsersSchema: z.ZodObject<{
|
|
29
29
|
vlessUuid: z.ZodString;
|
30
30
|
ssPassword: z.ZodString;
|
31
31
|
description: z.ZodNullable<z.ZodString>;
|
32
|
+
telegramId: z.ZodNullable<z.ZodNumber>;
|
33
|
+
email: z.ZodNullable<z.ZodString>;
|
32
34
|
createdAt: z.ZodEffects<z.ZodString, Date, string>;
|
33
35
|
updatedAt: z.ZodEffects<z.ZodString, Date, string>;
|
34
36
|
activeUserInbounds: z.ZodArray<z.ZodObject<{
|
@@ -45,9 +47,10 @@ export declare const UsersSchema: z.ZodObject<{
|
|
45
47
|
tag: string;
|
46
48
|
}>, "many">;
|
47
49
|
}, "strip", z.ZodTypeAny, {
|
50
|
+
status: "DISABLED" | "LIMITED" | "EXPIRED" | "ACTIVE";
|
48
51
|
uuid: string;
|
49
52
|
username: string;
|
50
|
-
|
53
|
+
email: string | null;
|
51
54
|
createdAt: Date;
|
52
55
|
updatedAt: Date;
|
53
56
|
trafficLimitBytes: number;
|
@@ -66,6 +69,7 @@ export declare const UsersSchema: z.ZodObject<{
|
|
66
69
|
trojanPassword: string;
|
67
70
|
vlessUuid: string;
|
68
71
|
ssPassword: string;
|
72
|
+
telegramId: number | null;
|
69
73
|
activeUserInbounds: {
|
70
74
|
uuid: string;
|
71
75
|
type: string;
|
@@ -74,6 +78,7 @@ export declare const UsersSchema: z.ZodObject<{
|
|
74
78
|
}, {
|
75
79
|
uuid: string;
|
76
80
|
username: string;
|
81
|
+
email: string | null;
|
77
82
|
createdAt: string;
|
78
83
|
updatedAt: string;
|
79
84
|
subscriptionUuid: string;
|
@@ -90,6 +95,7 @@ export declare const UsersSchema: z.ZodObject<{
|
|
90
95
|
trojanPassword: string;
|
91
96
|
vlessUuid: string;
|
92
97
|
ssPassword: string;
|
98
|
+
telegramId: number | null;
|
93
99
|
activeUserInbounds: {
|
94
100
|
uuid: string;
|
95
101
|
type: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"users.schema.d.ts","sourceRoot":"","sources":["../../../models/users.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW
|
1
|
+
{"version":3,"file":"users.schema.d.ts","sourceRoot":"","sources":["../../../models/users.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEtB,CAAC"}
|
@@ -43,6 +43,8 @@ exports.UsersSchema = zod_1.z.object({
|
|
43
43
|
vlessUuid: zod_1.z.string().uuid(),
|
44
44
|
ssPassword: zod_1.z.string(),
|
45
45
|
description: zod_1.z.nullable(zod_1.z.string()),
|
46
|
+
telegramId: zod_1.z.nullable(zod_1.z.number()),
|
47
|
+
email: zod_1.z.nullable(zod_1.z.string()),
|
46
48
|
createdAt: zod_1.z
|
47
49
|
.string()
|
48
50
|
.datetime()
|
@@ -40,6 +40,8 @@ exports.METRICS_ROOT = '/metrics';
|
|
40
40
|
exports.REST_API = {
|
41
41
|
AUTH: {
|
42
42
|
LOGIN: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.LOGIN}`,
|
43
|
+
REGISTER: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.REGISTER}`,
|
44
|
+
GET_STATUS: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.GET_STATUS}`,
|
43
45
|
},
|
44
46
|
API_TOKENS: {
|
45
47
|
CREATE: `${exports.ROOT}/${CONTROLLERS.API_TOKENS_CONTROLLER}/${CONTROLLERS.API_TOKENS_ROUTES.CREATE}`,
|
@@ -87,6 +89,8 @@ exports.REST_API = {
|
|
87
89
|
BULK: {
|
88
90
|
DELETE_BY_STATUS: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.BULK.DELETE_BY_STATUS}`,
|
89
91
|
},
|
92
|
+
GET_BY_TELEGRAM_ID: (telegramId) => `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.GET_BY_TELEGRAM_ID}/${telegramId}`,
|
93
|
+
GET_BY_EMAIL: (email) => `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.GET_BY_EMAIL}/${email}`,
|
90
94
|
},
|
91
95
|
SUBSCRIPTION: {
|
92
96
|
GET: (shortUuid) => `${exports.ROOT}/${CONTROLLERS.SUBSCRIPTION_CONTROLLER}/${CONTROLLERS.SUBSCRIPTION_ROUTES.GET}/${shortUuid}`,
|
@@ -0,0 +1,16 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetStatusCommand = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const api_1 = require("../../api");
|
6
|
+
var GetStatusCommand;
|
7
|
+
(function (GetStatusCommand) {
|
8
|
+
GetStatusCommand.url = api_1.REST_API.AUTH.GET_STATUS;
|
9
|
+
GetStatusCommand.TSQ_url = GetStatusCommand.url;
|
10
|
+
GetStatusCommand.ResponseSchema = zod_1.z.object({
|
11
|
+
response: zod_1.z.object({
|
12
|
+
isLoginAllowed: zod_1.z.boolean(),
|
13
|
+
isRegisterAllowed: zod_1.z.boolean(),
|
14
|
+
}),
|
15
|
+
});
|
16
|
+
})(GetStatusCommand || (exports.GetStatusCommand = GetStatusCommand = {}));
|
@@ -15,3 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./login.command"), exports);
|
18
|
+
__exportStar(require("./register.command"), exports);
|
19
|
+
__exportStar(require("./get-status.command"), exports);
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.RegisterCommand = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const api_1 = require("../../api");
|
6
|
+
var RegisterCommand;
|
7
|
+
(function (RegisterCommand) {
|
8
|
+
RegisterCommand.url = api_1.REST_API.AUTH.REGISTER;
|
9
|
+
RegisterCommand.TSQ_url = RegisterCommand.url;
|
10
|
+
RegisterCommand.RequestSchema = zod_1.z.object({
|
11
|
+
username: zod_1.z.string(),
|
12
|
+
password: zod_1.z
|
13
|
+
.string()
|
14
|
+
.min(12, 'Password must contain at least 12 characters')
|
15
|
+
.regex(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/, 'Password must contain uppercase and lowercase letters, numbers and special characters'),
|
16
|
+
});
|
17
|
+
RegisterCommand.ResponseSchema = zod_1.z.object({
|
18
|
+
response: zod_1.z.object({
|
19
|
+
accessToken: zod_1.z.string(),
|
20
|
+
}),
|
21
|
+
});
|
22
|
+
})(RegisterCommand || (exports.RegisterCommand = RegisterCommand = {}));
|
@@ -90,7 +90,7 @@ var CreateUserCommand;
|
|
90
90
|
.string({
|
91
91
|
invalid_type_error: 'Invalid date format',
|
92
92
|
})
|
93
|
-
.datetime({ message: 'Invalid date format', offset: true })
|
93
|
+
.datetime({ message: 'Invalid date format', offset: true, local: true })
|
94
94
|
.transform((str) => new Date(str))
|
95
95
|
.describe('Date format: 2025-01-17T15:38:45.065Z')
|
96
96
|
.optional(),
|
@@ -98,11 +98,13 @@ var CreateUserCommand;
|
|
98
98
|
.string({
|
99
99
|
invalid_type_error: 'Invalid date format',
|
100
100
|
})
|
101
|
-
.datetime({ message: 'Invalid date format', offset: true })
|
101
|
+
.datetime({ message: 'Invalid date format', offset: true, local: true })
|
102
102
|
.transform((str) => new Date(str))
|
103
103
|
.describe('Date format: 2025-01-17T15:38:45.065Z')
|
104
104
|
.optional(),
|
105
105
|
description: zod_1.z.string().optional(),
|
106
|
+
telegramId: zod_1.z.number().optional(),
|
107
|
+
email: zod_1.z.string().optional(),
|
106
108
|
activateAllInbounds: zod_1.z.boolean().optional(),
|
107
109
|
});
|
108
110
|
CreateUserCommand.ResponseSchema = zod_1.z.object({
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetUserByEmailCommand = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const users_schema_1 = require("../../models/users.schema");
|
6
|
+
const api_1 = require("../../api");
|
7
|
+
const models_1 = require("../../models");
|
8
|
+
var GetUserByEmailCommand;
|
9
|
+
(function (GetUserByEmailCommand) {
|
10
|
+
GetUserByEmailCommand.url = api_1.REST_API.USERS.GET_BY_EMAIL;
|
11
|
+
GetUserByEmailCommand.TSQ_url = GetUserByEmailCommand.url(':email');
|
12
|
+
GetUserByEmailCommand.RequestSchema = zod_1.z.object({
|
13
|
+
email: zod_1.z.string(),
|
14
|
+
});
|
15
|
+
GetUserByEmailCommand.ResponseSchema = zod_1.z.object({
|
16
|
+
response: zod_1.z.array(users_schema_1.UsersSchema.extend({
|
17
|
+
subscriptionUrl: zod_1.z.string(),
|
18
|
+
lastConnectedNode: models_1.LastConnectedNodeSchema,
|
19
|
+
})),
|
20
|
+
});
|
21
|
+
})(GetUserByEmailCommand || (exports.GetUserByEmailCommand = GetUserByEmailCommand = {}));
|
@@ -0,0 +1,21 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GetUserByTelegramIdCommand = void 0;
|
4
|
+
const zod_1 = require("zod");
|
5
|
+
const users_schema_1 = require("../../models/users.schema");
|
6
|
+
const api_1 = require("../../api");
|
7
|
+
const models_1 = require("../../models");
|
8
|
+
var GetUserByTelegramIdCommand;
|
9
|
+
(function (GetUserByTelegramIdCommand) {
|
10
|
+
GetUserByTelegramIdCommand.url = api_1.REST_API.USERS.GET_BY_TELEGRAM_ID;
|
11
|
+
GetUserByTelegramIdCommand.TSQ_url = GetUserByTelegramIdCommand.url(':telegramId');
|
12
|
+
GetUserByTelegramIdCommand.RequestSchema = zod_1.z.object({
|
13
|
+
telegramId: zod_1.z.string(),
|
14
|
+
});
|
15
|
+
GetUserByTelegramIdCommand.ResponseSchema = zod_1.z.object({
|
16
|
+
response: zod_1.z.array(users_schema_1.UsersSchema.extend({
|
17
|
+
subscriptionUrl: zod_1.z.string(),
|
18
|
+
lastConnectedNode: models_1.LastConnectedNodeSchema,
|
19
|
+
})),
|
20
|
+
});
|
21
|
+
})(GetUserByTelegramIdCommand || (exports.GetUserByTelegramIdCommand = GetUserByTelegramIdCommand = {}));
|
@@ -27,3 +27,5 @@ __exportStar(require("./reset-user-traffic.command"), exports);
|
|
27
27
|
__exportStar(require("./revoke-user-subscription.command"), exports);
|
28
28
|
__exportStar(require("./update-user.command"), exports);
|
29
29
|
__exportStar(require("./bulk"), exports);
|
30
|
+
__exportStar(require("./get-user-by-telegram-id.command"), exports);
|
31
|
+
__exportStar(require("./get-user-by-email.command"), exports);
|
@@ -50,6 +50,8 @@ var UpdateUserCommand;
|
|
50
50
|
.describe('Expiration date: 2025-01-17T15:38:45.065Z')
|
51
51
|
.optional(),
|
52
52
|
description: zod_1.z.string().optional(),
|
53
|
+
telegramId: zod_1.z.number().optional(),
|
54
|
+
email: zod_1.z.string().optional(),
|
53
55
|
});
|
54
56
|
UpdateUserCommand.ResponseSchema = zod_1.z.object({
|
55
57
|
response: models_1.UsersSchema.extend({
|
@@ -7,7 +7,7 @@ var UpdateXrayConfigCommand;
|
|
7
7
|
(function (UpdateXrayConfigCommand) {
|
8
8
|
UpdateXrayConfigCommand.url = api_1.REST_API.XRAY.UPDATE_CONFIG;
|
9
9
|
UpdateXrayConfigCommand.TSQ_url = UpdateXrayConfigCommand.url;
|
10
|
-
UpdateXrayConfigCommand.RequestSchema = zod_1.z.object({});
|
10
|
+
UpdateXrayConfigCommand.RequestSchema = zod_1.z.object({}).passthrough();
|
11
11
|
UpdateXrayConfigCommand.ResponseSchema = zod_1.z.object({
|
12
12
|
response: zod_1.z.object({
|
13
13
|
config: zod_1.z.object({}),
|
@@ -304,8 +304,35 @@ exports.ERRORS = {
|
|
304
304
|
httpCode: 500,
|
305
305
|
withMessage: (message) => ({
|
306
306
|
code: 'A061',
|
307
|
-
message
|
307
|
+
message,
|
308
308
|
httpCode: 500,
|
309
309
|
}),
|
310
310
|
},
|
311
|
+
USERS_NOT_FOUND: {
|
312
|
+
code: 'A062',
|
313
|
+
message: 'Users not found',
|
314
|
+
httpCode: 404,
|
315
|
+
},
|
316
|
+
GET_USER_BY_UNIQUE_FIELDS_NOT_FOUND: {
|
317
|
+
code: 'A063',
|
318
|
+
message: 'User with specified params not found',
|
319
|
+
httpCode: 404,
|
320
|
+
},
|
321
|
+
UPDATE_EXCEEDED_TRAFFIC_USERS_ERROR: {
|
322
|
+
code: 'A064',
|
323
|
+
message: 'Update exceeded traffic users error',
|
324
|
+
httpCode: 500,
|
325
|
+
},
|
326
|
+
ADMIN_NOT_FOUND: {
|
327
|
+
code: 'A065',
|
328
|
+
message: 'Admin not found',
|
329
|
+
httpCode: 404,
|
330
|
+
},
|
331
|
+
CREATE_ADMIN_ERROR: {
|
332
|
+
code: 'A066',
|
333
|
+
message: 'Create admin error',
|
334
|
+
httpCode: 500,
|
335
|
+
},
|
336
|
+
GET_AUTH_STATUS_ERROR: { code: 'A067', message: 'Get auth status error', httpCode: 500 },
|
337
|
+
FORBIDDEN: { code: 'A068', message: 'Forbidden', httpCode: 403 },
|
311
338
|
};
|
@@ -43,6 +43,8 @@ exports.UsersSchema = zod_1.z.object({
|
|
43
43
|
vlessUuid: zod_1.z.string().uuid(),
|
44
44
|
ssPassword: zod_1.z.string(),
|
45
45
|
description: zod_1.z.nullable(zod_1.z.string()),
|
46
|
+
telegramId: zod_1.z.nullable(zod_1.z.number()),
|
47
|
+
email: zod_1.z.nullable(zod_1.z.string()),
|
46
48
|
createdAt: zod_1.z
|
47
49
|
.string()
|
48
50
|
.datetime()
|