@vex-chat/spire 1.9.0 → 1.10.0
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/dist/server/invite.js +18 -0
- package/dist/server/invite.js.map +1 -1
- package/package.json +2 -2
- package/src/server/invite.ts +22 -0
package/dist/server/invite.js
CHANGED
|
@@ -24,6 +24,24 @@ export const getInviteRouter = (db, tokenValidator, notify) => {
|
|
|
24
24
|
res.send(msgpack.encode(permission));
|
|
25
25
|
notify(userDetails.userID, "permission", crypto.randomUUID(), permission);
|
|
26
26
|
});
|
|
27
|
+
router.get("/:inviteID/preview", protect, async (req, res) => {
|
|
28
|
+
const invite = await db.retrieveInvite(getParam(req, "inviteID"));
|
|
29
|
+
if (!invite) {
|
|
30
|
+
res.sendStatus(404);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (new Date(invite.expiration).getTime() < Date.now()) {
|
|
34
|
+
res.sendStatus(401);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const server = await db.retrieveServer(invite.serverID);
|
|
38
|
+
if (!server) {
|
|
39
|
+
res.sendStatus(404);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const channels = await db.retrieveChannels(invite.serverID);
|
|
43
|
+
res.send(msgpack.encode({ channels, invite, server }));
|
|
44
|
+
});
|
|
27
45
|
router.get("/:inviteID", protect, async (req, res) => {
|
|
28
46
|
const invite = await db.retrieveInvite(getParam(req, "inviteID"));
|
|
29
47
|
if (!invite) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite.js","sourceRoot":"","sources":["../../src/server/invite.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC3B,EAAY,EACZ,cAA4D,EAC5D,MAMS,EACX,EAAE;IACA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACnD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACX,CAAC;QAED,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACrD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,gBAAgB,CACxC,WAAW,CAAC,MAAM,EAClB,QAAQ,EACR,MAAM,CAAC,QAAQ,EACf,CAAC,CACJ,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACrC,MAAM,CACF,WAAW,CAAC,MAAM,EAClB,YAAY,EACZ,MAAM,CAAC,UAAU,EAAE,EACnB,UAAU,CACb,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"invite.js","sourceRoot":"","sources":["../../src/server/invite.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vex-chat/spire",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"description": "Vex server implementation in NodeJS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"typescript-eslint": "8.58.1",
|
|
57
57
|
"vitest": "4.1.4",
|
|
58
58
|
"@vex-chat/eslint-config": "0.0.1",
|
|
59
|
-
"@vex-chat/libvex": "^6.
|
|
59
|
+
"@vex-chat/libvex": "^6.5.0"
|
|
60
60
|
},
|
|
61
61
|
"typeCoverage": {
|
|
62
62
|
"atLeast": 95,
|
package/src/server/invite.ts
CHANGED
|
@@ -56,6 +56,28 @@ export const getInviteRouter = (
|
|
|
56
56
|
);
|
|
57
57
|
});
|
|
58
58
|
|
|
59
|
+
router.get("/:inviteID/preview", protect, async (req, res) => {
|
|
60
|
+
const invite = await db.retrieveInvite(getParam(req, "inviteID"));
|
|
61
|
+
if (!invite) {
|
|
62
|
+
res.sendStatus(404);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (new Date(invite.expiration).getTime() < Date.now()) {
|
|
67
|
+
res.sendStatus(401);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const server = await db.retrieveServer(invite.serverID);
|
|
72
|
+
if (!server) {
|
|
73
|
+
res.sendStatus(404);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
const channels = await db.retrieveChannels(invite.serverID);
|
|
78
|
+
res.send(msgpack.encode({ channels, invite, server }));
|
|
79
|
+
});
|
|
80
|
+
|
|
59
81
|
router.get("/:inviteID", protect, async (req, res) => {
|
|
60
82
|
const invite = await db.retrieveInvite(getParam(req, "inviteID"));
|
|
61
83
|
if (!invite) {
|