-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
93 lines (74 loc) · 2.33 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
const express = require("express");
const cors = require("cors");
const Database = require("@replit/database");
const app = express();
const db = new Database();
app.use(cors());
app.get("/", function(request, response) {
response.json({
status: "ok",
dfws: "0.1.0"
});
});
app.get("/broadcasting/:channel", function(request, response) {
var channel = String(request.params.channel || "").toLowerCase();
if (!channel.match(/^[a-z0-9_]{1,20}$/)) {
response.status(404);
response.json({
status: "error",
code: "broadcastingInvalidChannelName",
message: "The specified broadcasting channel name is invalid"
});
return;
}
db.get(`broadcastingChannels.${channel}`).then(function(value) {
if (value == null) {
response.status(404);
response.json({
status: "error",
code: "broadcastingChannelNotFound",
message: "The specified broadcasting channel was not found"
});
return;
}
response.json({
status: "ok",
id: (value || {}).id
});
});
});
app.post("/broadcasting/:channel", function(request, response) {
var channel = String(request.params.channel || "").toLowerCase();
if (!channel.match(/^[a-z0-9_]{1,20}$/)) {
response.status(404);
response.json({
status: "error",
code: "broadcastingInvalidChannelName",
message: "The specified broadcasting channel name is invalid"
});
return;
}
db.get(`broadcastingChannels.${channel}`).then(function(value) {
if (value != null) {
response.status(409);
response.json({
status: "error",
code: "broadcastingChannelExists",
message: "The specified broadcasting channel already exists"
});
return;
}
return db.set(`broadcastingChannels.${channel}`, {
id: String(request.query.id || ""),
dateCreated: Date.now()
}).then(function() {
response.json({
status: "ok",
id: (value || {}).id
});
});
});
});
app.listen(443, function() {
console.log("Listening on port 443");
});