@remnawave/backend-contract 2.6.39 → 2.6.41

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.
Files changed (33) hide show
  1. package/build/backend/api/controllers/ip-control.d.ts +2 -0
  2. package/build/backend/api/controllers/ip-control.d.ts.map +1 -1
  3. package/build/backend/api/controllers/ip-control.js +4 -0
  4. package/build/backend/api/controllers/users.d.ts +1 -0
  5. package/build/backend/api/controllers/users.d.ts.map +1 -1
  6. package/build/backend/api/controllers/users.js +1 -0
  7. package/build/backend/api/routes.d.ts +3 -0
  8. package/build/backend/api/routes.d.ts.map +1 -1
  9. package/build/backend/api/routes.js +3 -0
  10. package/build/backend/commands/ip-control/fetch-users-ips-result.command.d.ts +131 -0
  11. package/build/backend/commands/ip-control/fetch-users-ips-result.command.d.ts.map +1 -0
  12. package/build/backend/commands/ip-control/fetch-users-ips-result.command.js +40 -0
  13. package/build/backend/commands/ip-control/fetch-users-ips.command.d.ts +33 -0
  14. package/build/backend/commands/ip-control/fetch-users-ips.command.d.ts.map +1 -0
  15. package/build/backend/commands/ip-control/fetch-users-ips.command.js +20 -0
  16. package/build/backend/commands/ip-control/index.d.ts +2 -0
  17. package/build/backend/commands/ip-control/index.d.ts.map +1 -1
  18. package/build/backend/commands/ip-control/index.js +2 -0
  19. package/build/backend/commands/users/index.d.ts +1 -0
  20. package/build/backend/commands/users/index.d.ts.map +1 -1
  21. package/build/backend/commands/users/index.js +1 -0
  22. package/build/backend/commands/users/resolve-user.command.d.ts +87 -0
  23. package/build/backend/commands/users/resolve-user.command.d.ts.map +1 -0
  24. package/build/backend/commands/users/resolve-user.command.js +35 -0
  25. package/build/frontend/api/controllers/ip-control.js +4 -0
  26. package/build/frontend/api/controllers/users.js +1 -0
  27. package/build/frontend/api/routes.js +3 -0
  28. package/build/frontend/commands/ip-control/fetch-users-ips-result.command.js +40 -0
  29. package/build/frontend/commands/ip-control/fetch-users-ips.command.js +20 -0
  30. package/build/frontend/commands/ip-control/index.js +2 -0
  31. package/build/frontend/commands/users/index.js +1 -0
  32. package/build/frontend/commands/users/resolve-user.command.js +35 -0
  33. package/package.json +1 -1
@@ -3,5 +3,7 @@ export declare const IP_CONTROL_ROUTES: {
3
3
  readonly FETCH_IPS: (uuid: string) => string;
4
4
  readonly GET_FETCH_IPS_RESULT: (jobId: string) => string;
5
5
  readonly DROP_CONNECTIONS: "drop-connections";
6
+ readonly FETCH_USERS_IPS: (nodeUuid: string) => string;
7
+ readonly GET_FETCH_USERS_IPS_RESULT: (jobId: string) => string;
6
8
  };
7
9
  //# sourceMappingURL=ip-control.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ip-control.d.ts","sourceRoot":"","sources":["../../../../api/controllers/ip-control.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAG,YAAqB,CAAC;AAE3D,eAAO,MAAM,iBAAiB;+BAER,MAAM;2CAEM,MAAM;;CAG9B,CAAC"}
