Add messages+ domain and endpoints

This commit is contained in:
Mikołaj Pich 2022-08-20 16:17:58 +02:00
parent 38ded23cd6
commit 6e28f58bd5
5 changed files with 266 additions and 2 deletions

2
app.js
View file

@ -16,6 +16,7 @@ const uonetplus = require('./src/routes/uonetplus');
const uonetplusOpiekun = require('./src/routes/uonetplus-opiekun');
const uonetplusUczen = require('./src/routes/uonetplus-uczen');
const uonetplusUzytkownik = require('./src/routes/uonetplus-uzytkownik');
const uonetplusWiadomosciplus = require('./src/routes/uonetplus-wiadomosciplus');
const app = express();
@ -67,6 +68,7 @@ app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/123456
app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/123457', uonetplusUczen)));
app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/123458', uonetplusUczen)));
app.use(subdomain('uonetplus-uzytkownik', uonetplusUzytkownik.use('/powiatwulkanowy', uonetplusUzytkownik)));
app.use(subdomain('uonetplus-wiadomosciplus', uonetplusWiadomosciplus.use('/powiatwulkanowy', uonetplusWiadomosciplus)));
app.use('/', index);
// catch 404 and forward to error handler

View file

@ -1,11 +1,11 @@
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com api.example.com cufs.example.com uonetplus.example.com uonetplus-opiekun.example.com uonetplus-uczen.example.com uonetplus-uzytkownik.example.com;
server_name example.com api.example.com cufs.example.com uonetplus.example.com uonetplus-opiekun.example.com uonetplus-uczen.example.com uonetplus-uzytkownik.example.com uonetplus-wiadomosciplus.example.com;
ssl_trusted_certificate /path/to/chain.pem;
ssl_certificate /path/to/fullchain.pem;

View file

