@remnawave/backend-contract 0.0.16 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
package/api/routes.ts CHANGED
@@ -68,6 +68,7 @@ export const REST_API = {
68
68
  GET_ALL: `${ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.GET_ALL}`,
69
69
  UPDATE: `${ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.UPDATE}`,
70
70
  UPDATE_MANY: `${ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.UPDATE_MANY}`,
71
+ REORDER: `${ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.REORDER}`,
71
72
  DELETE: (uuid: string) =>
72
73
  `${ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.DELETE}/${uuid}`,
73
74
  },
@@ -87,6 +87,7 @@ exports.REST_API = {
87
87
  GET_ALL: `${exports.ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.GET_ALL}`,
88
88
  UPDATE: `${exports.ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.UPDATE}`,
89
89
  UPDATE_MANY: `${exports.ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.UPDATE_MANY}`,
90
+ REORDER: `${exports.ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.REORDER}`,
90
91
  DELETE: (uuid) => `${exports.ROOT}/${CONTROLLERS.HOSTS_CONTROLLER}/${CONTROLLERS.HOSTS_ROUTES.DELETE}/${uuid}`,
91
92
  },
92
93
  SYSTEM: {
@@ -17,3 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./create.command"), exports);
18
18
  __exportStar(require("./delete.command"), exports);
19
19
  __exportStar(require("./get-all.command"), exports);
20
+ __exportStar(require("./reorder.command"), exports);
21
+ __exportStar(require("./update.command"), exports);
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReorderHostCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const models_1 = require("../../models");
7
+ var ReorderHostCommand;
8
+ (function (ReorderHostCommand) {
9
+ ReorderHostCommand.url = api_1.REST_API.HOSTS.REORDER;
10
+ ReorderHostCommand.RequestSchema = zod_1.z.object({
11
+ hosts: zod_1.z.array(models_1.HostsSchema.pick({
12
+ viewPosition: true,
13
+ uuid: true,
14
+ })),
15
+ });
16
+ ReorderHostCommand.ResponseSchema = zod_1.z.object({
17
+ response: zod_1.z.object({
18
+ isUpdated: zod_1.z.boolean(),
19
+ }),
20
+ });
21
+ })(ReorderHostCommand || (exports.ReorderHostCommand = ReorderHostCommand = {}));
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateHostCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const alpn_1 = require("../../constants/hosts/alpn");
7
+ const fingerprints_1 = require("../../constants/hosts/fingerprints");
8
+ const models_1 = require("../../models");
9
+ var UpdateHostCommand;
10
+ (function (UpdateHostCommand) {
11
+ UpdateHostCommand.url = api_1.REST_API.HOSTS.UPDATE;
12
+ UpdateHostCommand.RequestSchema = models_1.HostsSchema.pick({
13
+ uuid: true,
14
+ }).extend({
15
+ inboundUuid: zod_1.z
16
+ .string({
17
+ invalid_type_error: 'Inbound UUID must be a string',
18
+ })
19
+ .uuid('Inbound UUID must be a valid UUID')
20
+ .optional(),
21
+ remark: zod_1.z
22
+ .string({
23
+ invalid_type_error: 'Remark must be a string',
24
+ })
25
+ .max(40, {
26
+ message: 'Remark must be less than 40 characters',
27
+ })
28
+ .optional(),
29
+ address: zod_1.z
30
+ .string({
31
+ invalid_type_error: 'Address must be a string',
32
+ })
33
+ .optional(),
34
+ port: zod_1.z
35
+ .number({
36
+ invalid_type_error: 'Port must be an integer',
37
+ })
38
+ .int()
39
+ .optional(),
40
+ path: zod_1.z.string().optional(),
41
+ sni: zod_1.z.string().optional(),
42
+ host: zod_1.z.string().optional(),
43
+ alpn: zod_1.z.nativeEnum(alpn_1.ALPN).optional(),
44
+ fingerprint: zod_1.z.nativeEnum(fingerprints_1.FINGERPRINTS).optional(),
45
+ allowInsecure: zod_1.z.boolean().optional(),
46
+ isDisabled: zod_1.z.boolean().optional(),
47
+ });
48
+ UpdateHostCommand.ResponseSchema = zod_1.z.object({
49
+ response: models_1.HostsSchema,
50
+ });
51
+ })(UpdateHostCommand || (exports.UpdateHostCommand = UpdateHostCommand = {}));
@@ -248,4 +248,14 @@ exports.ERRORS = {
248
248
  message: 'Get all hosts error',
249
249
  httpCode: 500,
250
250
  },
251
+ REORDER_HOSTS_ERROR: {
252
+ code: 'A051',
253
+ message: 'Reorder hosts error',
254
+ httpCode: 500,
255
+ },
256
+ UPDATE_HOST_ERROR: {
257
+ code: 'A052',
258
+ message: 'Update host error',
259
+ httpCode: 500,
260
+ },
251
261
  };
