aboutsummaryrefslogtreecommitdiffstats
path: root/helpers/helpers.ts
diff options
context:
space:
mode:
Diffstat (limited to 'helpers/helpers.ts')
-rw-r--r--helpers/helpers.ts143
1 files changed, 60 insertions, 83 deletions
diff --git a/helpers/helpers.ts b/helpers/helpers.ts
index de6744f..03bc7d7 100644
--- a/helpers/helpers.ts
+++ b/helpers/helpers.ts
@@ -1,92 +1,69 @@
-import fetch from "node-fetch";
-import { Response } from "express";
+import { Colors, Color, tColors, Data, fiaTable, dbRes } from "./helpersBack";
+import { Request, Response } from "express";
-export async function makeQuery(query: string, params: Array<any>): Promise<object> {
- let t = await (
- await fetch("https://jopek.eu/maks/szkola/apkKli/fiaFiles/fia.php", {
- method: "POST",
- headers: {
- Accept: "application/json",
- "Content-Type": "application/json"
- },
- body: JSON.stringify({
- apiKey: process.env.API_KEY,
- query: query,
- params: params
+export default class Helpers {
+ static async makeQuery(query: string, params: Array<any>): Promise<object> {
+ let t = await (
+ //@ts-ignore - this doesn't exist for backend, but its never used there
+ await fetch("https://jopek.eu/maks/szkola/apkKli/fiaFiles/fia.php", {
+ method: "POST",
+ headers: {
+ Accept: "application/json",
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify({
+ apiKey: process.env.API_KEY,
+ query: query,
+ params: params
+ })
})
- })
- ).text();
- // console.log(t);
- return JSON.parse(t);
-}
+ ).text();
+ // console.log(t);
+ return JSON.parse(t);
+ }
-export function dbResToFiaTable(dbRes: dbRes): fiaTable {
- if (typeof dbRes.data === "string")
- dbRes.data = JSON.parse(dbRes.data);
- else
- throw new Error("dbResToFiaTable : wrong $1 type; ");
+ static dbResToFiaTable(dbRes: dbRes): fiaTable {
+ if (typeof dbRes.data === "string")
+ dbRes.data = JSON.parse(dbRes.data);
+ else
+ throw new Error("dbResToFiaTable : wrong $1 type; ");
- // @ts-ignore
- return dbRes;
-}
+ // @ts-ignore
+ return dbRes;
+ }
-export function checkApiRes(res: any, nRes = {} as Response): void {
- if (res.api === false) {
- if (Object.keys(nRes).length === 0) {
- alert("API Error!");
- throw new Error("API Error!");
- } else {
- nRes.status(500);
- res.send("");
+ static checkApiRes(res: any, nRes = {} as Response): any {
+ if (res.api === false) {
+ if (Object.keys(nRes).length === 0) {
+ // @ts-ignore - here error is because backend tsc is checking this file, where lib: DOM is not present
+ alert("API Error!");
+ throw new Error("API Error!");
+ } else {
+ nRes.status(500);
+ nRes.send("");
+ return false;
+ }
}
+ if (Object.keys(nRes).length !== 0)
+ nRes.status(200);
+ return res;
}
- if (Object.keys(nRes).length !== 0)
- nRes.status(200);
- return res;
-}
-
-export async function mFetch(url: string, body: object) /* : Promise<Response> */ {
- return fetch(url, {
- method: "POST",
- headers: {
- Accept: "application/json",
- "Content-Type": "application/json"
- },
- body: JSON.stringify(body)
- }).then(checkApiRes);
-}
-export interface Colors {
- blue: number;
- red: number;
- green: number;
- yellow: number;
- 0: number;
- 1: number;
- 2: number;
- 3: number;
-}
-
-export const Color: Colors = {
- blue: 0,
- red: 1,
- green: 2,
- yellow: 3,
- 0: 0,
- 1: 1,
- 2: 2,
- 3: 3
-};
+ static async mFetch(url: string, body: object): Promise<any> {
+ //@ts-ignore - this doesn't exist for backend, but its never used there
+ return fetch(url, {
+ method: "POST",
+ headers: {
+ Accept: "application/json",
+ "Content-Type": "application/json"
+ },
+ body: JSON.stringify(body)
+ }).then(Helpers.checkApiRes);
+ }
-export type tColors = typeof Color[keyof typeof Color];
-export type Data = Array<{ id: any; color: tColors; name: string }>;
-export interface fiaTable {
- id: number;
- data: Data;
- started: boolean;
-}
-export interface dbRes {
- id: number;
- data: string | Data;
- started: boolean;
-}
+ static getRandomInt(min: number, max: number) {
+ min = Math.ceil(min);
+ max = Math.floor(max);
+ return Math.floor(Math.random() * (max - min) + min); //The maximum is exclusive and the minimum is inclusive
+ }
+} \ No newline at end of file