@ -0,0 +1,258 @@
const express = require('express');
const router = express.Router();
const protocol = require('../utils/connection');
const converter = require('../utils/converter');
const {getRandomInt} = require("../utils/api");
router.get("/", (req, res) => {
res.render("messages");
});
router.get("/-endpoints", (req, res) => {
const base = protocol(req) + "://" + req.get('host') + "/powiatwulkanowy";
res.json({
status: "sucess",
data: {
endpoints: [
"/api/Skrzynki",
"/api/Pracownicy",
"/api/Odebrane",
"/api/OdebraneSkrzynka",
"/api/Wyslane",
"/api/WyslaneSkrzynka",
"/api/Usuniete",
"/api/UsunieteSkrzynka",
"/api/WiadomoscSzczegoly",
"/api/WiadomoscOdpowiedzPrzekaz",
"/api/WiadomoscNowa",
"/api/MoveTrash",
"/api/Delete",
].map(item => {
return base + item;
})
}
});
});
router.get([
"/api/Odebrane",
"/api/OdebraneSkrzynka",
], (req, res) => {
res.json({
"success": true,
"data": require("../../data/api/messages/WiadomosciOdebrane").map(item => {
const recipientsNumber = getRandomInt(60, 100);
const readBy = getRandomInt(20, 60);
const unreadBy = recipientsNumber - readBy;
return {
"Id": item.WiadomoscId * 2,
"Nieprzeczytana": !item.GodzinaPrzeczytania,
"Nieprzeczytane": unreadBy,
"Przeczytane": readBy,
"Data": converter.formatDate(new Date(item.DataWyslaniaUnixEpoch * 1000), true) + ' 00:00:00',
"Tresc": null,
"Temat": item.Tytul,
"Nadawca": {
"Id": "" + item.NadawcaId,
"Name": item.Nadawca,
"IdLogin": item.NadawcaId,
"Unreaded": false,
"Date": null,
"Role": 2,
"PushMessage": false,
"UnitId": 0,
"Hash": "abcdef="
},
"IdWiadomosci": item.WiadomoscId,
"HasZalaczniki": true,
"FolderWiadomosci": 1,
"Adresaci": []
};
})
});
});
router.get([
"/api/Wyslane",
"/api/WyslaneSkrzynka",
], (req, res) => {
res.json({
"success": true,
"data": require("../../data/api/messages/WiadomosciWyslane").map(item => {
return {
"Id": item.WiadomoscId * 2,
"Nieprzeczytana": !item.GodzinaPrzeczytania,
"Nieprzeczytane": parseInt(item.Nieprzeczytane, 10),
"Przeczytane": parseInt(item.Przeczytane, 10),
"Data": converter.formatDate(new Date(item.DataWyslaniaUnixEpoch * 1000), true) + ' 00:00:00',
"Tresc": null,
"Temat": item.Tytul,
"Nadawca": {
"Id": "" + item.NadawcaId,
"Name": item.Nadawca,
"IdLogin": item.NadawcaId,
"Unreaded": false,
"Date": null,
"Role": 2,
"PushMessage": false,
"UnitId": 0,
"Hash": "abcdef="
},
"IdWiadomosci": item.WiadomoscId,
"HasZalaczniki": false,
"FolderWiadomosci": 2,
"Adresaci": []
};
})
});
});
router.get([
"/api/Usuniete",
"/api/UsunieteSkrzynka",
], (req, res) => {
res.json({
"success": true,
"data": require("../../data/api/messages/WiadomosciUsuniete").map(item => {
return {
"Id": item.WiadomoscId * 2,
"Nieprzeczytana": !item.GodzinaPrzeczytania,
"Nieprzeczytane": parseInt(item.Nieprzeczytane, 10),
"Przeczytane": parseInt(item.Przeczytane, 10),
"Data": converter.formatDate(new Date(item.DataWyslaniaUnixEpoch * 1000), true) + ' 00:00:00',
"Tresc": null,
"Temat": item.Tytul,
"Nadawca": {
"Id": "" + item.NadawcaId,
"Name": item.Nadawca,
"IdLogin": item.NadawcaId,
"Unreaded": false,
"Date": null,
"Role": 2,
"PushMessage": false,
"UnitId": 0,
"Hash": "abcdef="
},
"IdWiadomosci": item.WiadomoscId,
"HasZalaczniki": false,
"FolderWiadomosci": 3,
"Adresaci": []
};
})
});
});
router.get("/api/Skrzynki", (req, res) => {
const user = require("../../data/api/ListaUczniow")[1];
res.json({
"success": true,
"data": [
{
"IdJednostkaSprawozdawcza": user.IdJednostkaSprawozdawcza,
"Skrot": user.JednostkaSprawozdawczaSkrot,
"Role": [1],
"NazwaNadawcy": user.Imie + " " + user.Nazwisko,
"WychowawcaWOddzialach": [],
"Id": user.Id
}
]
});
});
router.all("/api/WiadomoscSzczegoly", (req, res) => {
const message = require("../../data/api/messages/WiadomosciOdebrane")[0];
res.json({
"success": true,
"data": {
"Id": message.WiadomoscId,
"Tresc": message.Tresc,
"Zalaczniki": [
{
"Url": "https://1drv.ms/u/s!AmvjLDq5anT2psJ4nujoBUyclWOUhw",
"IdOneDrive": "0123456789ABCDEF!123",
"IdWiadomosc": message.WiadomoscId,
"NazwaPliku": "nazwa_pliku.pptx",
"Id": message.WiadomoscId * 3
},
{
"Url": "https://wulkanowy.github.io/",
"IdOneDrive": "0123456789ABCDEF!124",
"IdWiadomosc": message.WiadomoscId,
"NazwaPliku": "wulkanowy.txt",
"Id": message.WiadomoscId * 4
},
{
"Url": "https://github.com/wulkanowy/wulkanowy",
"IdOneDrive": "0123456789ABCDEF!125",
"IdWiadomosc": message.WiadomoscId,
"NazwaPliku": "wulkanowy(2).txt",
"Id": message.WiadomoscId * 5
}
]
}
});
});
router.all("/api/WiadomoscOdpowiedzPrzekaz", (req, res) => {
const message = require("../../data/api/messages/WiadomosciOdebrane")[0];
res.json({
"success": true,
"data": {
"Id": message.WiadomoscId,
"Tresc": message.Tresc,
"Zalaczniki": [
{
"Url": "https://1drv.ms/u/s!AmvjLDq5anT2psJ4nujoBUyclWOUhw",
"IdOneDrive": "0123456789ABCDEF!123",
"IdWiadomosc": message.WiadomoscId,
"NazwaPliku": "nazwa_pliku.pptx",
"Id": message.WiadomoscId * 3
},
{
"Url": "https://wulkanowy.github.io/",
"IdOneDrive": "0123456789ABCDEF!124",
"IdWiadomosc": message.WiadomoscId,
"NazwaPliku": "wulkanowy.txt",
"Id": message.WiadomoscId * 4
},
{
"Url": "https://github.com/wulkanowy/wulkanowy",
"IdOneDrive": "0123456789ABCDEF!125",
"IdWiadomosc": message.WiadomoscId,
"NazwaPliku": "wulkanowy(2).txt",
"Id": message.WiadomoscId * 5
}
]
}
});
});
router.all("/api/Pracownicy", (req, res) => {
const user = require("../../data/api/ListaUczniow")[1];
const recipient = require("../../data/api/dictionaries/Pracownicy")[1];
res.json({
"success": true,
"data": [
{
"Id": recipient.Id * 8, // ¯\_(ツ)_/¯
"Name": `${recipient.Imie} ${recipient.Nazwisko} [${recipient.Kod}] - pracownik (${user.JednostkaSprawozdawczaSkrot})`,
"IdLogin": recipient.LoginId,
"Role": 7,
"Hash": "abcd==",
}
]
});
});
router.all([
"/api/MoveTrash",
"/api/Delete",
], (req, res) => {
res.status(204).send();
});
router.all("/api/WiadomoscNowa", (req, res) => {
res.status(204).send();
});
module.exports = router;

View file

@ -20,3 +20,5 @@ block content
a(href=proto + "://uonetplus-opiekun." + host + "/powiatwulkanowy/123456") uonetplus-opiekun
li
a(href=proto + "://uonetplus-uzytkownik." + host) uonetplus-uzytkownik
li
a(href=proto + "://uonetplus-wiadomosciplus." + host) uonetplus-wiadomosciplus

View file

@ -23,5 +23,7 @@ html
a(href=proto + "://uonetplus-opiekun." + host + "/powiatwulkanowy/123456") uonetplus-opiekun
li
a(href=proto + "://uonetplus-uzytkownik." + host) uonetplus-uzytkownik
li
a(href=proto + "://uonetplus-wiadomosciplus." + host) uonetplus-wiadomosciplus
block extraFooter