@@ -1,3 +1,5 @@
1
1
  export * from './create.command';
2
2
  export * from './delete.command';
3
3
  export * from './get-all.command';
4
+ export * from './reorder.command';
5
+ export * from './update.command';
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { REST_API } from '../../api';
3
+ import { HostsSchema } from '../../models';
4
+
5
+ export namespace ReorderHostCommand {
6
+ export const url = REST_API.HOSTS.REORDER;
7
+
8
+ export const RequestSchema = z.object({
9
+ hosts: z.array(
10
+ HostsSchema.pick({
11
+ viewPosition: true,
12
+ uuid: true,
13
+ }),
14
+ ),
15
+ });
16
+ export type Request = z.infer<typeof RequestSchema>;
17
+
18
+ export const ResponseSchema = z.object({
19
+ response: z.object({
20
+ isUpdated: z.boolean(),
21
+ }),
22
+ });
23
+
24
+ export type Response = z.infer<typeof ResponseSchema>;
25
+ }
@@ -0,0 +1,53 @@
1
+ import { z } from 'zod';
2
+ import { REST_API } from '../../api';
3
+ import { ALPN } from '../../constants/hosts/alpn';
4
+ import { FINGERPRINTS } from '../../constants/hosts/fingerprints';
5
+ import { HostsSchema } from '../../models';
6
+
7
+ export namespace UpdateHostCommand {
8
+ export const url = REST_API.HOSTS.UPDATE;
9
+
10
+ export const RequestSchema = HostsSchema.pick({
11
+ uuid: true,
12
+ }).extend({
13
+ inboundUuid: z
14
+ .string({
15
+ invalid_type_error: 'Inbound UUID must be a string',
16
+ })
17
+ .uuid('Inbound UUID must be a valid UUID')
18
+ .optional(),
19
+ remark: z
20
+ .string({
21
+ invalid_type_error: 'Remark must be a string',
22
+ })
23
+ .max(40, {
24
+ message: 'Remark must be less than 40 characters',
25
+ })
26
+ .optional(),
27
+ address: z
28
+ .string({
29
+ invalid_type_error: 'Address must be a string',
30
+ })
31
+ .optional(),
32
+ port: z
33
+ .number({
34
+ invalid_type_error: 'Port must be an integer',
35
+ })
36
+ .int()
37
+ .optional(),
38
+ path: z.string().optional(),
39
+ sni: z.string().optional(),
40
+ host: z.string().optional(),
41
+ alpn: z.nativeEnum(ALPN).optional(),
42
+ fingerprint: z.nativeEnum(FINGERPRINTS).optional(),
43
+ allowInsecure: z.boolean().optional(),
44
+ isDisabled: z.boolean().optional(),
45
+ });
46
+ export type Request = z.infer<typeof RequestSchema>;
47
+
48
+ export const ResponseSchema = z.object({
49
+ response: HostsSchema,
50
+ });
51
+
52
+ export type Response = z.infer<typeof ResponseSchema>;
53
+ }
@@ -245,4 +245,14 @@ export const ERRORS = {
245
245
  message: 'Get all hosts error',
246
246
  httpCode: 500,
247
247
  },
248
+ REORDER_HOSTS_ERROR: {
249
+ code: 'A051',
250
+ message: 'Reorder hosts error',
251
+ httpCode: 500,
252
+ },
253
+ UPDATE_HOST_ERROR: {
254
+ code: 'A052',
255
+ message: 'Update host error',
256
+ httpCode: 500,
257
+ },
248
258
  } as const;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/backend-contract",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "description": "A contract library for Remnawave",
5
5
  "main": "index.js",
6
6
  "scripts": {