@remnawave/backend-contract 3.4.0 → 3.4.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.
@@ -4,6 +4,8 @@ export declare const CONNECTIONS_ROUTES: {
4
4
  readonly CONNECTIONS_BY_USER_RESULT: (jobId: string) => string;
5
5
  readonly CONNECTIONS_BY_NODE: (uuid: string) => string;
6
6
  readonly CONNECTIONS_BY_NODE_RESULT: (jobId: string) => string;
7
+ readonly GEOCHECK_BY_NODE: (uuid: string) => string;
8
+ readonly GEOCHECK_BY_NODE_RESULT: (jobId: string) => string;
7
9
  readonly DROP_CONNECTIONS: "drop";
8
10
  };
9
11
  //# sourceMappingURL=connections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../../../api/controllers/connections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,EAAG,aAAsB,CAAC;AAE7D,eAAO,MAAM,kBAAkB;2CAEG,MAAM;iDAEA,MAAM;yCAGd,MAAM;iDAEE,MAAM;;CAIpC,CAAC"}
1
+ {"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../../../api/controllers/connections.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,EAAG,aAAsB,CAAC;AAE7D,eAAO,MAAM,kBAAkB;2CAEG,MAAM;iDAEA,MAAM;yCAGd,MAAM;iDAEE,MAAM;sCAGjB,MAAM;8CAEE,MAAM;;CAIjC,CAAC"}
@@ -12,5 +12,9 @@ exports.CONNECTIONS_ROUTES = {
12
12
  // GET
13
13
  CONNECTIONS_BY_NODE_RESULT: (jobId) => `by-node/${jobId}`,
14
14
  // POST
15
+ GEOCHECK_BY_NODE: (uuid) => `geocheck/${uuid}`,
16
+ // GET
17
+ GEOCHECK_BY_NODE_RESULT: (jobId) => `geocheck/${jobId}`,
18
+ // POST
15
19
  DROP_CONNECTIONS: 'drop',
16
20
  };
@@ -320,6 +320,8 @@ export declare const REST_API: {
320
320
  readonly CONNECTIONS_BY_USER_RESULT: (jobId: string) => string;
321
321
  readonly CONNECTIONS_BY_NODE: (uuid: string) => string;
322
322
  readonly CONNECTIONS_BY_NODE_RESULT: (jobId: string) => string;
323
+ readonly GEOCHECK_BY_NODE: (uuid: string) => string;
324
+ readonly GEOCHECK_BY_NODE_RESULT: (jobId: string) => string;
323
325
  readonly DROP_CONNECTIONS: "/api/connections/drop";
324
326
  };
