Uczeń+ improvements (#59)

* A few changes

uonetplus-uczenplus:
- change student names
- add checking customerSymbol
- move api endpoints to another file
uonetplus-uczen:
- add checking customerSymbol
uonetplus:
- add uonetplus-wiadomosciplus and uonetplus-uczenplus tiles

* Add missing semicolons
This commit is contained in:
Marioneq 4958 2024-03-23 17:20:21 +01:00 committed by GitHub
parent 88e50754d2
commit 0bde1a127f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 246 additions and 166 deletions

8
app.js
View file

@ -14,7 +14,7 @@ const cufs = require('./src/routes/cufs');
const uonetplus = require('./src/routes/uonetplus'); const uonetplus = require('./src/routes/uonetplus');
const uonetplusOpiekun = require('./src/routes/uonetplus-opiekun'); const uonetplusOpiekun = require('./src/routes/uonetplus-opiekun');
const uonetplusUczen = require('./src/routes/uonetplus-uczen'); const uonetplusUczen = require('./src/routes/uonetplus-uczen');
const uonetplusUczenplus = require('./src/routes/uonetplus-uczenplus'); const uonetplusUczenplus = require('./src/routes/uonetplus-uczenplus/index');
const uonetplusUzytkownik = require('./src/routes/uonetplus-uzytkownik'); const uonetplusUzytkownik = require('./src/routes/uonetplus-uzytkownik');
const uonetplusWiadomosciplus = require('./src/routes/uonetplus-wiadomosciplus'); const uonetplusWiadomosciplus = require('./src/routes/uonetplus-wiadomosciplus');
@ -58,10 +58,8 @@ app.use(subdomain('uonetplus', uonetplus));
app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun.use('/powiatwulkanowy/123456', uonetplusOpiekun))); app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun.use('/powiatwulkanowy/123456', uonetplusOpiekun)));
app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun.use('/powiatwulkanowy/123457', uonetplusOpiekun))); app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun.use('/powiatwulkanowy/123457', uonetplusOpiekun)));
app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun.use('/powiatwulkanowy/123458', uonetplusOpiekun))); app.use(subdomain('uonetplus-opiekun', uonetplusOpiekun.use('/powiatwulkanowy/123458', uonetplusOpiekun)));
app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/123456', uonetplusUczen))); app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/:customerSymbol', uonetplusUczen)));
app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/123457', uonetplusUczen))); app.use(subdomain("uonetplus-uczenplus", uonetplusUczenplus.use("/powiatwulkanowy/:customerSymbol", uonetplusUczenplus)));
app.use(subdomain('uonetplus-uczen', uonetplusUczen.use('/powiatwulkanowy/123458', uonetplusUczen)));
app.use(subdomain("uonetplus-uczenplus", uonetplusUczenplus.use("/powiatwulkanowy/123456", uonetplusUczenplus)));
app.use(subdomain('uonetplus-uzytkownik', uonetplusUzytkownik.use('/powiatwulkanowy', uonetplusUzytkownik))); app.use(subdomain('uonetplus-uzytkownik', uonetplusUzytkownik.use('/powiatwulkanowy', uonetplusUzytkownik)));
app.use(subdomain('uonetplus-wiadomosciplus', uonetplusWiadomosciplus.use('/powiatwulkanowy', uonetplusWiadomosciplus))); app.use(subdomain('uonetplus-wiadomosciplus', uonetplusWiadomosciplus.use('/powiatwulkanowy', uonetplusWiadomosciplus)));
app.use('/', index); app.use('/', index);

View file

@ -9,7 +9,7 @@
"isPrzedszkolak": false, "isPrzedszkolak": false,
"isWychowanek": false, "isWychowanek": false,
"key": "MS0yLTEtNg==", "key": "MS0yLTEtNg==",
"uczen": "Jan Kowalski", "uczen": "Dariusz Kowalski",
"oddzial": "4A", "oddzial": "4A",
"jednostka": "Szkoła Wulkanowa im. Świętego Wulkanowego", "jednostka": "Szkoła Wulkanowa im. Świętego Wulkanowego",
"jednostkaGodzinaOd": null, "jednostkaGodzinaOd": null,
@ -54,7 +54,7 @@
"isPrzedszkolak": false, "isPrzedszkolak": false,
"isWychowanek": false, "isWychowanek": false,
"key": "Mi0xLTEtNg==", "key": "Mi0xLTEtNg==",
"uczen": "Joanna Czerwińska", "uczen": "Monika Czerwińska",
"oddzial": "4A", "oddzial": "4A",
"jednostka": "Szkoła Wulkanowa im. Świętego Wulkanowego", "jednostka": "Szkoła Wulkanowa im. Świętego Wulkanowego",
"jednostkaGodzinaOd": null, "jednostkaGodzinaOd": null,

