@remnawave/backend-contract 0.0.32 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,4 +2,5 @@ export const SYSTEM_CONTROLLER = 'system' as const;
2
2
 
3
3
  export const SYSTEM_ROUTES = {
4
4
  STATS: 'stats',
5
+ BANDWIDTH: 'bandwidth',
5
6
  } as const;
package/api/routes.ts CHANGED
@@ -74,5 +74,6 @@ export const REST_API = {
74
74
  },
75
75
  SYSTEM: {
76
76
  STATS: `${ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS}`,
77
+ BANDWIDTH: `${ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.BANDWIDTH}`,
77
78
  },
78
79
  } as const;
@@ -4,4 +4,5 @@ exports.SYSTEM_ROUTES = exports.SYSTEM_CONTROLLER = void 0;
4
4
  exports.SYSTEM_CONTROLLER = 'system';
5
5
  exports.SYSTEM_ROUTES = {
6
6
  STATS: 'stats',
7
+ BANDWIDTH: 'bandwidth',
7
8
  };
@@ -92,5 +92,6 @@ exports.REST_API = {
92
92
  },
93
93
  SYSTEM: {
94
94
  STATS: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.STATS}`,
95
+ BANDWIDTH: `${exports.ROOT}/${CONTROLLERS.SYSTEM_CONTROLLER}/${CONTROLLERS.SYSTEM_ROUTES.BANDWIDTH}`,
95
96
  },
96
97
  };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GetBandwidthStatsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const api_1 = require("../../api");
6
+ const base_stat_schema_1 = require("../../models/base-stat.schema");
7
+ var GetBandwidthStatsCommand;
8
+ (function (GetBandwidthStatsCommand) {
9
+ GetBandwidthStatsCommand.url = api_1.REST_API.SYSTEM.BANDWIDTH;
10
+ GetBandwidthStatsCommand.RequestQuerySchema = zod_1.z.object({
11
+ tz: zod_1.z.string().optional(),
12
+ });
13
+ GetBandwidthStatsCommand.ResponseSchema = zod_1.z.object({
14
+ response: zod_1.z.object({
15
+ bandwidthLastTwoDays: base_stat_schema_1.BaseStatSchema,
16
+ bandwidthLastSevenDays: base_stat_schema_1.BaseStatSchema,
17
+ bandwidthLast30Days: base_stat_schema_1.BaseStatSchema,
18
+ bandwidthCalendarMonth: base_stat_schema_1.BaseStatSchema,
19
+ bandwidthCurrentYear: base_stat_schema_1.BaseStatSchema,
20
+ }),
21
+ });
22
+ })(GetBandwidthStatsCommand || (exports.GetBandwidthStatsCommand = GetBandwidthStatsCommand = {}));
@@ -14,4 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./get-bandwidth-stats.command"), exports);
17
18
  __exportStar(require("./get-stats.command"), exports);
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseStatSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.BaseStatSchema = zod_1.z.object({
6
+ current: zod_1.z.string(),
7
+ previous: zod_1.z.string(),
8
+ difference: zod_1.z.string(),
9
+ });
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./api-tokens.schema"), exports);
18
18
  __exportStar(require("./auth.schema"), exports);
19
+ __exportStar(require("./base-stat.schema"), exports);
19
20
  __exportStar(require("./hosts.schema"), exports);
20
21
  __exportStar(require("./inbounds.schema"), exports);
21
22
  __exportStar(require("./nodes.schema"), exports);
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { REST_API } from '../../api';
3
+ import { BaseStatSchema } from '../../models/base-stat.schema';
4
+
5
+ export namespace GetBandwidthStatsCommand {
6
+ export const url = REST_API.SYSTEM.BANDWIDTH;
7
+
8
+ export const RequestQuerySchema = z.object({
9
+ tz: z.string().optional(),
10
+ });
11
+
12
+ export type Request = z.infer<typeof RequestQuerySchema>;
13
+
14
+ export const ResponseSchema = z.object({
15
+ response: z.object({
16
+ bandwidthLastTwoDays: BaseStatSchema,
17
+ bandwidthLastSevenDays: BaseStatSchema,
18
+ bandwidthLast30Days: BaseStatSchema,
19
+ bandwidthCalendarMonth: BaseStatSchema,
20
+ bandwidthCurrentYear: BaseStatSchema,
21
+ }),
22
+ });
23
+
24
+ export type Response = z.infer<typeof ResponseSchema>;
25
+ }
@@ -1 +1,2 @@
1
+ export * from './get-bandwidth-stats.command';
1
2
  export * from './get-stats.command';
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+
3
+ export const BaseStatSchema = z.object({
4
+ current: z.string(),
5
+ previous: z.string(),
6
+ difference: z.string(),
7
+ });
package/models/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './api-tokens.schema';
2
2
  export * from './auth.schema';
3
+ export * from './base-stat.schema';
3
4
  export * from './hosts.schema';
4
5
  export * from './inbounds.schema';
5
6
  export * from './nodes.schema';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnawave/backend-contract",
3
- "version": "0.0.32",
3
+ "version": "0.0.34",
4
4
  "description": "A contract library for Remnawave",
5
5
  "main": "index.js",
6
6
  "scripts": {