1
+ {"version":3,"file":"ip-control.d.ts","sourceRoot":"","sources":["../../../../api/controllers/ip-control.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,EAAG,YAAqB,CAAC;AAE3D,eAAO,MAAM,iBAAiB;+BAER,MAAM;2CAEM,MAAM;;yCAIR,MAAM;iDAEE,MAAM;CACpC,CAAC"}
@@ -9,4 +9,8 @@ exports.IP_CONTROL_ROUTES = {
9
9
  GET_FETCH_IPS_RESULT: (jobId) => `fetch-ips/result/${jobId}`,
10
10
  // POST /ip-control/drop-connections
11
11
  DROP_CONNECTIONS: 'drop-connections',
12
+ // POST /ip-control/fetch-users-ips/:nodeUuid
13
+ FETCH_USERS_IPS: (nodeUuid) => `fetch-users-ips/${nodeUuid}`,
14
+ // GET /ip-control/fetch-users-ips/result/:jobId
15
+ GET_FETCH_USERS_IPS_RESULT: (jobId) => `fetch-users-ips/result/${jobId}`,
12
16
  };
@@ -40,5 +40,6 @@ export declare const USERS_ROUTES: {
40
40
  readonly TAGS: {
41
41
  readonly GET: "tags";
42
42
  };
43
+ readonly RESOLVE: "resolve";
43
44
  };
44
45
  //# sourceMappingURL=users.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../../api/controllers/users.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD,eAAO,MAAM,mBAAmB,EAAG,SAAkB,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;4BAIN,MAAM;iCACD,MAAM;sCACD,MAAM;kDACM,MAAM;;gCAExB,MAAM;iCACL,MAAM;uCACA,MAAM;6CACA,MAAM;;;0BAGzB,MAAM;yCACS,MAAM;sCACT,MAAM;uDACW,MAAM;2CAClB,MAAM;gCACjB,MAAM;4BACV,MAAM;;;;;;;;;;;;;;;;;;;CAqBf,CAAC"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../../api/controllers/users.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AAEjD,eAAO,MAAM,mBAAmB,EAAG,SAAkB,CAAC;AAEtD,eAAO,MAAM,YAAY;;;;4BAIN,MAAM;iCACD,MAAM;sCACD,MAAM;kDACM,MAAM;;gCAExB,MAAM;iCACL,MAAM;uCACA,MAAM;6CACA,MAAM;;;0BAGzB,MAAM;yCACS,MAAM;sCACT,MAAM;uDACW,MAAM;2CAClB,MAAM;gCACjB,MAAM;4BACV,MAAM;;;;;;;;;;;;;;;;;;;;CAsBf,CAAC"}
@@ -43,4 +43,5 @@ exports.USERS_ROUTES = {
43
43
  TAGS: {
44
44
  GET: 'tags',
45
45
  },
46
+ RESOLVE: 'resolve',
46
47
  };
@@ -78,6 +78,7 @@ export declare const REST_API: {
78
78
  readonly EMAIL: (email: string) => string;
79
79
  readonly TAG: (tag: string) => string;
80
80
  };
81
+ readonly RESOLVE: "/api/users/resolve";
81
82
  readonly BULK: {
82
83
  readonly DELETE_BY_STATUS: "/api/users/bulk/delete-by-status";
83
84
  readonly UPDATE: "/api/users/bulk/update";
@@ -293,6 +294,8 @@ export declare const REST_API: {
293
294
  readonly FETCH_IPS: (uuid: string) => string;
294
295
  readonly GET_FETCH_IPS_RESULT: (jobId: string) => string;
295
296
  readonly DROP_CONNECTIONS: "/api/ip-control/drop-connections";
297
+ readonly FETCH_USERS_IPS: (nodeUuid: string) => string;
298
+ readonly GET_FETCH_USERS_IPS_RESULT: (jobId: string) => string;
296
299
  };
297
300
  readonly METADATA: {
298
301
  readonly NODE: {
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../api/routes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AACpC,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAG,SAAkB,CAAC;AAC9C,eAAO,MAAM,cAAc,EAAG,SAAkB,CAAC;AAEjD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;gCAyBE,MAAM;;;;;;;;;qCAYD,MAAM;;gCAGX,MAAM;;;;;oCAOF,MAAM;qCAIL,MAAM;qCAIN,MAAM;;2CAKA,MAAM;;;;;;;;;;;;;gCAiBjB,MAAM;qCAGD,MAAM;0CAED,MAAM;sDAEM,MAAM;;qCAMvB,MAAM;oCAIP,MAAM;2CAIC,MAAM;iDAIA,MAAM;;;8BAOzB,MAAM;6CAES,MAAM;0CAIT,MAAM;2DAIW,MAAM;+CAIlB,MAAM;oCAIjB,MAAM;gCAIV,MAAM;;;;;;;;;;;;;;;;;;;;;kCAyBJ,MAAM;uCAED,MAAM;;;;;;qCASR,MAAM;gCAEX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAoCT,MAAM;;gCAKH,MAAM;;;;;;;;;;;;;;mDAiBa,MAAM;;;;;;;;;0CAYf,MAAM;kCAId,MAAM;6CAIK,MAAM;iDAIF,MAAM;;;6CAMV,MAAM;;qDAKE,MAAM;;;;;;qCAStB,MAAM;gCAIX,MAAM;sDAIgB,MAAM;6DAIC,MAAM;;;;;;;;;;qCAa9B,MAAM;gCAIX,MAAM;0CAII,MAAM;;uCAKT,MAAM;0CAEH,MAAM;;;;;;;;;;yCAWP,MAAM;8CAED,MAAM;;;;6CAMP,MAAM;;;gDAKH,MAAM;;;;;;;;;;;;;;;;qCAiBjB,MAAM;gCAIX,MAAM;;uCAKC,MAAM;0CAEH,MAAM;;;;;;;;;;;6BAYnB,MAAM;;;gCAIH,MAAM;;;;;;;;6BAST,MAAM;;;gCAIH,MAAM;;;;;;;;;;;;;;;;;uCAkBC,MAAM;;;yCAIJ,MAAM;;;;2CAKJ,MAAM;;;6CAIJ,MAAM;;;;;mCAMhB,MAAM;+CAEM,MAAM;;;;;iCAMpB,MAAM;oCAEH,MAAM;;;iCAIT,MAAM;oCAEH,MAAM;;;CAIvB,CAAC"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../api/routes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,EAAG,MAAe,CAAC;AACpC,eAAO,MAAM,YAAY,EAAG,UAAmB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAG,SAAkB,CAAC;AAC9C,eAAO,MAAM,cAAc,EAAG,SAAkB,CAAC;AAEjD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;gCAyBE,MAAM;;;;;;;;;qCAYD,MAAM;;gCAGX,MAAM;;;;;oCAOF,MAAM;qCAIL,MAAM;qCAIN,MAAM;;2CAKA,MAAM;;;;;;;;;;;;;gCAiBjB,MAAM;qCAGD,MAAM;0CAED,MAAM;sDAEM,MAAM;;qCAMvB,MAAM;oCAIP,MAAM;2CAIC,MAAM;iDAIA,MAAM;;;8BAOzB,MAAM;6CAES,MAAM;0CAIT,MAAM;2DAIW,MAAM;+CAIlB,MAAM;oCAIjB,MAAM;gCAIV,MAAM;;;;;;;;;;;;;;;;;;;;;;kCAyBJ,MAAM;uCAED,MAAM;;;;;;qCASR,MAAM;gCAEX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAoCT,MAAM;;gCAKH,MAAM;;;;;;;;;;;;;;mDAiBa,MAAM;;;;;;;;;0CAYf,MAAM;kCAId,MAAM;6CAIK,MAAM;iDAIF,MAAM;;;6CAMV,MAAM;;qDAKE,MAAM;;;;;;qCAStB,MAAM;gCAIX,MAAM;sDAIgB,MAAM;6DAIC,MAAM;;;;;;;;;;qCAa9B,MAAM;gCAIX,MAAM;0CAII,MAAM;;uCAKT,MAAM;0CAEH,MAAM;;;;;;;;;;yCAWP,MAAM;8CAED,MAAM;;;;6CAMP,MAAM;;;gDAKH,MAAM;;;;;;;;;;;;;;;;qCAiBjB,MAAM;gCAIX,MAAM;;uCAKC,MAAM;0CAEH,MAAM;;;;;;;;;;;6BAYnB,MAAM;;;gCAIH,MAAM;;;;;;;;6BAST,MAAM;;;gCAIH,MAAM;;;;;;;;;;;;;;;;;uCAkBC,MAAM;;;yCAIJ,MAAM;;;;2CAKJ,MAAM;;;6CAIJ,MAAM;;;;;mCAMhB,MAAM;+CAEM,MAAM;;6CAGR,MAAM;qDAEE,MAAM;;;;iCAK1B,MAAM;oCAEH,MAAM;;;iCAIT,MAAM;oCAEH,MAAM;;;CAIvB,CAAC"}
@@ -115,6 +115,7 @@ exports.REST_API = {
115
115
  EMAIL: (email) => `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.GET_BY.EMAIL(email)}`,
116
116
  TAG: (tag) => `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.GET_BY.TAG(tag)}`,
117
117
  },
118
+ RESOLVE: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.RESOLVE}`,
118
119
  BULK: {
119
120
  DELETE_BY_STATUS: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.BULK.DELETE_BY_STATUS}`,
120
121
  UPDATE: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.BULK.UPDATE}`,
@@ -330,6 +331,8 @@ exports.REST_API = {
330
331
  FETCH_IPS: (uuid) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.FETCH_IPS(uuid)}`,
331
332
  GET_FETCH_IPS_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.GET_FETCH_IPS_RESULT(jobId)}`,
332
333
  DROP_CONNECTIONS: `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.DROP_CONNECTIONS}`,
334
+ FETCH_USERS_IPS: (nodeUuid) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.FETCH_USERS_IPS(nodeUuid)}`,
335
+ GET_FETCH_USERS_IPS_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.GET_FETCH_USERS_IPS_RESULT(jobId)}`,
333
336
  },
334
337
  METADATA: {
335
338
  NODE: {
@@ -0,0 +1,131 @@
1
+ import { z } from 'zod';
2
+ export declare namespace FetchUsersIpsResultCommand {
3
+ const url: (jobId: string) => string;
4
+ const TSQ_url: string;
5
+ const endpointDetails: import("../../constants").EndpointDetails;
6
+ const RequestSchema: z.ZodObject<{
7
+ jobId: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ jobId: string;
10
+ }, {
11
+ jobId: string;
12
+ }>;
13
+ type Request = z.infer<typeof RequestSchema>;
14
+ const ResponseSchema: z.ZodObject<{
15
+ response: z.ZodObject<{
16
+ isCompleted: z.ZodBoolean;
17
+ isFailed: z.ZodBoolean;
18
+ result: z.ZodNullable<z.ZodObject<{
19
+ success: z.ZodBoolean;
20
+ nodeUuid: z.ZodString;
21
+ users: z.ZodArray<z.ZodObject<{
22
+ userId: z.ZodString;
23
+ ips: z.ZodArray<z.ZodObject<{
24
+ ip: z.ZodString;
25
+ lastSeen: z.ZodEffects<z.ZodString, Date, string>;
26
+ }, "strip", z.ZodTypeAny, {
27
+ ip: string;
28
+ lastSeen: Date;
29
+ }, {
30
+ ip: string;
31
+ lastSeen: string;
32
+ }>, "many">;
33
+ }, "strip", z.ZodTypeAny, {
34
+ userId: string;
35
+ ips: {
36
+ ip: string;
37
+ lastSeen: Date;
38
+ }[];
39
+ }, {
40
+ userId: string;
41
+ ips: {
42
+ ip: string;
43
+ lastSeen: string;
44
+ }[];
45
+ }>, "many">;
46
+ }, "strip", z.ZodTypeAny, {
47
+ users: {
48
+ userId: string;
49
+ ips: {
50
+ ip: string;
51
+ lastSeen: Date;
52
+ }[];
53
+ }[];
54
+ nodeUuid: string;
55
+ success: boolean;
56
+ }, {
57
+ users: {
58
+ userId: string;
59
+ ips: {
60
+ ip: string;
61
+ lastSeen: string;
62
+ }[];
63
+ }[];
64
+ nodeUuid: string;
65
+ success: boolean;
66
+ }>>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ isCompleted: boolean;
69
+ isFailed: boolean;
70
+ result: {
71
+ users: {
72
+ userId: string;
73
+ ips: {
74
+ ip: string;
75
+ lastSeen: Date;
76
+ }[];
77
+ }[];
78
+ nodeUuid: string;
79
+ success: boolean;
80
+ } | null;
81
+ }, {
82
+ isCompleted: boolean;
83
+ isFailed: boolean;
84
+ result: {
85
+ users: {
86
+ userId: string;
87
+ ips: {
88
+ ip: string;
89
+ lastSeen: string;
90
+ }[];
91
+ }[];
92
+ nodeUuid: string;
93
+ success: boolean;
94
+ } | null;
95
+ }>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ response: {
98
+ isCompleted: boolean;
99
+ isFailed: boolean;
100
+ result: {
101
+ users: {
102
+ userId: string;
103
+ ips: {
104
+ ip: string;
105
+ lastSeen: Date;
106
+ }[];
107
+ }[];
108
+ nodeUuid: string;
109
+ success: boolean;
110
+ } | null;
111
+ };
112
+ }, {
113
+ response: {
114
+ isCompleted: boolean;
115
+ isFailed: boolean;
116
+ result: {
117
+ users: {
118
+ userId: string;
119
+ ips: {
120
+ ip: string;
121
+ lastSeen: string;
122
+ }[];
123
+ }[];
124
+ nodeUuid: string;
125
+ success: boolean;
126
+ } | null;
127
+ };
128
+ }>;
129
+ type Response = z.infer<typeof ResponseSchema>;
130
+ }
131
+ //# sourceMappingURL=fetch-users-ips-result.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-users-ips-result.command.d.ts","sourceRoot":"","sources":["../../../../commands/ip-control/fetch-users-ips-result.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,yBAAiB,0BAA0B,CAAC;IACjC,MAAM,GAAG,2BAAiD,CAAC;IAC3D,MAAM,OAAO,QAAgB,CAAC;IAE9B,MAAM,eAAe,2CAI3B,CAAC;IAEK,MAAM,aAAa;;;;;;MAExB,CAAC;IAEH,KAAY,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4BzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchUsersIpsResultCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var FetchUsersIpsResultCommand;
8
+ (function (FetchUsersIpsResultCommand) {
9
+ FetchUsersIpsResultCommand.url = api_1.REST_API.IP_CONTROL.GET_FETCH_USERS_IPS_RESULT;
10
+ FetchUsersIpsResultCommand.TSQ_url = FetchUsersIpsResultCommand.url(':jobId');
11
+ FetchUsersIpsResultCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.IP_CONTROL_ROUTES.GET_FETCH_USERS_IPS_RESULT(':jobId'), 'get', 'Get Users IPs List Result by Job ID');
12
+ FetchUsersIpsResultCommand.RequestSchema = zod_1.z.object({
13
+ jobId: zod_1.z.string(),
14
+ });
15
+ FetchUsersIpsResultCommand.ResponseSchema = zod_1.z.object({
16
+ response: zod_1.z.object({
17
+ isCompleted: zod_1.z.boolean(),
18
+ isFailed: zod_1.z.boolean(),
19
+ result: zod_1.z
20
+ .object({
21
+ success: zod_1.z.boolean(),
22
+ nodeUuid: zod_1.z.string().uuid(),
23
+ users: zod_1.z.array(zod_1.z.object({
24
+ userId: zod_1.z.string(),
25
+ ips: zod_1.z.array(zod_1.z.object({
26
+ ip: zod_1.z.string(),
27
+ lastSeen: zod_1.z
28
+ .string()
29
+ .datetime({
30
+ local: true,
31
+ offset: true,
32
+ })
33
+ .transform((str) => new Date(str)),
34
+ })),
35
+ })),
36
+ })
37
+ .nullable(),
38
+ }),
39
+ });
40
+ })(FetchUsersIpsResultCommand || (exports.FetchUsersIpsResultCommand = FetchUsersIpsResultCommand = {}));
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ export declare namespace FetchUsersIpsCommand {
3
+ const url: (nodeUuid: string) => string;
4
+ const TSQ_url: string;
5
+ const endpointDetails: import("../../constants").EndpointDetails;
6
+ const RequestSchema: z.ZodObject<{
7
+ nodeUuid: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ nodeUuid: string;
10
+ }, {
11
+ nodeUuid: string;
12
+ }>;
13
+ type Request = z.infer<typeof RequestSchema>;
14
+ const ResponseSchema: z.ZodObject<{
15
+ response: z.ZodObject<{
16
+ jobId: z.ZodString;
17
+ }, "strip", z.ZodTypeAny, {
18
+ jobId: string;
19
+ }, {
20
+ jobId: string;
21
+ }>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ response: {
24
+ jobId: string;
25
+ };
26
+ }, {
27
+ response: {
28
+ jobId: string;
29
+ };
30
+ }>;
31
+ type Response = z.infer<typeof ResponseSchema>;
32
+ }
33
+ //# sourceMappingURL=fetch-users-ips.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-users-ips.command.d.ts","sourceRoot":"","sources":["../../../../commands/ip-control/fetch-users-ips.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,yBAAiB,oBAAoB,CAAC;IAC3B,MAAM,GAAG,8BAAsC,CAAC;IAChD,MAAM,OAAO,QAAmB,CAAC;IAEjC,MAAM,eAAe,2CAI3B,CAAC;IAEK,MAAM,aAAa;;;;;;MAExB,CAAC;IAEH,KAAY,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc;;;;;;;;;;;;;;;;MAIzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchUsersIpsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var FetchUsersIpsCommand;
8
+ (function (FetchUsersIpsCommand) {
9
+ FetchUsersIpsCommand.url = api_1.REST_API.IP_CONTROL.FETCH_USERS_IPS;
10
+ FetchUsersIpsCommand.TSQ_url = FetchUsersIpsCommand.url(':nodeUuid');
11
+ FetchUsersIpsCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.IP_CONTROL_ROUTES.FETCH_USERS_IPS(':nodeUuid'), 'post', 'Request Users IPs List for Node');
12
+ FetchUsersIpsCommand.RequestSchema = zod_1.z.object({
13
+ nodeUuid: zod_1.z.string().uuid(),
14
+ });
15
+ FetchUsersIpsCommand.ResponseSchema = zod_1.z.object({
16
+ response: zod_1.z.object({
17
+ jobId: zod_1.z.string(),
18
+ }),
19
+ });
20
+ })(FetchUsersIpsCommand || (exports.FetchUsersIpsCommand = FetchUsersIpsCommand = {}));
@@ -1,4 +1,6 @@
1
1
  export * from './drop-connections.command';
2
2
  export * from './fetch-ips-result.command';
3
3
  export * from './fetch-ips.command';
4
+ export * from './fetch-users-ips-result.command';
5
+ export * from './fetch-users-ips.command';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/ip-control/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/ip-control/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC"}
@@ -17,3 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./drop-connections.command"), exports);
18
18
  __exportStar(require("./fetch-ips-result.command"), exports);
19
19
  __exportStar(require("./fetch-ips.command"), exports);
20
+ __exportStar(require("./fetch-users-ips-result.command"), exports);
21
+ __exportStar(require("./fetch-users-ips.command"), exports);
@@ -8,6 +8,7 @@ export * from './get-by';
8
8
  export * from './get-user-accessible-nodes.command';
9
9
  export * from './get-user-by-uuid.command';
10
10
  export * from './get-user-subscription-request-history.command';
11
+ export * from './resolve-user.command';
11
12
  export * from './tags';
12
13
  export * from './update-user.command';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/users/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAE3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC;AAEzB,cAAc,qCAAqC,CAAC;AAEpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iDAAiD,CAAC;AAEhE,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/users/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAE3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,UAAU,CAAC;AAEzB,cAAc,qCAAqC,CAAC;AAEpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iDAAiD,CAAC;AAEhE,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC"}
@@ -24,5 +24,6 @@ __exportStar(require("./get-by"), exports);
24
24
  __exportStar(require("./get-user-accessible-nodes.command"), exports);
25
25
  __exportStar(require("./get-user-by-uuid.command"), exports);
26
26
  __exportStar(require("./get-user-subscription-request-history.command"), exports);
27
+ __exportStar(require("./resolve-user.command"), exports);
27
28
  __exportStar(require("./tags"), exports);
28
29
  __exportStar(require("./update-user.command"), exports);
@@ -0,0 +1,87 @@
1
+ import { z } from 'zod';
2
+ export declare namespace ResolveUserCommand {
3
+ const url: "/api/users/resolve";
4
+ const TSQ_url: "/api/users/resolve";
5
+ const endpointDetails: import("../../constants").EndpointDetails;
6
+ const RequestSchema: z.ZodEffects<z.ZodObject<{
7
+ uuid: z.ZodOptional<z.ZodString>;
8
+ id: z.ZodOptional<z.ZodNumber>;
9
+ shortUuid: z.ZodOptional<z.ZodString>;
10
+ username: z.ZodOptional<z.ZodString>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ uuid?: string | undefined;
13
+ username?: string | undefined;
14
+ id?: number | undefined;
15
+ shortUuid?: string | undefined;
16
+ }, {
17
+ uuid?: string | undefined;
18
+ username?: string | undefined;
19
+ id?: number | undefined;
20
+ shortUuid?: string | undefined;
21
+ }>, {
22
+ uuid?: string | undefined;
23
+ username?: string | undefined;
24
+ id?: number | undefined;
25
+ shortUuid?: string | undefined;
26
+ }, {
27
+ uuid?: string | undefined;
28
+ username?: string | undefined;
29
+ id?: number | undefined;
30
+ shortUuid?: string | undefined;
31
+ }>;
32
+ type Request = z.infer<typeof RequestSchema>;
33
+ const ResponseSchema: z.ZodObject<{
34
+ response: z.ZodObject<{
35
+ user: z.ZodObject<{
36
+ uuid: z.ZodString;
37
+ username: z.ZodString;
38
+ id: z.ZodNumber;
39
+ shortUuid: z.ZodString;
40
+ }, "strip", z.ZodTypeAny, {
41
+ uuid: string;
42
+ username: string;
43
+ id: number;
44
+ shortUuid: string;
45
+ }, {
46
+ uuid: string;
47
+ username: string;
48
+ id: number;
49
+ shortUuid: string;
50
+ }>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ user: {
53
+ uuid: string;
54
+ username: string;
55
+ id: number;
56
+ shortUuid: string;
57
+ };
58
+ }, {
59
+ user: {
60
+ uuid: string;
61
+ username: string;
62
+ id: number;
63
+ shortUuid: string;
64
+ };
65
+ }>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ response: {
68
+ user: {
69
+ uuid: string;
70
+ username: string;
71
+ id: number;
72
+ shortUuid: string;
73
+ };
74
+ };
75
+ }, {
76
+ response: {
77
+ user: {
78
+ uuid: string;
79
+ username: string;
80
+ id: number;
81
+ shortUuid: string;
82
+ };
83
+ };
84
+ }>;
85
+ type Response = z.infer<typeof ResponseSchema>;
86
+ }
87
+ //# sourceMappingURL=resolve-user.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-user.command.d.ts","sourceRoot":"","sources":["../../../../commands/users/resolve-user.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,yBAAiB,kBAAkB,CAAC;IACzB,MAAM,GAAG,sBAAyB,CAAC;IACnC,MAAM,OAAO,sBAAM,CAAC;IAEpB,MAAM,eAAe,2CAI3B,CAAC;IAEK,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;MAiBrB,CAAC;IAEN,KAAY,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;IAE7C,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MASzB,CAAC;IAEH,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResolveUserCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
6
+ const api_1 = require("../../api");
7
+ var ResolveUserCommand;
8
+ (function (ResolveUserCommand) {
9
+ ResolveUserCommand.url = api_1.REST_API.USERS.RESOLVE;
10
+ ResolveUserCommand.TSQ_url = ResolveUserCommand.url;
11
+ ResolveUserCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.USERS_ROUTES.RESOLVE, 'post', 'Resolve a user');
12
+ ResolveUserCommand.RequestSchema = zod_1.z
13
+ .object({
14
+ uuid: zod_1.z.string().uuid().optional(),
15
+ id: zod_1.z.number().optional(),
16
+ shortUuid: zod_1.z.string().optional(),
17
+ username: zod_1.z.string().optional(),
18
+ })
19
+ .refine((data) => {
20
+ const provided = [data.uuid, data.id, data.shortUuid, data.username].filter((v) => v !== undefined);
21
+ return provided.length === 1;
22
+ }, {
23
+ message: 'Exactly one of uuid, id, shortUuid, or username must be provided',
24
+ });
25
+ ResolveUserCommand.ResponseSchema = zod_1.z.object({
26
+ response: zod_1.z.object({
27
+ user: zod_1.z.object({
28
+ uuid: zod_1.z.string().uuid(),
29
+ username: zod_1.z.string(),
30
+ id: zod_1.z.number(),
31
+ shortUuid: zod_1.z.string(),
32
+ }),
33
+ }),
34
+ });
35
+ })(ResolveUserCommand || (exports.ResolveUserCommand = ResolveUserCommand = {}));
@@ -9,4 +9,8 @@ exports.IP_CONTROL_ROUTES = {
9
9
  GET_FETCH_IPS_RESULT: (jobId) => `fetch-ips/result/${jobId}`,
10
10
  // POST /ip-control/drop-connections
11
11
  DROP_CONNECTIONS: 'drop-connections',
12
+ // POST /ip-control/fetch-users-ips/:nodeUuid
13
+ FETCH_USERS_IPS: (nodeUuid) => `fetch-users-ips/${nodeUuid}`,
14
+ // GET /ip-control/fetch-users-ips/result/:jobId
15
+ GET_FETCH_USERS_IPS_RESULT: (jobId) => `fetch-users-ips/result/${jobId}`,
12
16
  };
@@ -43,4 +43,5 @@ exports.USERS_ROUTES = {
43
43
  TAGS: {
44
44
  GET: 'tags',
45
45
  },
46
+ RESOLVE: 'resolve',
46
47
  };
@@ -115,6 +115,7 @@ exports.REST_API = {
115
115
  EMAIL: (email) => `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.GET_BY.EMAIL(email)}`,
116
116
  TAG: (tag) => `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.GET_BY.TAG(tag)}`,
117
117
  },
118
+ RESOLVE: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.RESOLVE}`,
118
119
  BULK: {
119
120
  DELETE_BY_STATUS: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.BULK.DELETE_BY_STATUS}`,
120
121
  UPDATE: `${exports.ROOT}/${CONTROLLERS.USERS_CONTROLLER}/${CONTROLLERS.USERS_ROUTES.BULK.UPDATE}`,
@@ -330,6 +331,8 @@ exports.REST_API = {
330
331
  FETCH_IPS: (uuid) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.FETCH_IPS(uuid)}`,