View file

@ -1,5 +1,5 @@
const express = require('express'); const express = require('express');
const router = express.Router(); const router = express.Router({ mergeParams: true });
const protocol = require('../utils/connection'); const protocol = require('../utils/connection');
const dictMap = require('../utils/dictMap'); const dictMap = require('../utils/dictMap');
const converter = require('../utils/converter'); const converter = require('../utils/converter');
@ -75,10 +75,24 @@ router.get("/", (req, res) => {
}); });
router.get("/LoginEndpoint.aspx", (req, res) => { router.get("/LoginEndpoint.aspx", (req, res) => {
if (req.params.customerSymbol === "123456")
res.redirect(
protocol(req) +
"://" +
req.get("host").replace("uczen", "uczenplus") +
`/powiatwulkanowy/${req.params.customerSymbol}/LoginEndpoint.aspx`
);
res.redirect("/Start"); res.redirect("/Start");
}); });
router.get("/Start", (req, res) => { router.get("/Start", (req, res) => {
if (req.params.customerSymbol === "123456")
res.redirect(
protocol(req) +
"://" +
req.get("host").replace("uczen", "uczenplus") +
`/powiatwulkanowy/${req.params.customerSymbol}/LoginEndpoint.aspx`
);
res.render("uczen/start"); res.render("uczen/start");
}); });

View file

@ -1,152 +0,0 @@
const { Router } = require("express");
const protocol = require("../utils/connection");
const router = Router();
router.get("/", (req, res) => {
const base = protocol(req) + "://" + req.get("host") + "/powiatwulkanowy/123456";
res.json({
loginEndpoint: base + "/LoginEndpoint.aspx",
app: base + "/App",
api: [
base + "/api/Context",
base + "/api/Cache",
base + "/api/OkresyKlasyfikacyjne",
base + "/api/Zebrania",
base + "/api/SprawdzianyZadaniaDomowe",
base + "/api/SprawdzianSzczegoly",
base + "/api/ZadanieDomoweSzczegoly",
base + "/api/Uwagi",
base + "/api/Frekwencja",
base + "/api/Oceny",
base + "/api/Nauczyciele",
base + "/api/Informacje",
base + "/api/NieprzeczytaneWiadomosci",
base + "/api/DostepOffice",
base + "/api/ZarejestrowaneUrzadzenia",
base + "/api/PodrecznikiLataSzkolne",
base + "/api/SzczesliwyNumerTablica",
base + "/api/WazneDzisiajTablica",
base + "/api/WychowawcyTablica",
base + "/api/RealizacjaZajec",
base + "/api/PlanZajec",
base + "/api/DniWolne"
].sort(),
});
});
router.all("/LoginEndpoint.aspx", (req, res) => {
res.redirect(protocol(req) + "://" + req.get("host") + "/powiatwulkanowy/123456/App");
});
router.all("/App", (_req, res) => {
res.render("uczenplus/app");
});
router.all("/api/Context", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Context.json"));
});
router.all("/api/Cache", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Cache.json"));
});
router.all("/api/OkresyKlasyfikacyjne", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/OkresyKlasyfikacyjne.json"));
});
router.all("/api/Zebrania", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Zebrania.json"));
});
router.all("/api/SprawdzianyZadaniaDomowe", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/SprawdzianyZadaniaDomowe.json").map((event) => {
event.data = new Date().toISOString();
return event;
})
);
});
router.all("/api/SprawdzianSzczegoly", (_req, res) => {
const data = require("../../data/uonetplus-uczenplus/SprawdzianSzczegoly.json");
data.data = new Date().toISOString();
res.json(data);
});
router.all("/api/ZadanieDomoweSzczegoly", (_req, res) => {
const data = require("../../data/uonetplus-uczenplus/ZadanieDomoweSzczegoly.json");
data.data = new Date().toISOString();
res.json(data);
});
router.all("/api/Oceny", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Oceny.json"));
});
router.all("/api/Frekwencja", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Frekwencja.json"));
});
router.all("/api/Uwagi", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Uwagi.json"));
});
router.all("/api/Nauczyciele", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Nauczyciele.json"));
});
router.all("/api/Informacje", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Informacje.json"));
});
router.all("/api/WiadomosciNieodczytane", (_req, res) => {
res.json({ liczbaNieodczytanychWiadomosci: 2 });
});
router.all("/api/DostepOffice", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/DostepOffice.json"));
});
router.all("/api/ZarejestrowaneUrzadzenia", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/ZarejestrowaneUrzadzenia.json"));
});
router.all("/api/PodrecznikiLataSzkolne", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/PodrecznikiLataSzkolne.json"));
});
router.all("/api/SzczesliwyNumerTablica", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/SzczesliwyNumerTablica.json"));
});
router.all("/api/WazneDzisiajTablica", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/WazneDzisiajTablica.json"));
});
router.all("/api/WychowawcyTablica", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/WychowawcyTablica.json"));
});
router.all("/api/RealizacjaZajec", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/RealizacjaZajec.json").map((lesson) => {
lesson.data = new Date().toISOString();
return lesson;
})
);
});
router.all("/api/PlanZajec", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/PlanZajec.json"));
});
router.all("/api/DniWolne", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/DniWolne.json"));
});
router.all("/api/*", (_req, res) => {
res.status(404).send({ message: "Nie odnaleziono zasobu." });
});
module.exports = router;

