@remnawave/backend-contract 2.8.19 → 2.8.20
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.
- package/build/backend/constants/events/events.d.ts +6 -4
- package/build/backend/constants/events/events.d.ts.map +1 -1
- package/build/backend/constants/events/events.js +6 -4
- package/build/backend/models/webhook/webhook.schema.d.ts +16 -6
- package/build/backend/models/webhook/webhook.schema.d.ts.map +1 -1
- package/build/backend/models/webhook/webhook.schema.js +2 -1
- package/build/frontend/constants/events/events.js +6 -4
- package/build/frontend/models/webhook/webhook.schema.js +2 -1
- package/package.json +1 -1
|
@@ -9,10 +9,6 @@ export declare const EVENTS: {
|
|
|
9
9
|
readonly LIMITED: "user.limited";
|
|
10
10
|
readonly EXPIRED: "user.expired";
|
|
11
11
|
readonly TRAFFIC_RESET: "user.traffic_reset";
|
|
12
|
-
readonly EXPIRE_NOTIFY_EXPIRES_IN_72_HOURS: "user.expires_in_72_hours";
|
|
13
|
-
readonly EXPIRE_NOTIFY_EXPIRES_IN_48_HOURS: "user.expires_in_48_hours";
|
|
14
|
-
readonly EXPIRE_NOTIFY_EXPIRES_IN_24_HOURS: "user.expires_in_24_hours";
|
|
15
|
-
readonly EXPIRE_NOTIFY_EXPIRED_24_HOURS_AGO: "user.expired_24_hours_ago";
|
|
16
12
|
readonly FIRST_CONNECTED: "user.first_connected";
|
|
17
13
|
readonly BANDWIDTH_USAGE_THRESHOLD_REACHED: "user.bandwidth_usage_threshold_reached";
|
|
18
14
|
/**
|
|
@@ -22,6 +18,12 @@ export declare const EVENTS: {
|
|
|
22
18
|
* Includes additional meta object with notConnectedAfterHours field.
|
|
23
19
|
*/
|
|
24
20
|
readonly NOT_CONNECTED: "user.not_connected";
|
|
21
|
+
/**
|
|
22
|
+
* Emitted when a user is not connected to the panel for a certain amount of time.
|
|
23
|
+
* Active only when EXPIRATION_NOTIFICATIONS_ENABLED is true in .env.
|
|
24
|
+
* Includes additional meta object with expiration field.
|
|
25
|
+
*/
|
|
26
|
+
readonly EXPIRATION: "user.expiration";
|
|
25
27
|
};
|
|
26
28
|
/**
|
|
27
29
|
* HWID events are emitted only when HWID Device Limit feature is enabled.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../constants/events/events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../constants/events/events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;QAaX;;;;;WAKG;;QAEH;;;;WAIG;;;IAGP;;;;;;OAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CG,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACzE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACzE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;AAClF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAC9B,CAAC,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7E,MAAM,MAAM,qBAAqB,GAC7B,CAAC,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,eAAe,CAAC,CAAC;AAEzE,MAAM,MAAM,UAAU,GAChB,WAAW,GACX,WAAW,GACX,cAAc,GACd,aAAa,GACb,UAAU,GACV,sBAAsB,GACtB,qBAAqB,CAAC;AAC5B,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,eAAO,MAAM,aAAa;;;;;;;;CAQhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAClC,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAEpC,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,KACxC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -12,10 +12,6 @@ exports.EVENTS = {
|
|
|
12
12
|
LIMITED: 'user.limited',
|
|
13
13
|
EXPIRED: 'user.expired',
|
|
14
14
|
TRAFFIC_RESET: 'user.traffic_reset',
|
|
15
|
-
EXPIRE_NOTIFY_EXPIRES_IN_72_HOURS: 'user.expires_in_72_hours',
|
|
16
|
-
EXPIRE_NOTIFY_EXPIRES_IN_48_HOURS: 'user.expires_in_48_hours',
|
|
17
|
-
EXPIRE_NOTIFY_EXPIRES_IN_24_HOURS: 'user.expires_in_24_hours',
|
|
18
|
-
EXPIRE_NOTIFY_EXPIRED_24_HOURS_AGO: 'user.expired_24_hours_ago',
|
|
19
15
|
FIRST_CONNECTED: 'user.first_connected',
|
|
20
16
|
BANDWIDTH_USAGE_THRESHOLD_REACHED: 'user.bandwidth_usage_threshold_reached',
|
|
21
17
|
/**
|
|
@@ -25,6 +21,12 @@ exports.EVENTS = {
|
|
|
25
21
|
* Includes additional meta object with notConnectedAfterHours field.
|
|
26
22
|
*/
|
|
27
23
|
NOT_CONNECTED: 'user.not_connected',
|
|
24
|
+
/**
|
|
25
|
+
* Emitted when a user is not connected to the panel for a certain amount of time.
|
|
26
|
+
* Active only when EXPIRATION_NOTIFICATIONS_ENABLED is true in .env.
|
|
27
|
+
* Includes additional meta object with expiration field.
|
|
28
|
+
*/
|
|
29
|
+
EXPIRATION: 'user.expiration',
|
|
28
30
|
},
|
|
29
31
|
/**
|
|
30
32
|
* HWID events are emitted only when HWID Device Limit feature is enabled.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
2
|
export declare const RemnawaveWebhookUserEvents: z.ZodObject<{
|
|
3
3
|
scope: z.ZodLiteral<"user">;
|
|
4
|
-
event: z.ZodEnum<["user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.
|
|
4
|
+
event: z.ZodEnum<["user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration", ...("user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration")[]]>;
|
|
5
5
|
timestamp: z.ZodEffects<z.ZodString, Date, string>;
|
|
6
6
|
data: z.ZodObject<{
|
|
7
7
|
uuid: z.ZodString;
|
|
@@ -141,10 +141,13 @@ export declare const RemnawaveWebhookUserEvents: z.ZodObject<{
|
|
|
141
141
|
}>;
|
|
142
142
|
meta: z.ZodNullable<z.ZodObject<{
|
|
143
143
|
notConnectedAfterHours: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
144
|
+
expiration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
144
145
|
}, "strip", z.ZodTypeAny, {
|
|
145
146
|
notConnectedAfterHours?: number | null | undefined;
|
|
147
|
+
expiration?: number | null | undefined;
|
|
146
148
|
}, {
|
|
147
149
|
notConnectedAfterHours?: number | null | undefined;
|
|
150
|
+
expiration?: number | null | undefined;
|
|
148
151
|
}>>;
|
|
149
152
|
}, "strip", z.ZodTypeAny, {
|
|
150
153
|
data: {
|
|
@@ -184,10 +187,11 @@ export declare const RemnawaveWebhookUserEvents: z.ZodObject<{
|
|
|
184
187
|
};
|
|
185
188
|
};
|
|
186
189
|
scope: "user";
|
|
187
|
-
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.
|
|
190
|
+
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration";
|
|
188
191
|
timestamp: Date;
|
|
189
192
|
meta: {
|
|
190
193
|
notConnectedAfterHours?: number | null | undefined;
|
|
194
|
+
expiration?: number | null | undefined;
|
|
191
195
|
} | null;
|
|
192
196
|
}, {
|
|
193
197
|
data: {
|
|
@@ -227,10 +231,11 @@ export declare const RemnawaveWebhookUserEvents: z.ZodObject<{
|
|
|
227
231
|
lastTriggeredThreshold?: number | undefined;
|
|
228
232
|
};
|
|
229
233
|
scope: "user";
|
|
230
|
-
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.
|
|
234
|
+
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration";
|
|
231
235
|
timestamp: string;
|
|
232
236
|
meta: {
|
|
233
237
|
notConnectedAfterHours?: number | null | undefined;
|
|
238
|
+
expiration?: number | null | undefined;
|
|
234
239
|
} | null;
|
|
235
240
|
}>;
|
|
236
241
|
export declare const RemnawaveWebhookUserHwidDevicesEvents: z.ZodObject<{
|
|
@@ -2618,7 +2623,7 @@ export declare const RemnawaveWebhookTorrentBlockerEvents: z.ZodObject<{
|
|
|
2618
2623
|
}>;
|
|
2619
2624
|
export declare const RemnawaveWebhookEventSchema: z.ZodDiscriminatedUnion<"scope", [z.ZodObject<{
|
|
2620
2625
|
scope: z.ZodLiteral<"user">;
|
|
2621
|
-
event: z.ZodEnum<["user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.
|
|
2626
|
+
event: z.ZodEnum<["user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration", ...("user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration")[]]>;
|
|
2622
2627
|
timestamp: z.ZodEffects<z.ZodString, Date, string>;
|
|
2623
2628
|
data: z.ZodObject<{
|
|
2624
2629
|
uuid: z.ZodString;
|
|
@@ -2758,10 +2763,13 @@ export declare const RemnawaveWebhookEventSchema: z.ZodDiscriminatedUnion<"scope
|
|
|
2758
2763
|
}>;
|
|
2759
2764
|
meta: z.ZodNullable<z.ZodObject<{
|
|
2760
2765
|
notConnectedAfterHours: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
2766
|
+
expiration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
2761
2767
|
}, "strip", z.ZodTypeAny, {
|
|
2762
2768
|
notConnectedAfterHours?: number | null | undefined;
|
|
2769
|
+
expiration?: number | null | undefined;
|
|
2763
2770
|
}, {
|
|
2764
2771
|
notConnectedAfterHours?: number | null | undefined;
|
|
2772
|
+
expiration?: number | null | undefined;
|
|
2765
2773
|
}>>;
|
|
2766
2774
|
}, "strip", z.ZodTypeAny, {
|
|
2767
2775
|
data: {
|
|
@@ -2801,10 +2809,11 @@ export declare const RemnawaveWebhookEventSchema: z.ZodDiscriminatedUnion<"scope
|
|
|
2801
2809
|
};
|
|
2802
2810
|
};
|
|
2803
2811
|
scope: "user";
|
|
2804
|
-
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.
|
|
2812
|
+
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration";
|
|
2805
2813
|
timestamp: Date;
|
|
2806
2814
|
meta: {
|
|
2807
2815
|
notConnectedAfterHours?: number | null | undefined;
|
|
2816
|
+
expiration?: number | null | undefined;
|
|
2808
2817
|
} | null;
|
|
2809
2818
|
}, {
|
|
2810
2819
|
data: {
|
|
@@ -2844,10 +2853,11 @@ export declare const RemnawaveWebhookEventSchema: z.ZodDiscriminatedUnion<"scope
|
|
|
2844
2853
|
lastTriggeredThreshold?: number | undefined;
|
|
2845
2854
|
};
|
|
2846
2855
|
scope: "user";
|
|
2847
|
-
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.
|
|
2856
|
+
event: "user.created" | "user.modified" | "user.deleted" | "user.revoked" | "user.disabled" | "user.enabled" | "user.limited" | "user.expired" | "user.traffic_reset" | "user.first_connected" | "user.bandwidth_usage_threshold_reached" | "user.not_connected" | "user.expiration";
|
|
2848
2857
|
timestamp: string;
|
|
2849
2858
|
meta: {
|
|
2850
2859
|
notConnectedAfterHours?: number | null | undefined;
|
|
2860
|
+
expiration?: number | null | undefined;
|
|
2851
2861
|
} | null;
|
|
2852
2862
|
}>, z.ZodObject<{
|
|
2853
2863
|
scope: z.ZodLiteral<"user_hwid_devices">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.schema.d.ts","sourceRoot":"","sources":["../../../../models/webhook/webhook.schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAOpB,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"webhook.schema.d.ts","sourceRoot":"","sources":["../../../../models/webhook/webhook.schema.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C/C,CAAC;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQtC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEjF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACpF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACpF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAC1F,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AACxF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAClF,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,qCAAqC,CAC/C,CAAC;AACF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,oCAAoC,CAC9C,CAAC"}
|
|
@@ -19,7 +19,8 @@ exports.RemnawaveWebhookUserEvents = zod_1.default.object({
|
|
|
19
19
|
data: extended_users_schema_1.ExtendedUsersSchema,
|
|
20
20
|
meta: zod_1.default
|
|
21
21
|
.object({
|
|
22
|
-
notConnectedAfterHours: zod_1.default.number().
|
|
22
|
+
notConnectedAfterHours: zod_1.default.number().nullish(),
|
|
23
|
+
expiration: zod_1.default.number().nullish(),
|
|
23
24
|
})
|
|
24
25
|
.nullable(),
|
|
25
26
|
});
|
|
@@ -12,10 +12,6 @@ exports.EVENTS = {
|
|
|
12
12
|
LIMITED: 'user.limited',
|
|
13
13
|
EXPIRED: 'user.expired',
|
|
14
14
|
TRAFFIC_RESET: 'user.traffic_reset',
|
|
15
|
-
EXPIRE_NOTIFY_EXPIRES_IN_72_HOURS: 'user.expires_in_72_hours',
|
|
16
|
-
EXPIRE_NOTIFY_EXPIRES_IN_48_HOURS: 'user.expires_in_48_hours',
|
|
17
|
-
EXPIRE_NOTIFY_EXPIRES_IN_24_HOURS: 'user.expires_in_24_hours',
|
|
18
|
-
EXPIRE_NOTIFY_EXPIRED_24_HOURS_AGO: 'user.expired_24_hours_ago',
|
|
19
15
|
FIRST_CONNECTED: 'user.first_connected',
|
|
20
16
|
BANDWIDTH_USAGE_THRESHOLD_REACHED: 'user.bandwidth_usage_threshold_reached',
|
|
21
17
|
/**
|
|
@@ -25,6 +21,12 @@ exports.EVENTS = {
|
|
|
25
21
|
* Includes additional meta object with notConnectedAfterHours field.
|
|
26
22
|
*/
|
|
27
23
|
NOT_CONNECTED: 'user.not_connected',
|
|
24
|
+
/**
|
|
25
|
+
* Emitted when a user is not connected to the panel for a certain amount of time.
|
|
26
|
+
* Active only when EXPIRATION_NOTIFICATIONS_ENABLED is true in .env.
|
|
27
|
+
* Includes additional meta object with expiration field.
|
|
28
|
+
*/
|
|
29
|
+
EXPIRATION: 'user.expiration',
|
|
28
30
|
},
|
|
29
31
|
/**
|
|
30
32
|
* HWID events are emitted only when HWID Device Limit feature is enabled.
|
|
@@ -19,7 +19,8 @@ exports.RemnawaveWebhookUserEvents = zod_1.default.object({
|
|
|
19
19
|
data: extended_users_schema_1.ExtendedUsersSchema,
|
|
20
20
|
meta: zod_1.default
|
|
21
21
|
.object({
|
|
22
|
-
notConnectedAfterHours: zod_1.default.number().
|
|
22
|
+
notConnectedAfterHours: zod_1.default.number().nullish(),
|
|
23
|
+
expiration: zod_1.default.number().nullish(),
|
|
23
24
|
})
|
|
24
25
|
.nullable(),
|
|
25
26
|
});
|