@long2ice/relayx-backend 0.0.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.
Files changed (88) hide show
  1. package/README.md +13 -0
  2. package/dist/app.d.ts +8592 -0
  3. package/dist/bullmq/index.d.ts +1 -0
  4. package/dist/bullmq/jobs.d.ts +34 -0
  5. package/dist/bullmq/queue.d.ts +6 -0
  6. package/dist/bullmq/queuedash.d.ts +12 -0
  7. package/dist/bullmq/worker.d.ts +1 -0
  8. package/dist/config.d.ts +16 -0
  9. package/dist/db.d.ts +3 -0
  10. package/dist/generated/prisma/zod/index.d.ts +2289 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/middlewares/auth.d.ts +3 -0
  13. package/dist/middlewares/ip.d.ts +2 -0
  14. package/dist/middlewares/license.d.ts +2 -0
  15. package/dist/middlewares/plan.d.ts +2 -0
  16. package/dist/routes/admin/license.d.ts +90 -0
  17. package/dist/routes/admin/node.d.ts +919 -0
  18. package/dist/routes/admin/node_group.d.ts +2115 -0
  19. package/dist/routes/admin/pay.d.ts +261 -0
  20. package/dist/routes/admin/plan.d.ts +198 -0
  21. package/dist/routes/admin/plan_coupon.d.ts +92 -0
  22. package/dist/routes/admin/stats.d.ts +77 -0
  23. package/dist/routes/admin/system_config.d.ts +68 -0
  24. package/dist/routes/admin/ticket.d.ts +113 -0
  25. package/dist/routes/admin/topup.d.ts +88 -0
  26. package/dist/routes/admin/topup_activity.d.ts +84 -0
  27. package/dist/routes/admin/tunnel.d.ts +566 -0
  28. package/dist/routes/admin/user.d.ts +299 -0
  29. package/dist/routes/admin/user_plan.d.ts +109 -0
  30. package/dist/routes/bot.d.ts +13 -0
  31. package/dist/routes/dns_provider.d.ts +240 -0
  32. package/dist/routes/health.d.ts +3 -0
  33. package/dist/routes/in_node_group_dns.d.ts +132 -0
  34. package/dist/routes/license.d.ts +50 -0
  35. package/dist/routes/node.d.ts +148 -0
  36. package/dist/routes/node_group.d.ts +1498 -0
  37. package/dist/routes/pay.d.ts +34 -0
  38. package/dist/routes/plan.d.ts +148 -0
  39. package/dist/routes/plan_coupon.d.ts +22 -0
  40. package/dist/routes/system_config.d.ts +87 -0
  41. package/dist/routes/ticket.d.ts +129 -0
  42. package/dist/routes/topup.d.ts +93 -0
  43. package/dist/routes/tunnel.d.ts +742 -0
  44. package/dist/routes/user.d.ts +293 -0
  45. package/dist/schemas/context.d.ts +9 -0
  46. package/dist/schemas/license.d.ts +7 -0
  47. package/dist/schemas/request.d.ts +1181 -0
  48. package/dist/schemas/response.d.ts +2439 -0
  49. package/dist/schemas/socket.io.d.ts +33 -0
  50. package/dist/schemas/tunnel.d.ts +10 -0
  51. package/dist/services/dns/cloudflare.d.ts +12 -0
  52. package/dist/services/dns/huawei.d.ts +12 -0
  53. package/dist/services/dns/index.d.ts +4 -0
  54. package/dist/services/dns/interface.d.ts +8 -0
  55. package/dist/services/dns_provider.d.ts +46 -0
  56. package/dist/services/email.d.ts +11 -0
  57. package/dist/services/fernet.d.ts +2 -0
  58. package/dist/services/in_node_group_dns.d.ts +65 -0
  59. package/dist/services/license.d.ts +87 -0
  60. package/dist/services/logger.d.ts +7 -0
  61. package/dist/services/node.d.ts +39 -0
  62. package/dist/services/node_group.d.ts +75 -0
  63. package/dist/services/notify.d.ts +44 -0
  64. package/dist/services/order.d.ts +3 -0
  65. package/dist/services/pay.d.ts +6 -0
  66. package/dist/services/plan.d.ts +119 -0
  67. package/dist/services/plan_coupon.d.ts +16 -0
  68. package/dist/services/redis.d.ts +59 -0
  69. package/dist/services/stackauth.d.ts +25 -0
  70. package/dist/services/sysinfo.d.ts +7 -0
  71. package/dist/services/system_config.d.ts +7 -0
  72. package/dist/services/telegram.d.ts +8 -0
  73. package/dist/services/ticket.d.ts +134 -0
  74. package/dist/services/topup.d.ts +37 -0
  75. package/dist/services/topup_activity.d.ts +21 -0
  76. package/dist/services/tunnel.d.ts +1235 -0
  77. package/dist/services/user.d.ts +25 -0
  78. package/dist/socket-io/events.d.ts +13 -0
  79. package/dist/socket-io/handlers/disconnect.d.ts +2 -0
  80. package/dist/socket-io/handlers/listen.d.ts +3 -0
  81. package/dist/socket-io/handlers/register.d.ts +2 -0
  82. package/dist/socket-io/handlers/sysinfo.d.ts +2 -0
  83. package/dist/socket-io/index.d.ts +3 -0
  84. package/dist/socket-io/utils.d.ts +8 -0
  85. package/dist/utils/date.d.ts +1 -0
  86. package/dist/utils/ip.d.ts +2 -0
  87. package/dist/utils/uuid.d.ts +1 -0
  88. package/package.json +82 -0