View file

@ -0,0 +1,126 @@
const { Router } = require("express");
const router = Router();
router.use((req, res) => {
if (req.params.customerSymbol !== "123456")
res.status(409).json({ message: "Brak uprawnień." });
});
router.all("/Context", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Context.json"));
});
router.all("/Cache", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Cache.json"));
});
router.all("/OkresyKlasyfikacyjne", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/OkresyKlasyfikacyjne.json"));
});
router.all("/Zebrania", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Zebrania.json"));
});
router.all("/SprawdzianyZadaniaDomowe", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/SprawdzianyZadaniaDomowe.json").map(
(event) => {
event.data = new Date().toISOString();
return event;
}
)
);
});
router.all("/SprawdzianSzczegoly", (_req, res) => {
const data = require("../../data/uonetplus-uczenplus/SprawdzianSzczegoly.json");
data.data = new Date().toISOString();
res.json(data);
});
router.all("/ZadanieDomoweSzczegoly", (_req, res) => {
const data = require("../../data/uonetplus-uczenplus/ZadanieDomoweSzczegoly.json");
data.data = new Date().toISOString();
res.json(data);
});
router.all("/Oceny", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Oceny.json"));
});
router.all("/Frekwencja", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Frekwencja.json"));
});
router.all("/Uwagi", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Uwagi.json"));
});
router.all("/Nauczyciele", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Nauczyciele.json"));
});
router.all("/Informacje", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/Informacje.json"));
});
router.all("/WiadomosciNieodczytane", (_req, res) => {
res.json({ liczbaNieodczytanychWiadomosci: 2 });
});
router.all("/DostepOffice", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/DostepOffice.json"));
});
router.all("/ZarejestrowaneUrzadzenia", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/ZarejestrowaneUrzadzenia.json")
);
});
router.all("/PodrecznikiLataSzkolne", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/PodrecznikiLataSzkolne.json")
);
});
router.all("/SzczesliwyNumerTablica", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/SzczesliwyNumerTablica.json")
);
});
router.all("/WazneDzisiajTablica", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/WazneDzisiajTablica.json"));
});
router.all("/WychowawcyTablica", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/WychowawcyTablica.json"));
});
router.all("/RealizacjaZajec", (_req, res) => {
res.json(
require("../../data/uonetplus-uczenplus/RealizacjaZajec.json").map(
(lesson) => {
lesson.data = new Date().toISOString();
return lesson;
}
)
);
});
router.all("/PlanZajec", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/PlanZajec.json"));
});
router.all("/DniWolne", (_req, res) => {
res.json(require("../../data/uonetplus-uczenplus/DniWolne.json"));
});
router.all("/*", (_req, res) => {
res.status(404).send({ message: "Nie odnaleziono zasobu." });
});
module.exports = router;

View file