325
327
  readonly METADATA: {
@@ -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;AAE9C,eAAO,MAAM,kBAAkB,EAAG,gBAAyB,CAAC;AAC5D,eAAO,MAAM,cAAc,EAAG,uBAAgC,CAAC;AAC/D,eAAO,MAAM,YAAY,EAAG,wBAAiC,CAAC;AAC9D,eAAO,MAAM,WAAW,EAAG,uBAAgC,CAAC;AAE5D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;gCAyBE,MAAM;;;;;;;;;;;qCAcD,MAAM;;gCAGX,MAAM;;;;;oCAOF,MAAM;qCAIL,MAAM;qCAIN,MAAM;;2CAKA,MAAM;;;;;;;;;;;;;;kCAkBf,MAAM;qCAGH,MAAM;4CAEC,MAAM;wDAEM,MAAM;;uCAMvB,MAAM;sCAIP,MAAM;6CAIC,MAAM;mDAIA,MAAM;sDAIH,MAAM;;;6CAMf,MAAM;0CAIT,MAAM;;;;;;;;;;;;;;;;;;;;;;kCAyBd,MAAM;uCAED,MAAM;;;;;;qCASR,MAAM;gCAEX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAsCT,MAAM;;gCAKH,MAAM;;;;;;;;;;;;;;iDAiBW,MAAM;;;;;;;;;0CAYb,MAAM;6CAIH,MAAM;iDAIF,MAAM;kCAIrB,MAAM;;;6CAMK,MAAM;;0DAKO,MAAM;;;;;;qCAS3B,MAAM;gCAIX,MAAM;sDAIgB,MAAM;6DAIC,MAAM;;;;;;;;;;qCAa9B,MAAM;gCAIX,MAAM;0CAII,MAAM;;uCAKT,MAAM;0CAEH,MAAM;4CAEJ,MAAM;+CAEH,MAAM;;;;;;;;;;yCAWZ,MAAM;8CAED,MAAM;;;;6CAMP,MAAM;;;gDAKH,MAAM;;;;;;;;;;;;;;;;;;;qCAqBjB,MAAM;gCAIX,MAAM;;uCAKC,MAAM;0CAEH,MAAM;;;;;;;;;;;6BAYnB,MAAM;;;gCAIH,MAAM;;;;;;;;6BAST,MAAM;;;gCAIH,MAAM;;;;6BAKT,MAAM;;;gCAIH,MAAM;;;;;;;;;;iCAWL,MAAM;;;oCAIH,MAAM;;;;;;;;;;;;;;;uCAiBH,MAAM;;;;;yCAMJ,MAAM;;;uCAIR,MAAM;6CAEA,MAAM,UAAU,MAAM;;;;+CAKpB,MAAM;qDAEA,MAAM;6CAEd,MAAM;qDAEE,MAAM;;;;;iCAM1B,MAAM;oCAEH,MAAM;;;mCAIP,MAAM;sCAEH,MAAM;;;CAIzB,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;AAE9C,eAAO,MAAM,kBAAkB,EAAG,gBAAyB,CAAC;AAC5D,eAAO,MAAM,cAAc,EAAG,uBAAgC,CAAC;AAC/D,eAAO,MAAM,YAAY,EAAG,wBAAiC,CAAC;AAC9D,eAAO,MAAM,WAAW,EAAG,uBAAgC,CAAC;AAE5D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;gCAyBE,MAAM;;;;;;;;;;;qCAcD,MAAM;;gCAGX,MAAM;;;;;oCAOF,MAAM;qCAIL,MAAM;qCAIN,MAAM;;2CAKA,MAAM;;;;;;;;;;;;;;kCAkBf,MAAM;qCAGH,MAAM;4CAEC,MAAM;wDAEM,MAAM;;uCAMvB,MAAM;sCAIP,MAAM;6CAIC,MAAM;mDAIA,MAAM;sDAIH,MAAM;;;6CAMf,MAAM;0CAIT,MAAM;;;;;;;;;;;;;;;;;;;;;;kCAyBd,MAAM;uCAED,MAAM;;;;;;qCASR,MAAM;gCAEX,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAsCT,MAAM;;gCAKH,MAAM;;;;;;;;;;;;;;iDAiBW,MAAM;;;;;;;;;0CAYb,MAAM;6CAIH,MAAM;iDAIF,MAAM;kCAIrB,MAAM;;;6CAMK,MAAM;;0DAKO,MAAM;;;;;;qCAS3B,MAAM;gCAIX,MAAM;sDAIgB,MAAM;6DAIC,MAAM;;;;;;;;;;qCAa9B,MAAM;gCAIX,MAAM;0CAII,MAAM;;uCAKT,MAAM;0CAEH,MAAM;4CAEJ,MAAM;+CAEH,MAAM;;;;;;;;;;yCAWZ,MAAM;8CAED,MAAM;;;;6CAMP,MAAM;;;gDAKH,MAAM;;;;;;;;;;;;;;;;;;;qCAqBjB,MAAM;gCAIX,MAAM;;uCAKC,MAAM;0CAEH,MAAM;;;;;;;;;;;6BAYnB,MAAM;;;gCAIH,MAAM;;;;;;;;6BAST,MAAM;;;gCAIH,MAAM;;;;6BAKT,MAAM;;;gCAIH,MAAM;;;;;;;;;;iCAWL,MAAM;;;oCAIH,MAAM;;;;;;;;;;;;;;;uCAiBH,MAAM;;;;;yCAMJ,MAAM;;;uCAIR,MAAM;6CAEA,MAAM,UAAU,MAAM;;;;+CAKpB,MAAM;qDAEA,MAAM;6CAEd,MAAM;qDAEE,MAAM;0CAEjB,MAAM;kDAEE,MAAM;;;;;iCAMvB,MAAM;oCAEH,MAAM;;;mCAIP,MAAM;sCAEH,MAAM;;;CAIzB,CAAC"}
@@ -357,6 +357,8 @@ exports.REST_API = {
357
357
  CONNECTIONS_BY_USER_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.CONNECTIONS_BY_USER_RESULT(jobId)}`,
358
358
  CONNECTIONS_BY_NODE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.CONNECTIONS_BY_NODE(uuid)}`,
359
359
  CONNECTIONS_BY_NODE_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.CONNECTIONS_BY_NODE_RESULT(jobId)}`,
360
+ GEOCHECK_BY_NODE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE(uuid)}`,
361
+ GEOCHECK_BY_NODE_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE_RESULT(jobId)}`,
360
362
  DROP_CONNECTIONS: `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.DROP_CONNECTIONS}`,
361
363
  },
362
364
  METADATA: {
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ export declare namespace GeocheckByNodeResultCommand {
3
+ const url: (jobId: string) => string;
4
+ const TSQ_url: string;
5
+ const endpointDetails: import("../../constants").EndpointDetails;
6
+ const RequestParamSchema: z.ZodObject<{
7
+ jobId: z.ZodString;
8
+ }, z.core.$strip>;
9
+ const GeocheckImageSchema: z.ZodObject<{
10
+ format: z.ZodLiteral<"svg">;
11
+ media_type: z.ZodLiteral<"image/svg+xml">;
12
+ encoding: z.ZodLiteral<"base64">;
13
+ data: z.ZodString;
14
+ }, z.core.$strip>;
15
+ const ResponseSchema: z.ZodObject<{
16
+ response: z.ZodObject<{
17
+ isCompleted: z.ZodBoolean;
18
+ isFailed: z.ZodBoolean;
19
+ result: z.ZodNullable<z.ZodObject<{
20
+ success: z.ZodBoolean;
21
+ nodeUuid: z.ZodUUID;
22
+ image: z.ZodNullable<z.ZodObject<{
23
+ format: z.ZodLiteral<"svg">;
24
+ media_type: z.ZodLiteral<"image/svg+xml">;
25
+ encoding: z.ZodLiteral<"base64">;
26
+ data: z.ZodString;
27
+ }, z.core.$strip>>;
28
+ rawReport: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ message: z.ZodNullable<z.ZodString>;
30
+ }, z.core.$strip>>;
31
+ }, z.core.$strip>;
32
+ }, z.core.$strip>;
33
+ type GeocheckImage = z.infer<typeof GeocheckImageSchema>;
34
+ type RequestParam = z.infer<typeof RequestParamSchema>;
35
+ type Response = z.infer<typeof ResponseSchema>;
36
+ }
37
+ //# sourceMappingURL=geocheck-by-node-result.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geocheck-by-node-result.command.d.ts","sourceRoot":"","sources":["../../../../commands/connections/geocheck-by-node-result.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,yBAAiB,2BAA2B,CAAC;IAClC,MAAM,GAAG,2BAA+C,CAAC;IACzD,MAAM,OAAO,QAAgB,CAAC;IAE9B,MAAM,eAAe,2CAK3B,CAAC;IAEK,MAAM,kBAAkB;;qBAE7B,CAAC;IAEI,MAAM,mBAAmB;;;;;qBAK9B,CAAC;IAEI,MAAM,cAAc;;;;;;;;;;;;;;;;;qBAiBzB,CAAC;IAEH,KAAY,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAChE,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC9D,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeocheckByNodeResultCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var GeocheckByNodeResultCommand;
8
+ (function (GeocheckByNodeResultCommand) {
9
+ GeocheckByNodeResultCommand.url = api_1.REST_API.CONNECTIONS.GEOCHECK_BY_NODE_RESULT;
10
+ GeocheckByNodeResultCommand.TSQ_url = GeocheckByNodeResultCommand.url(':jobId');
11
+ GeocheckByNodeResultCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE_RESULT(':jobId'), 'get', 'Get Geocheck for Node by Job ID', { scope: 'geocheck-result', kind: 'read' });
12
+ GeocheckByNodeResultCommand.RequestParamSchema = zod_1.z.object({
13
+ jobId: zod_1.z.string(),
14
+ });
15
+ GeocheckByNodeResultCommand.GeocheckImageSchema = zod_1.z.object({
16
+ format: zod_1.z.literal('svg'),
17
+ media_type: zod_1.z.literal('image/svg+xml'),
18
+ encoding: zod_1.z.literal('base64'),
19
+ data: zod_1.z.string().describe('Base64-encoded image, ready for a data: URL'),
20
+ });
21
+ GeocheckByNodeResultCommand.ResponseSchema = zod_1.z.object({
22
+ response: zod_1.z.object({
23
+ isCompleted: zod_1.z.boolean(),
24
+ isFailed: zod_1.z.boolean(),
25
+ result: zod_1.z
26
+ .object({
27
+ success: zod_1.z.boolean(),
28
+ nodeUuid: zod_1.z.uuid(),
29
+ image: GeocheckByNodeResultCommand.GeocheckImageSchema.nullable(),
30
+ rawReport: zod_1.z
31
+ .record(zod_1.z.string(), zod_1.z.unknown())
32
+ .nullable()
33
+ .describe('The full node report with the image object stripped out'),
34
+ message: zod_1.z.string().nullable(),
35
+ })
36
+ .nullable(),
37
+ }),
38
+ });
39
+ })(GeocheckByNodeResultCommand || (exports.GeocheckByNodeResultCommand = GeocheckByNodeResultCommand = {}));
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ export declare namespace GeocheckByNodeCommand {
3
+ const url: (uuid: string) => string;
4
+ const TSQ_url: string;
5
+ const endpointDetails: import("../../constants").EndpointDetails;
6
+ const RequestParamSchema: z.ZodObject<{
7
+ nodeUuid: z.ZodUUID;
8
+ }, z.core.$strip>;
9
+ const RequestBodySchema: z.ZodObject<{
10
+ ip: z.ZodOptional<z.ZodString>;
11
+ interface: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ const ResponseSchema: z.ZodObject<{
14
+ response: z.ZodObject<{
15
+ jobId: z.ZodString;
16
+ }, z.core.$strip>;
17
+ }, z.core.$strip>;
18
+ type RequestBody = z.infer<typeof RequestBodySchema>;
19
+ type RequestParam = z.infer<typeof RequestParamSchema>;
20
+ type Response = z.infer<typeof ResponseSchema>;
21
+ }
22
+ //# sourceMappingURL=geocheck-by-node.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geocheck-by-node.command.d.ts","sourceRoot":"","sources":["../../../../commands/connections/geocheck-by-node.command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,yBAAiB,qBAAqB,CAAC;IAC5B,MAAM,GAAG,0BAAwC,CAAC;IAClD,MAAM,OAAO,QAAmB,CAAC;IAEjC,MAAM,eAAe,2CAM3B,CAAC;IAEK,MAAM,kBAAkB;;qBAE7B,CAAC;IAEI,MAAM,iBAAiB;;;qBAQxB,CAAC;IAEA,MAAM,cAAc;;;;qBAIzB,CAAC;IAEH,KAAY,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC5D,KAAY,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC9D,KAAY,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;CACzD"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeocheckByNodeCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var GeocheckByNodeCommand;
8
+ (function (GeocheckByNodeCommand) {
9
+ GeocheckByNodeCommand.url = api_1.REST_API.CONNECTIONS.GEOCHECK_BY_NODE;
10
+ GeocheckByNodeCommand.TSQ_url = GeocheckByNodeCommand.url(':nodeUuid');
11
+ GeocheckByNodeCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE(':nodeUuid'), 'post', 'Request Geocheck for Node', { scope: 'geocheck', kind: 'read' }, 'Queues a geocheck on the node and returns a job ID. Poll "Get Geocheck for Node by Job ID" for the result, the node may take up to a minute to answer.');
12
+ GeocheckByNodeCommand.RequestParamSchema = zod_1.z.object({
13
+ nodeUuid: zod_1.z.uuid().describe('Node UUID'),
14
+ });
15
+ GeocheckByNodeCommand.RequestBodySchema = zod_1.z
16
+ .object({
17
+ ip: zod_1.z.string().optional().describe('Check from this IP address'),
18
+ interface: zod_1.z.string().optional().describe('Check from this network interface'),
19
+ })
20
+ .refine((data) => !(data.ip && data.interface), {
21
+ message: 'Only one of "ip" or "interface" can be specified',
22
+ path: ['ip'],
23
+ });
24
+ GeocheckByNodeCommand.ResponseSchema = zod_1.z.object({
25
+ response: zod_1.z.object({
26
+ jobId: zod_1.z.string(),
27
+ }),
28
+ });
29
+ })(GeocheckByNodeCommand || (exports.GeocheckByNodeCommand = GeocheckByNodeCommand = {}));
@@ -3,4 +3,6 @@ export * from './connections-by-user-result.command';
3
3
  export * from './connections-by-user.command';
4
4
  export * from './connections-by-node-result.command';
5
5
  export * from './connections-by-node.command';
6
+ export * from './geocheck-by-node-result.command';
7
+ export * from './geocheck-by-node.command';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/connections/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commands/connections/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC"}
@@ -19,3 +19,5 @@ __exportStar(require("./connections-by-user-result.command"), exports);
19
19
  __exportStar(require("./connections-by-user.command"), exports);
20
20
  __exportStar(require("./connections-by-node-result.command"), exports);
21
21
  __exportStar(require("./connections-by-node.command"), exports);
22
+ __exportStar(require("./geocheck-by-node-result.command"), exports);
23
+ __exportStar(require("./geocheck-by-node.command"), exports);
@@ -12,5 +12,9 @@ exports.CONNECTIONS_ROUTES = {
12
12
  // GET
13
13
  CONNECTIONS_BY_NODE_RESULT: (jobId) => `by-node/${jobId}`,
14
14
  // POST
15
+ GEOCHECK_BY_NODE: (uuid) => `geocheck/${uuid}`,
16
+ // GET
17
+ GEOCHECK_BY_NODE_RESULT: (jobId) => `geocheck/${jobId}`,
18
+ // POST
15
19
  DROP_CONNECTIONS: 'drop',
16
20
  };
@@ -357,6 +357,8 @@ exports.REST_API = {
357
357
  CONNECTIONS_BY_USER_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.CONNECTIONS_BY_USER_RESULT(jobId)}`,
