@serve.zone/dcrouter 18.9.2 → 18.9.4
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/deno.json +1 -1
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.dcrouter.js +5 -4
- package/dist_ts/db/documents/classes.authentication-event.doc.d.ts +0 -1
- package/dist_ts/db/documents/classes.authentication-event.doc.js +176 -259
- package/dist_ts/db/documents/classes.email-traffic-bucket.doc.js +110 -188
- package/dist_ts/dns/manager.dns-authority.d.ts +5 -0
- package/dist_ts/dns/manager.dns-authority.js +97 -53
- package/dist_ts/dns/manager.dns.js +23 -5
- package/dist_ts/email/classes.email-domain.manager.js +14 -3
- package/dist_ts/email/classes.email-settings.manager.js +26 -6
- package/dist_ts/email/classes.mail-dns-sync.js +22 -2
- package/dist_ts/monitoring/classes.metricscache.d.ts +28 -19
- package/dist_ts/monitoring/classes.metricscache.js +133 -62
- package/dist_ts/monitoring/classes.metricsmanager.js +7 -5
- package/dist_ts/plugins.d.ts +2 -1
- package/dist_ts/plugins.js +3 -2
- package/dist_ts/remoteingress/classes.remoteingress-manager.js +46 -9
- package/dist_ts/security/classes.authentication-event-manager.d.ts +5 -1
- package/dist_ts/security/classes.authentication-event-manager.js +32 -22
- package/dist_ts/vpn/classes.vpn-manager.js +34 -2
- package/dist_ts_migrations/index.d.ts +4 -1
- package/dist_ts_migrations/index.js +18 -3
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/package.json +9 -8
- package/readme.hints.md +72 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.dcrouter.ts +4 -3
- package/ts/db/documents/classes.authentication-event.doc.ts +64 -87
- package/ts/db/documents/classes.email-traffic-bucket.doc.ts +10 -9
- package/ts/dns/manager.dns-authority.ts +92 -54
- package/ts/dns/manager.dns.ts +20 -4
- package/ts/email/classes.email-domain.manager.ts +12 -2
- package/ts/email/classes.email-settings.manager.ts +23 -5
- package/ts/email/classes.mail-dns-sync.ts +23 -1
- package/ts/monitoring/classes.metricscache.ts +133 -79
- package/ts/monitoring/classes.metricsmanager.ts +6 -4
- package/ts/plugins.ts +2 -0
- package/ts/remoteingress/classes.remoteingress-manager.ts +42 -8
- package/ts/security/classes.authentication-event-manager.ts +31 -20
- package/ts/vpn/classes.vpn-manager.ts +32 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
|
@@ -811,6 +811,8 @@ export class VpnManager {
|
|
|
811
811
|
client: Pick<VpnClientDoc, 'useHostIp' | 'useDhcp' | 'staticIp' | 'forceVlan' | 'vlanId'>,
|
|
812
812
|
): void {
|
|
813
813
|
client.useHostIp = client.useHostIp === true;
|
|
814
|
+
client.staticIp = client.staticIp ?? undefined;
|
|
815
|
+
client.vlanId = client.vlanId ?? undefined;
|
|
814
816
|
|
|
815
817
|
if (!client.useHostIp) {
|
|
816
818
|
client.useDhcp = false;
|
|
@@ -883,6 +885,35 @@ export class VpnManager {
|
|
|
883
885
|
}
|
|
884
886
|
|
|
885
887
|
private async persistClient(client: VpnClientDoc): Promise<void> {
|
|
886
|
-
|
|
888
|
+
if (client.creationStatus === 'new') {
|
|
889
|
+
await client.save();
|
|
890
|
+
return;
|
|
891
|
+
}
|
|
892
|
+
const persisted = await VpnClientDoc.atomicUpdate({ clientId: client.clientId }, {
|
|
893
|
+
$set: {
|
|
894
|
+
enabled: client.enabled,
|
|
895
|
+
noisePublicKey: client.noisePublicKey,
|
|
896
|
+
wgPublicKey: client.wgPublicKey,
|
|
897
|
+
createdAt: client.createdAt,
|
|
898
|
+
updatedAt: client.updatedAt,
|
|
899
|
+
...(client.targetProfileIds !== undefined ? { targetProfileIds: client.targetProfileIds } : {}),
|
|
900
|
+
...(client.description !== undefined ? { description: client.description } : {}),
|
|
901
|
+
...(client.assignedIp !== undefined ? { assignedIp: client.assignedIp } : {}),
|
|
902
|
+
...(client.wgPrivateKey !== undefined ? { wgPrivateKey: client.wgPrivateKey } : {}),
|
|
903
|
+
...(client.expiresAt !== undefined ? { expiresAt: client.expiresAt } : {}),
|
|
904
|
+
...(client.destinationAllowList !== undefined ? { destinationAllowList: client.destinationAllowList } : {}),
|
|
905
|
+
...(client.destinationBlockList !== undefined ? { destinationBlockList: client.destinationBlockList } : {}),
|
|
906
|
+
...(client.useHostIp !== undefined ? { useHostIp: client.useHostIp } : {}),
|
|
907
|
+
...(client.useDhcp !== undefined ? { useDhcp: client.useDhcp } : {}),
|
|
908
|
+
...(client.staticIp !== undefined ? { staticIp: client.staticIp } : {}),
|
|
909
|
+
...(client.forceVlan !== undefined ? { forceVlan: client.forceVlan } : {}),
|
|
910
|
+
...(client.vlanId !== undefined ? { vlanId: client.vlanId } : {}),
|
|
911
|
+
},
|
|
912
|
+
$unset: {
|
|
913
|
+
...(client.staticIp === undefined ? { staticIp: true } : {}),
|
|
914
|
+
...(client.vlanId === undefined ? { vlanId: true } : {}),
|
|
915
|
+
},
|
|
916
|
+
});
|
|
917
|
+
if (persisted.matchedCount !== 1) throw new Error('VPN client disappeared during update');
|
|
887
918
|
}
|
|
888
919
|
}
|