@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 +1 -0
- package/build/api/routes.js +1 -0
- package/build/commands/hosts/index.js +2 -0
- package/build/commands/hosts/reorder.command.js +21 -0
- package/build/commands/hosts/update.command.js +51 -0
- package/build/constants/errors/errors.js +10 -0
- package/commands/hosts/index.ts +2 -0
- package/commands/hosts/reorder.command.ts +25 -0
- package/commands/hosts/update.command.ts +53 -0
- package/constants/errors/errors.ts +10 -0
- package/package.json +1 -1
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
|
},
|
package/build/api/routes.js
CHANGED
@@ -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
|
};
|
package/commands/hosts/index.ts
CHANGED
@@ -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;
|