358
358
  CONNECTIONS_BY_NODE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.CONNECTIONS_BY_NODE(uuid)}`,
359
359
  CONNECTIONS_BY_NODE_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.CONNECTIONS_BY_NODE_RESULT(jobId)}`,
360
+ GEOCHECK_BY_NODE: (uuid) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE(uuid)}`,
361
+ GEOCHECK_BY_NODE_RESULT: (jobId) => `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE_RESULT(jobId)}`,
360
362
  DROP_CONNECTIONS: `${exports.ROOT}/${CONTROLLERS.CONNECTIONS_CONTROLLER}/${CONTROLLERS.CONNECTIONS_ROUTES.DROP_CONNECTIONS}`,
361
363
  },
362
364
  METADATA: {
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeocheckByNodeResultCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var GeocheckByNodeResultCommand;
8
+ (function (GeocheckByNodeResultCommand) {
9
+ GeocheckByNodeResultCommand.url = api_1.REST_API.CONNECTIONS.GEOCHECK_BY_NODE_RESULT;
10
+ GeocheckByNodeResultCommand.TSQ_url = GeocheckByNodeResultCommand.url(':jobId');
11
+ GeocheckByNodeResultCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE_RESULT(':jobId'), 'get', 'Get Geocheck for Node by Job ID', { scope: 'geocheck-result', kind: 'read' });
12
+ GeocheckByNodeResultCommand.RequestParamSchema = zod_1.z.object({
13
+ jobId: zod_1.z.string(),
14
+ });
15
+ GeocheckByNodeResultCommand.GeocheckImageSchema = zod_1.z.object({
16
+ format: zod_1.z.literal('svg'),
17
+ media_type: zod_1.z.literal('image/svg+xml'),
18
+ encoding: zod_1.z.literal('base64'),
19
+ data: zod_1.z.string().describe('Base64-encoded image, ready for a data: URL'),
20
+ });
21
+ GeocheckByNodeResultCommand.ResponseSchema = zod_1.z.object({
22
+ response: zod_1.z.object({
23
+ isCompleted: zod_1.z.boolean(),
24
+ isFailed: zod_1.z.boolean(),
25
+ result: zod_1.z
26
+ .object({
27
+ success: zod_1.z.boolean(),
28
+ nodeUuid: zod_1.z.uuid(),
29
+ image: GeocheckByNodeResultCommand.GeocheckImageSchema.nullable(),
30
+ rawReport: zod_1.z
31
+ .record(zod_1.z.string(), zod_1.z.unknown())
32
+ .nullable()
33
+ .describe('The full node report with the image object stripped out'),
34
+ message: zod_1.z.string().nullable(),
35
+ })
36
+ .nullable(),
37
+ }),
38
+ });
39
+ })(GeocheckByNodeResultCommand || (exports.GeocheckByNodeResultCommand = GeocheckByNodeResultCommand = {}));
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GeocheckByNodeCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const constants_1 = require("../../constants");
7
+ var GeocheckByNodeCommand;
8
+ (function (GeocheckByNodeCommand) {
9
+ GeocheckByNodeCommand.url = api_1.REST_API.CONNECTIONS.GEOCHECK_BY_NODE;
10
+ GeocheckByNodeCommand.TSQ_url = GeocheckByNodeCommand.url(':nodeUuid');
11
+ GeocheckByNodeCommand.endpointDetails = (0, constants_1.getEndpointDetails)(api_1.CONNECTIONS_ROUTES.GEOCHECK_BY_NODE(':nodeUuid'), 'post', 'Request Geocheck for Node', { scope: 'geocheck', kind: 'read' }, 'Queues a geocheck on the node and returns a job ID. Poll "Get Geocheck for Node by Job ID" for the result, the node may take up to a minute to answer.');
12
+ GeocheckByNodeCommand.RequestParamSchema = zod_1.z.object({
13
+ nodeUuid: zod_1.z.uuid().describe('Node UUID'),
14
+ });
15
+ GeocheckByNodeCommand.RequestBodySchema = zod_1.z
16
+ .object({
17
+ ip: zod_1.z.string().optional().describe('Check from this IP address'),
18
+ interface: zod_1.z.string().optional().describe('Check from this network interface'),
19
+ })
20
+ .refine((data) => !(data.ip && data.interface), {
21
+ message: 'Only one of "ip" or "interface" can be specified',
22
+ path: ['ip'],
23
+ });
24
+ GeocheckByNodeCommand.ResponseSchema = zod_1.z.object({
25
+ response: zod_1.z.object({
26
+ jobId: zod_1.z.string(),
27
+ }),
28
+ });
29
+ })(GeocheckByNodeCommand || (exports.GeocheckByNodeCommand = GeocheckByNodeCommand = {}));
@@ -19,3 +19,5 @@ __exportStar(require("./connections-by-user-result.command"), exports);
19
19
  __exportStar(require("./connections-by-user.command"), exports);
20
20
  __exportStar(require("./connections-by-node-result.command"), exports);
21
21
  __exportStar(require("./connections-by-node.command"), exports);
22
+ __exportStar(require("./geocheck-by-node-result.command"), exports);
23
+ __exportStar(require("./geocheck-by-node.command"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/backend-contract",
3
- "version": "3.4.0",
3
+ "version": "3.4.1",
4
4
  "description": "A contract library for Remnawave Backend. It can be used in backend and frontend.",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/remnawave",