331
332
  GET_FETCH_IPS_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.GET_FETCH_IPS_RESULT(jobId)}`,
332
333
  DROP_CONNECTIONS: `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.DROP_CONNECTIONS}`,
334
+ FETCH_USERS_IPS: (nodeUuid) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.FETCH_USERS_IPS(nodeUuid)}`,
335
+ GET_FETCH_USERS_IPS_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.IP_CONTROL_CONTROLLER}/${CONTROLLERS.IP_CONTROL_ROUTES.GET_FETCH_USERS_IPS_RESULT(jobId)}`,
333
336
  },
334
337
  METADATA: {
335
338
  NODE: {
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchUsersIpsResultCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var FetchUsersIpsResultCommand;
8
+ (function (FetchUsersIpsResultCommand) {
9
+ FetchUsersIpsResultCommand.url = api_1.REST_API.IP_CONTROL.GET_FETCH_USERS_IPS_RESULT;
10
+ FetchUsersIpsResultCommand.TSQ_url = FetchUsersIpsResultCommand.url(':jobId');
11
+ FetchUsersIpsResultCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.IP_CONTROL_ROUTES.GET_FETCH_USERS_IPS_RESULT(':jobId'), 'get', 'Get Users IPs List Result by Job ID');
12
+ FetchUsersIpsResultCommand.RequestSchema = zod_1.z.object({
13
+ jobId: zod_1.z.string(),
14
+ });
15
+ FetchUsersIpsResultCommand.ResponseSchema = zod_1.z.object({
16
+ response: zod_1.z.object({
17
+ isCompleted: zod_1.z.boolean(),
18
+ isFailed: zod_1.z.boolean(),
19
+ result: zod_1.z
20
+ .object({
21
+ success: zod_1.z.boolean(),
22
+ nodeUuid: zod_1.z.string().uuid(),
23
+ users: zod_1.z.array(zod_1.z.object({
24
+ userId: zod_1.z.string(),
25
+ ips: zod_1.z.array(zod_1.z.object({
26
+ ip: zod_1.z.string(),
27
+ lastSeen: zod_1.z
28
+ .string()
29
+ .datetime({
30
+ local: true,
31
+ offset: true,
32
+ })
33
+ .transform((str) => new Date(str)),
34
+ })),
35
+ })),
36
+ })
37
+ .nullable(),
38
+ }),
39
+ });
40
+ })(FetchUsersIpsResultCommand || (exports.FetchUsersIpsResultCommand = FetchUsersIpsResultCommand = {}));
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FetchUsersIpsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var FetchUsersIpsCommand;
8
+ (function (FetchUsersIpsCommand) {
9
+ FetchUsersIpsCommand.url = api_1.REST_API.IP_CONTROL.FETCH_USERS_IPS;
10
+ FetchUsersIpsCommand.TSQ_url = FetchUsersIpsCommand.url(':nodeUuid');
11
+ FetchUsersIpsCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.IP_CONTROL_ROUTES.FETCH_USERS_IPS(':nodeUuid'), 'post', 'Request Users IPs List for Node');
12
+ FetchUsersIpsCommand.RequestSchema = zod_1.z.object({
13
+ nodeUuid: zod_1.z.string().uuid(),
14
+ });
15
+ FetchUsersIpsCommand.ResponseSchema = zod_1.z.object({
16
+ response: zod_1.z.object({
17
+ jobId: zod_1.z.string(),
18
+ }),
19
+ });
20
+ })(FetchUsersIpsCommand || (exports.FetchUsersIpsCommand = FetchUsersIpsCommand = {}));
@@ -17,3 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./drop-connections.command"), exports);
18
18
  __exportStar(require("./fetch-ips-result.command"), exports);
19
19
  __exportStar(require("./fetch-ips.command"), exports);
20
+ __exportStar(require("./fetch-users-ips-result.command"), exports);
21
+ __exportStar(require("./fetch-users-ips.command"), exports);
@@ -24,5 +24,6 @@ __exportStar(require("./get-by"), exports);
24
24
  __exportStar(require("./get-user-accessible-nodes.command"), exports);
25
25
  __exportStar(require("./get-user-by-uuid.command"), exports);
26
26
  __exportStar(require("./get-user-subscription-request-history.command"), exports);
27
+ __exportStar(require("./resolve-user.command"), exports);
27
28
  __exportStar(require("./tags"), exports);
28
29
  __exportStar(require("./update-user.command"), exports);
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResolveUserCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const constants_1 = require("../../constants");
6
+ const api_1 = require("../../api");
7
+ var ResolveUserCommand;
8
+ (function (ResolveUserCommand) {
9
+ ResolveUserCommand.url = api_1.REST_API.USERS.RESOLVE;
10
+ ResolveUserCommand.TSQ_url = ResolveUserCommand.url;
11
+ ResolveUserCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.USERS_ROUTES.RESOLVE, 'post', 'Resolve a user');
12
+ ResolveUserCommand.RequestSchema = zod_1.z
13
+ .object({
14
+ uuid: zod_1.z.string().uuid().optional(),
15
+ id: zod_1.z.number().optional(),
16
+ shortUuid: zod_1.z.string().optional(),
17
+ username: zod_1.z.string().optional(),
18
+ })
19
+ .refine((data) => {
20
+ const provided = [data.uuid, data.id, data.shortUuid, data.username].filter((v) => v !== undefined);
21
+ return provided.length === 1;
22
+ }, {
23
+ message: 'Exactly one of uuid, id, shortUuid, or username must be provided',
24
+ });
25
+ ResolveUserCommand.ResponseSchema = zod_1.z.object({
26
+ response: zod_1.z.object({
27
+ user: zod_1.z.object({
28
+ uuid: zod_1.z.string().uuid(),
29
+ username: zod_1.z.string(),
30
+ id: zod_1.z.number(),
31
+ shortUuid: zod_1.z.string(),
32
+ }),
33
+ }),
34
+ });
35
+ })(ResolveUserCommand || (exports.ResolveUserCommand = ResolveUserCommand = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/backend-contract",
3
- "version": "2.6.39",
3
+ "version": "2.6.41",
4
4
  "public": true,
5
5
  "license": "AGPL-3.0-only",
6
6
  "description": "A contract library for Remnawave Backend. It can be used in backend and frontend.",