@@ -0,0 +1,742 @@
1
+ import { Variables } from "../schemas/context";
2
+ declare const app: import("hono/hono-base").HonoBase<{
3
+ Variables: Variables;
4
+ }, {
5
+ "/": {
6
+ $get: {
7
+ input: {
8
+ query: {
9
+ name?: string | string[] | undefined;
10
+ status?: string | string[] | undefined;
11
+ tunnel_type?: string | string[] | undefined;
12
+ listen_port?: string | string[] | undefined;
13
+ ip_type?: string | string[] | undefined;
14
+ in_node_group_id?: string | string[] | undefined;
15
+ out_node_group_id?: string | string[] | undefined;
16
+ sort?: string | string[] | undefined;
17
+ page?: string | string[] | undefined;
18
+ perPage?: string | string[] | undefined;
19
+ in_tunnel_chain_id?: string | string[] | undefined;
20
+ out_tunnel_chain_id?: string | string[] | undefined;
21
+ };
22
+ };
23
+ output: {
24
+ data: {
25
+ forward_addresses: {
26
+ address: string;
27
+ weight: number;
28
+ host?: string | null | undefined;
29
+ }[];
30
+ tunnel_chains: {
31
+ node_group_id: number;
32
+ node_type: import("../generated/prisma/client").$Enums.NodeType;
33
+ }[];
34
+ listen_protocol: {
35
+ type: string;
36
+ username: string;
37
+ password: string;
38
+ };
39
+ forward_addresses_protocol: {
40
+ type: string;
41
+ username: string;
42
+ password: string;
43
+ };
44
+ user: {
45
+ email: string;
46
+ };
47
+ in_node_group: {
48
+ name: string;
49
+ connect_ip: string | null;
50
+ admission: boolean;
51
+ traffic_rate: number;
52
+ nodes: {
53
+ connect_ip: string;
54
+ }[];
55
+ };
56
+ out_node_group: {
57
+ name: string;
58
+ traffic_rate: number;
59
+ } | null;
60
+ name: string;
61
+ id: number;
62
+ load_balance_type: import("../generated/prisma/client").$Enums.LoadBalanceType;
63
+ order_by: number;
64
+ created_at: string;
65
+ updated_at: string;
66
+ user_id: number;
67
+ status: import("../generated/prisma/client").$Enums.Status;
68
+ tunnel_type: import("../generated/prisma/client").$Enums.TunnelType;
69
+ category: import("../generated/prisma/client").$Enums.TunnelCategory;
70
+ listen_ip: string | null;
71
+ listen_port: number | null;
72
+ is_port_used: boolean;
73
+ white_list: string | number | boolean | {
74
+ [x: string]: string | number | boolean | /*elided*/ any | {
75
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
76
+ length: number;
77
+ toString: null;
78
+ toLocaleString: null;
79
+ pop: null;
80
+ push: {};
81
+ concat: {};
82
+ join: {};
83
+ reverse: null;
84
+ shift: null;
85
+ slice: {};
86
+ sort: {};
87
+ splice: {};
88
+ unshift: {};
89
+ indexOf: {};
90
+ lastIndexOf: {};
91
+ every: {};
92
+ some: {};
93
+ forEach: {};
94
+ map: {};
95
+ filter: {};
96
+ reduce: {};
97
+ reduceRight: {};
98
+ find: {};
99
+ findIndex: {};
100
+ fill: {};
101
+ copyWithin: {};
102
+ entries: null;
103
+ keys: null;
104
+ values: null;
105
+ includes: {};
106
+ flatMap: {};
107
+ flat: {};
108
+ at: {};
109
+ [Symbol.iterator]: null;
110
+ readonly [Symbol.unscopables]: {
111
+ [x: number]: boolean | undefined;
112
+ length?: boolean | undefined;
113
+ toString?: boolean | undefined;
114
+ toLocaleString?: boolean | undefined;
115
+ pop?: boolean | undefined;
116
+ push?: boolean | undefined;
117
+ concat?: boolean | undefined;
118
+ join?: boolean | undefined;
119
+ reverse?: boolean | undefined;
120
+ shift?: boolean | undefined;
121
+ slice?: boolean | undefined;
122
+ sort?: boolean | undefined;
123
+ splice?: boolean | undefined;
124
+ unshift?: boolean | undefined;
125
+ indexOf?: boolean | undefined;
126
+ lastIndexOf?: boolean | undefined;
127
+ every?: boolean | undefined;
128
+ some?: boolean | undefined;
129
+ forEach?: boolean | undefined;
130
+ map?: boolean | undefined;
131
+ filter?: boolean | undefined;
132
+ reduce?: boolean | undefined;
133
+ reduceRight?: boolean | undefined;
134
+ find?: boolean | undefined;
135
+ findIndex?: boolean | undefined;
136
+ fill?: boolean | undefined;
137
+ copyWithin?: boolean | undefined;
138
+ entries?: boolean | undefined;
139
+ keys?: boolean | undefined;
140
+ values?: boolean | undefined;
141
+ includes?: boolean | undefined;
142
+ flatMap?: boolean | undefined;
143
+ flat?: boolean | undefined;
144
+ at?: boolean | undefined;
145
+ };
146
+ } | null | undefined;
147
+ } | {
148
+ [x: number]: string | number | boolean | {
149
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
150
+ } | /*elided*/ any | null;
151
+ length: number;
152
+ toString: null;
153
+ toLocaleString: null;
154
+ pop: null;
155
+ push: {};
156
+ concat: {};
157
+ join: {};
158
+ reverse: null;
159
+ shift: null;
160
+ slice: {};
161
+ sort: {};
162
+ splice: {};
163
+ unshift: {};
164
+ indexOf: {};
165
+ lastIndexOf: {};
166
+ every: {};
167
+ some: {};
168
+ forEach: {};
169
+ map: {};
170
+ filter: {};
171
+ reduce: {};
172
+ reduceRight: {};
173
+ find: {};
174
+ findIndex: {};
175
+ fill: {};
176
+ copyWithin: {};
177
+ entries: null;
178
+ keys: null;
179
+ values: null;
180
+ includes: {};
181
+ flatMap: {};
182
+ flat: {};
183
+ at: {};
184
+ [Symbol.iterator]: null;
185
+ readonly [Symbol.unscopables]: {
186
+ [x: number]: boolean | undefined;
187
+ length?: boolean | undefined;
188
+ toString?: boolean | undefined;
189
+ toLocaleString?: boolean | undefined;
190
+ pop?: boolean | undefined;
191
+ push?: boolean | undefined;
192
+ concat?: boolean | undefined;
193
+ join?: boolean | undefined;
194
+ reverse?: boolean | undefined;
195
+ shift?: boolean | undefined;
196
+ slice?: boolean | undefined;
197
+ sort?: boolean | undefined;
198
+ splice?: boolean | undefined;
199
+ unshift?: boolean | undefined;
200
+ indexOf?: boolean | undefined;
201
+ lastIndexOf?: boolean | undefined;
202
+ every?: boolean | undefined;
203
+ some?: boolean | undefined;
204
+ forEach?: boolean | undefined;
205
+ map?: boolean | undefined;
206
+ filter?: boolean | undefined;
207
+ reduce?: boolean | undefined;
208
+ reduceRight?: boolean | undefined;
209
+ find?: boolean | undefined;
210
+ findIndex?: boolean | undefined;
211
+ fill?: boolean | undefined;
212
+ copyWithin?: boolean | undefined;
213
+ entries?: boolean | undefined;
214
+ keys?: boolean | undefined;
215
+ values?: boolean | undefined;
216
+ includes?: boolean | undefined;
217
+ flatMap?: boolean | undefined;
218
+ flat?: boolean | undefined;
219
+ at?: boolean | undefined;
220
+ };
221
+ } | null;
222
+ ip_type: import("../generated/prisma/client").$Enums.IpType;
223
+ ip_limit: number | null;
224
+ bandwidth_limit: number | null;
225
+ traffic: number;
226
+ traffic_cost: number;
227
+ stats: string | number | boolean | {
228
+ [x: string]: string | number | boolean | /*elided*/ any | {
229
+ [x: number]: string | number | boolean | /*elided*/ any | /*elided*/ any | null;
230
+ length: number;
231
+ toString: null;
232
+ toLocaleString: null;
233
+ pop: null;
234
+ push: {};
235
+ concat: {};
236
+ join: {};
237
+ reverse: null;
238
+ shift: null;
239
+ slice: {};
240
+ sort: {};
241
+ splice: {};
242
+ unshift: {};
243
+ indexOf: {};
244
+ lastIndexOf: {};
245
+ every: {};
246
+ some: {};
247
+ forEach: {};
248
+ map: {};
249
+ filter: {};
250
+ reduce: {};
251
+ reduceRight: {};
252
+ find: {};
253
+ findIndex: {};
254
+ fill: {};
255
+ copyWithin: {};
256
+ entries: null;
257
+ keys: null;
258
+ values: null;
259
+ includes: {};
260
+ flatMap: {};
261
+ flat: {};
262
+ at: {};
263
+ [Symbol.iterator]: null;
264
+ readonly [Symbol.unscopables]: {
265
+ [x: number]: boolean | undefined;
266
+ length?: boolean | undefined;
267
+ toString?: boolean | undefined;
268
+ toLocaleString?: boolean | undefined;
269
+ pop?: boolean | undefined;
270
+ push?: boolean | undefined;
271
+ concat?: boolean | undefined;
272
+ join?: boolean | undefined;
273
+ reverse?: boolean | undefined;
274
+ shift?: boolean | undefined;
275
+ slice?: boolean | undefined;
276
+ sort?: boolean | undefined;
277
+ splice?: boolean | undefined;
278
+ unshift?: boolean | undefined;
279
+ indexOf?: boolean | undefined;
280
+ lastIndexOf?: boolean | undefined;
281
+ every?: boolean | undefined;
282
+ some?: boolean | undefined;
283
+ forEach?: boolean | undefined;
284
+ map?: boolean | undefined;
285
+ filter?: boolean | undefined;
286
+ reduce?: boolean | undefined;
287
+ reduceRight?: boolean | undefined;
288
+ find?: boolean | undefined;
289
+ findIndex?: boolean | undefined;
290
+ fill?: boolean | undefined;
291
+ copyWithin?: boolean | undefined;
292
+ entries?: boolean | undefined;
293
+ keys?: boolean | undefined;
294
+ values?: boolean | undefined;
295
+ includes?: boolean | undefined;
296
+ flatMap?: boolean | undefined;
297
+ flat?: boolean | undefined;
298
+ at?: boolean | undefined;
299
+ };
300
+ } | null | undefined;
301
+ } | {
302
+ [x: number]: string | number | boolean | {
303
+ [x: string]: string | number | boolean | /*elided*/ any | /*elided*/ any | null | undefined;
304
+ } | /*elided*/ any | null;
305
+ length: number;
306
+ toString: null;
307
+ toLocaleString: null;
308
+ pop: null;
309
+ push: {};
310
+ concat: {};
311
+ join: {};
312
+ reverse: null;
313
+ shift: null;
314
+ slice: {};
315
+ sort: {};
316
+ splice: {};
317
+ unshift: {};
318
+ indexOf: {};
319
+ lastIndexOf: {};
320
+ every: {};
321
+ some: {};
322
+ forEach: {};
323
+ map: {};
324
+ filter: {};
325
+ reduce: {};
326
+ reduceRight: {};
327
+ find: {};
328
+ findIndex: {};
329
+ fill: {};
330
+ copyWithin: {};
331
+ entries: null;
332
+ keys: null;
333
+ values: null;
334
+ includes: {};
335
+ flatMap: {};
336
+ flat: {};
337
+ at: {};
338
+ [Symbol.iterator]: null;
339
+ readonly [Symbol.unscopables]: {
340
+ [x: number]: boolean | undefined;
341
+ length?: boolean | undefined;
342
+ toString?: boolean | undefined;
343
+ toLocaleString?: boolean | undefined;
344
+ pop?: boolean | undefined;
345
+ push?: boolean | undefined;
346
+ concat?: boolean | undefined;
347
+ join?: boolean | undefined;
348
+ reverse?: boolean | undefined;
349
+ shift?: boolean | undefined;
350
+ slice?: boolean | undefined;
351
+ sort?: boolean | undefined;
352
+ splice?: boolean | undefined;
353
+ unshift?: boolean | undefined;
354
+ indexOf?: boolean | undefined;
355
+ lastIndexOf?: boolean | undefined;
356
+ every?: boolean | undefined;
357
+ some?: boolean | undefined;
358
+ forEach?: boolean | undefined;
359
+ map?: boolean | undefined;
360
+ filter?: boolean | undefined;
361
+ reduce?: boolean | undefined;
362
+ reduceRight?: boolean | undefined;
363
+ find?: boolean | undefined;
364
+ findIndex?: boolean | undefined;
365
+ fill?: boolean | undefined;
366
+ copyWithin?: boolean | undefined;
367
+ entries?: boolean | undefined;
368
+ keys?: boolean | undefined;
369
+ values?: boolean | undefined;
370
+ includes?: boolean | undefined;
371
+ flatMap?: boolean | undefined;
372
+ flat?: boolean | undefined;
373
+ at?: boolean | undefined;
374
+ };
375
+ } | null;
376
+ proxy_protocol: boolean;
377
+ in_node_group_id: number;
378
+ out_node_group_id: number | null;
379
+ }[];
380
+ total: number;
381
+ };
382
+ outputFormat: "json";
383
+ status: import("hono/utils/http-status").ContentfulStatusCode;
384
+ };
385
+ };
386
+ } & {
387
+ "/summary": {
388
+ $get: {
389
+ input: {};
390
+ output: {
391
+ status: import("../generated/prisma/client").$Enums.Status;
392
+ count: number;
393
+ }[];
394
+ outputFormat: "json";
395
+ status: import("hono/utils/http-status").ContentfulStatusCode;
396
+ };
397
+ };
398
+ } & {
399
+ "/": {
400
+ $post: {
401
+ input: {
402
+ json: {
403
+ name: string;
404
+ load_balance_type: "round" | "rand" | "fifo" | "hash" | "ll" | "lc";
405
+ status: "active" | "inactive";
406
+ tunnel_type: "tcp" | "mtcp" | "udp" | "relayx" | "mtls" | "mwss" | "wss" | "tls" | "quic";
407
+ category: "port_forward" | "remote_port_forward";
408
+ listen_ip: string | null;
409
+ listen_port: number | null;
410
+ listen_protocol: {
411
+ type?: string | null | undefined;
412
+ username?: string | null | undefined;
413
+ password?: string | null | undefined;
414
+ } | null;
415
+ white_list: string[] | null;
416
+ forward_addresses: {
417
+ weight: number;
418
+ address: string;
419
+ host?: string | null | undefined;
420
+ }[];
421
+ forward_addresses_protocol: {
422
+ type?: string | null | undefined;
423
+ username?: string | null | undefined;
424
+ password?: string | null | undefined;
425
+ } | null;
426
+ ip_type: "auto" | "ipv4" | "ipv6";
427
+ ip_limit: number | null;
428
+ bandwidth_limit: number | null;
429
+ proxy_protocol: boolean;
430
+ in_node_group_id: number;
431
+ out_node_group_id: number | null;
432
+ tunnel_chains?: {
433
+ node_type: "in" | "out";
434
+ node_group_id: number;
435
+ }[] | undefined;
436
+ };
437
+ };
438
+ output: null;
439
+ outputFormat: "body";
440
+ status: 204;
441
+ };
442
+ };
443
+ } & {
444
+ "/import": {
445
+ $post: {
446
+ input: {
447
+ json: {
448
+ tunnel_type: "tcp" | "mtcp" | "udp" | "relayx" | "mtls" | "mwss" | "wss" | "tls" | "quic";
449
+ in_node_group_id: number;
450
+ out_node_group_id: number | null;
451
+ tunnels: {
452
+ name: string;
453
+ listen_port: number | null;
454
+ dest: string[];
455
+ }[];
456
+ random_port_is_exist: boolean;
457
+ overwrite_tunnel_on_port_conflict: boolean;
458
+ };
459
+ };
460
+ output: null;
461
+ outputFormat: "body";
462
+ status: 204;
463
+ };
464
+ };
465
+ } & {
466
+ "/:id/status": {
467
+ $patch: {
468
+ input: {
469
+ param: {
470
+ id: string;
471
+ };
472
+ } & {
473
+ json: {
474
+ status: "active" | "inactive";
475
+ };
476
+ };
477
+ output: null;
478
+ outputFormat: "body";
479
+ status: 204;
480
+ };
481
+ };
482
+ } & {
483
+ "/:id/order": {
484
+ $patch: {
485
+ input: {
486
+ param: {
487
+ id: string;
488
+ };
489
+ } & {
490
+ json: {
491
+ order_by: number;
492
+ };
493
+ };
494
+ output: null;
495
+ outputFormat: "body";
496
+ status: 204;
497
+ };
498
+ };
499
+ } & {
500
+ "/:id": {
501
+ $patch: {
502
+ input: {
503
+ param: {
504
+ id: string;
505
+ };
506
+ } & {
507
+ json: {
508
+ name: string;
509
+ load_balance_type: "round" | "rand" | "fifo" | "hash" | "ll" | "lc";
510
+ status: "active" | "inactive";
511
+ tunnel_type: "tcp" | "mtcp" | "udp" | "relayx" | "mtls" | "mwss" | "wss" | "tls" | "quic";
512
+ category: "port_forward" | "remote_port_forward";
513
+ listen_ip: string | null;
514
+ listen_port: number | null;
515
+ listen_protocol: {
516
+ type?: string | null | undefined;
517
+ username?: string | null | undefined;
518
+ password?: string | null | undefined;
519
+ } | null;
520
+ white_list: string[] | null;
521
+ forward_addresses: {
522
+ weight: number;
523
+ address: string;
524
+ host?: string | null | undefined;
525
+ }[];
526
+ forward_addresses_protocol: {
527
+ type?: string | null | undefined;
528
+ username?: string | null | undefined;
529
+ password?: string | null | undefined;
530
+ } | null;
531
+ ip_type: "auto" | "ipv4" | "ipv6";
532
+ ip_limit: number | null;
533
+ bandwidth_limit: number | null;
534
+ proxy_protocol: boolean;
535
+ in_node_group_id: number;
536
+ out_node_group_id: number | null;
537
+ tunnel_chains?: {
538
+ node_type: "in" | "out";
539
+ node_group_id: number;
540
+ }[] | undefined;
541
+ };
542
+ };
543
+ output: null;
544
+ outputFormat: "body";
545
+ status: 204;
546
+ };
547
+ };
548
+ } & {
549
+ "/batch/update": {
550
+ $patch: {
551
+ input: {
552
+ json: {
553
+ ids: number[];
554
+ load_balance_type?: "round" | "rand" | "fifo" | "hash" | "ll" | "lc" | undefined;
555
+ status?: "active" | "inactive" | undefined;
556
+ tunnel_type?: "tcp" | "mtcp" | "udp" | "relayx" | "mtls" | "mwss" | "wss" | "tls" | "quic" | undefined;
557
+ ip_type?: "auto" | "ipv4" | "ipv6" | undefined;
558
+ ip_limit?: number | null | undefined;
559
+ bandwidth_limit?: number | null | undefined;
560
+ in_node_group_id?: number | undefined;
561
+ out_node_group_id?: number | null | undefined;
562
+ in_tunnel_chains?: number[] | null | undefined;
563
+ out_tunnel_chains?: number[] | null | undefined;
564
+ };
565
+ };
566
+ output: null;
567
+ outputFormat: "body";
568
+ status: 204;
569
+ };
570
+ };
571
+ } & {
572
+ "/": {
573
+ $delete: {
574
+ input: {
575
+ query: {
576
+ ids: string;
577
+ };
578
+ };
579
+ output: null;
580
+ outputFormat: "body";
581
+ status: 204;
582
+ };
583
+ };
584
+ } & {
585
+ "/observer": {
586
+ $post: {
587
+ input: {
588
+ json: {
589
+ events: {
590
+ type: string;
591
+ service: string;
592
+ kind: string;
593
+ status?: {
594
+ state: string;
595
+ msg: string;
596
+ } | undefined;
597
+ stats?: {
598
+ totalConns: number;
599
+ currentConns: number;
600
+ inputBytes: number;
601
+ outputBytes: number;
602
+ totalErrs: number;
603
+ } | undefined;
604
+ }[];
605
+ };
606
+ };
607
+ output: {
608
+ ok: boolean;
609
+ };
610
+ outputFormat: "json";
611
+ status: import("hono/utils/http-status").ContentfulStatusCode;
612
+ };
613
+ };
614
+ } & {
615
+ "/traffic/stats": {
616
+ $get: {
617
+ input: {
618
+ query: {
619
+ in_node_group_id?: string | string[] | undefined;
620
+ out_node_group_id?: string | string[] | undefined;
621
+ start_date?: string | string[] | undefined;
622
+ end_date?: string | string[] | undefined;
623
+ aggregate_by?: string | string[] | undefined;
624
+ };
625
+ };
626
+ output: {
627
+ date: string;
628
+ traffic: number;
629
+ traffic_cost: number;
630
+ }[];
631
+ outputFormat: "json";
632
+ status: import("hono/utils/http-status").ContentfulStatusCode;
633
+ };
634
+ };
635
+ } & {
636
+ "/:id/test": {
637
+ $get: {
638
+ input: {
639
+ param: {
640
+ id: string;
641
+ };
642
+ };
643
+ output: {
644
+ from: string;
645
+ to: string;
646
+ results: never[];
647
+ }[];
648
+ outputFormat: "json";
649
+ status: import("hono/utils/http-status").ContentfulStatusCode;
650
+ };
651
+ };
652
+ } & {
653
+ "/traffic": {
654
+ $delete: {
655
+ input: {
656
+ query: {
657
+ ids: string;
658
+ };
659
+ };
660
+ output: null;
661
+ outputFormat: "body";
662
+ status: 204;
663
+ };
664
+ };
665
+ } & {
666
+ "/traffic": {
667
+ $get: {
668
+ input: {
669
+ query: {
670
+ in_node_group_id?: string | string[] | undefined;
671
+ out_node_group_id?: string | string[] | undefined;
672
+ sort?: string | string[] | undefined;
673
+ page?: string | string[] | undefined;
674
+ perPage?: string | string[] | undefined;
675
+ tunnel_name?: string | string[] | undefined;
676
+ start_date?: string | string[] | undefined;
677
+ end_date?: string | string[] | undefined;
678
+ };
679
+ };
680
+ output: {
681
+ data: {
682
+ id: number;
683
+ tunnel: {
684
+ name: string;
685
+ in_node_group: {
686
+ name: string;
687
+ };
688
+ out_node_group: {
689
+ name: string;
690
+ } | null;
691
+ };
692
+ traffic: number;
693
+ traffic_cost: number;
694
+ date: string;
695
+ }[];
696
+ total: number;
697
+ };
698
+ outputFormat: "json";
699
+ status: import("hono/utils/http-status").ContentfulStatusCode;
700
+ };
701
+ };
702
+ } & {
703
+ "/stats": {
704
+ $get: {
705
+ input: {
706
+ query: {
707
+ name?: string | string[] | undefined;
708
+ in_node_group_id?: string | string[] | undefined;
709
+ out_node_group_id?: string | string[] | undefined;
710
+ sort?: string | string[] | undefined;
711
+ page?: string | string[] | undefined;
712
+ perPage?: string | string[] | undefined;
713
+ };
714
+ };
715
+ output: {
716
+ data: {
717
+ id: number;
718
+ name: string;
719
+ in_node_group: {
720
+ name: string;
721
+ id: number;
722
+ };
723
+ out_node_group: {
724
+ name: string;
725
+ id: number;
726
+ } | null;
727
+ stats: {
728
+ totalConns: number;
729
+ currentConns: number;
730
+ inputBytes: number;
731
+ outputBytes: number;
732
+ totalErrs: number;
733
+ } | null;
734
+ }[];
735
+ total: number;
736
+ };
737
+ outputFormat: "json";
738
+ status: import("hono/utils/http-status").ContentfulStatusCode;
739
+ };
740
+ };
741
+ }, "/">;
742
+ export default app;