@ -0,0 +1,66 @@
const { Router } = require("express");
const protocol = require("../../utils/connection");
const apiRouter = require("./api");
const router = Router({ mergeParams: true });
router.use("/api", apiRouter);
router.get("/", (req, res) => {
const base =
protocol(req) + "://" + req.get("host") + "/powiatwulkanowy/123456";
res.json({
loginEndpoint: base + "/LoginEndpoint.aspx",
app: base + "/App",
api: [
base + "/api/Context",
base + "/api/Cache",
base + "/api/OkresyKlasyfikacyjne",
base + "/api/Zebrania",
base + "/api/SprawdzianyZadaniaDomowe",
base + "/api/SprawdzianSzczegoly",
base + "/api/ZadanieDomoweSzczegoly",
base + "/api/Uwagi",
base + "/api/Frekwencja",
base + "/api/Oceny",
base + "/api/Nauczyciele",
base + "/api/Informacje",
base + "/api/NieprzeczytaneWiadomosci",
base + "/api/DostepOffice",
base + "/api/ZarejestrowaneUrzadzenia",
base + "/api/PodrecznikiLataSzkolne",
base + "/api/SzczesliwyNumerTablica",
base + "/api/WazneDzisiajTablica",
base + "/api/WychowawcyTablica",
base + "/api/RealizacjaZajec",
base + "/api/PlanZajec",
base + "/api/DniWolne",
].sort(),
});
});
router.all("/LoginEndpoint.aspx", (req, res) => {
if (req.params.customerSymbol !== "123456")
res.redirect(
protocol(req) +
"://" +
req.get("host").replace("uczenplus", "uczen") +
`/powiatwulkanowy/${req.params.customerSymbol}/LoginEndpoint.aspx`
);
res.redirect(
protocol(req) + "://" + req.get("host") + "/powiatwulkanowy/123456/App"
);
});
router.all("/App", (req, res) => {
if (req.params.customerSymbol !== "123456")
res.redirect(
protocol(req) +
"://" +
req.get("host").replace("uczenplus", "uczen") +
`/powiatwulkanowy/${req.params.customerSymbol}/LoginEndpoint.aspx`
);
res.render("uczenplus/app");
});
module.exports = router;

View file

@ -161,9 +161,23 @@ router.all(/^\/([a-z0-9]+)(?:\/LoginEndpoint\.aspx|\/)?$/i, (req, res) => {
router.get(["/powiatwulkanowy/Start.mvc", "/powiatwulkanowy/Start.mvc/Index"], (req, res) => { router.get(["/powiatwulkanowy/Start.mvc", "/powiatwulkanowy/Start.mvc/Index"], (req, res) => {
res.render("homepage", { res.render("homepage", {
title: "Uonet+", title: "Uonet+",
uonetplusOpiekun: protocol(req) + "://" + req.get('host').replace("uonetplus", "uonetplus-opiekun"), uonetplusOpiekun:
uonetplusUczen: protocol(req) + "://" + req.get('host').replace("uonetplus", "uonetplus-uczen") protocol(req) +
"://" +
req.get("host").replace("uonetplus", "uonetplus-opiekun"),
uonetplusUczen:
protocol(req) +
"://" +
req.get("host").replace("uonetplus", "uonetplus-uczen"),
uonetplusUczenplus:
protocol(req) +
"://" +
req.get("host").replace("uonetplus", "uonetplus-uczenplus"),
uonetplusWiadomosciplus:
protocol(req) +
"://" +
req.get("host").replace("uonetplus", "uonetplus-wiadomosciplus"),
}); });
}); });

View file

@ -54,9 +54,6 @@ block content
// many schools // many schools
#idAppUczenExt #idAppUczenExt
.newAppLink .newAppLink
a(href=uonetplusUczen + "/powiatwulkanowy/123456/")
span.header.directLink SZK1
br
a(href=uonetplusUczen + "/powiatwulkanowy/123457/") a(href=uonetplusUczen + "/powiatwulkanowy/123457/")
span.header.directLink SZK2 span.header.directLink SZK2
br br
@ -69,5 +66,22 @@ block content
#idEmptyAppUczenExt #idEmptyAppUczenExt
.name Uczeń NOWOŚĆ .name Uczeń NOWOŚĆ
// # new new student (student+)
.appLink
a(href=uonetplusUczenplus + "/powiatwulkanowy/123456/App")
.imagedHeader.directLink
#idEmptyAppUczenPlus
.UczenPlusImg.appImg
.name Uczeń Plus
// # messages+
.appLink
a(href=uonetplusWiadomosciplus + "/powiatwulkanowy/App")
.imagedHeader.directLink
#idEmptyAppWiadomosciPlus
.WiadomosciPlusPlusImg.appImg
.name Wiadomości Plus
.appLink .appLink
a(href="/powiatwulkanowy/Start.mvc/Endpoints") Kafelki a(href="/powiatwulkanowy/Start.mvc/Endpoints") Kafelki