This commit is contained in:
parent
a9d6dfe5c5
commit
1beae94045
1
.dockerignore
Normal file
1
.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
node_modules
|
||||
20
.gitea/workflows/deploy.yaml
Normal file
20
.gitea/workflows/deploy.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
name: "Deploy minis-data-old"
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@4
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@3
|
||||
|
||||
# - name: Login to Gitea Container Registry
|
||||
# run: echo $CR_PAT | docker login git.walamana.de -u $GITEA_USERNAME --password-stdin
|
||||
|
||||
- name: Build Docker image
|
||||
run: docker build -t minis-data-old .
|
||||
14
Dockerfile
Normal file
14
Dockerfile
Normal file
@ -0,0 +1,14 @@
|
||||
FROM node:10-alpine
|
||||
|
||||
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
|
||||
WORKDIR /home/node/app
|
||||
|
||||
COPY package*.json ./
|
||||
|
||||
USER node
|
||||
RUN npm install
|
||||
COPY --chown=node:node . .
|
||||
|
||||
EXPOSE 8383
|
||||
|
||||
CMD ["node", "app.js"]
|
||||
1
app.js
1
app.js
@ -48,6 +48,7 @@ con.connect(err => {
|
||||
if (err) {
|
||||
console.log("Cant connect to MySQL database");
|
||||
console.log(err);
|
||||
console.log(config.database)
|
||||
cause = err;
|
||||
}
|
||||
console.log("Connected to database!");
|
||||
|
||||
43
docker-compose.yaml
Normal file
43
docker-compose.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
name: minis-data-old
|
||||
|
||||
networks:
|
||||
minis-data-old: {}
|
||||
|
||||
services:
|
||||
db:
|
||||
image: mariadb:latest
|
||||
restart: always
|
||||
container_name: mariadb
|
||||
environment:
|
||||
MARIADB_USER: minis
|
||||
MARIADB_PASSWORD: minis
|
||||
MARIADB_DATABASE: minis
|
||||
MARIADB_RANDOM_ROOT_PASSWORD: 1
|
||||
networks:
|
||||
- minis-data-old
|
||||
volumes:
|
||||
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
||||
ports:
|
||||
- "3306:3306"
|
||||
healthcheck:
|
||||
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
|
||||
start_period: 10s
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
app:
|
||||
image: minis-data-old
|
||||
restart: always
|
||||
ports:
|
||||
- "8383:8383"
|
||||
networks:
|
||||
- minis-data-old
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
environment:
|
||||
DB_HOST: mariadb
|
||||
DB_USER: minis
|
||||
DB_PASSWORD: minis
|
||||
DB_DATABASE: minis
|
||||
102
init.sql
Normal file
102
init.sql
Normal file
@ -0,0 +1,102 @@
|
||||
-- MySQL dump 10.19 Distrib 10.3.39-MariaDB, for debian-linux-gnu (x86_64)
|
||||
--
|
||||
-- Host: localhost Database: minis
|
||||
-- ------------------------------------------------------
|
||||
-- Server version 10.3.39-MariaDB-0+deb10u1
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||
|
||||
--
|
||||
-- Table structure for table `anwesenheit`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `anwesenheit`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `anwesenheit` (
|
||||
`USERNAME` varchar(100) NOT NULL,
|
||||
`gottesdienst_ID` int(11) NOT NULL,
|
||||
`ANWESENHEIT` int(11) NOT NULL,
|
||||
UNIQUE KEY `unique_entry` (`USERNAME`,`gottesdienst_ID`),
|
||||
KEY `USERNAME` (`USERNAME`),
|
||||
KEY `gottesdienst_ID` (`gottesdienst_ID`) USING BTREE,
|
||||
CONSTRAINT `anwesenheit_ibfk_3` FOREIGN KEY (`USERNAME`) REFERENCES `ministranten` (`USERNAME`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT `anwesenheit_ibfk_4` FOREIGN KEY (`gottesdienst_ID`) REFERENCES `gottesdienst` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `gottesdienst`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `gottesdienst`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `gottesdienst` (
|
||||
`ID` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`NAME` varchar(200) DEFAULT NULL,
|
||||
`DATUM` datetime NOT NULL,
|
||||
`ANWESENHEIT` time NOT NULL,
|
||||
`PROBE` datetime DEFAULT NULL,
|
||||
`ORT` varchar(500) DEFAULT NULL,
|
||||
`gruppe_ID` int(11) NOT NULL,
|
||||
`FESTGESETZT` tinyint(1) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (`ID`),
|
||||
KEY `gruppe_ID` (`gruppe_ID`),
|
||||
CONSTRAINT `gottesdienst_ibfk_1` FOREIGN KEY (`gruppe_ID`) REFERENCES `gruppe` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=670 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `gruppe`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `gruppe`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `gruppe` (
|
||||
`ID` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`START` date NOT NULL,
|
||||
`END` date NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
KEY `ID` (`ID`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
|
||||
--
|
||||
-- Table structure for table `ministranten`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `ministranten`;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `ministranten` (
|
||||
`USERNAME` varchar(100) NOT NULL,
|
||||
`VORNAME` varchar(100) NOT NULL,
|
||||
`NACHNAME` varchar(100) NOT NULL,
|
||||
`PASSWORT` varchar(100) NOT NULL,
|
||||
`EMAIL` varchar(200) DEFAULT NULL,
|
||||
`USER_TOKEN` varchar(200) NOT NULL,
|
||||
PRIMARY KEY (`USERNAME`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||||
|
||||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
-- Dump completed on 2024-08-07 11:43:48
|
||||
694
package-lock.json
generated
694
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
BIN
public/assets/fonts/MaterialIcons-Regular.ttf
Executable file
BIN
public/assets/fonts/MaterialIcons-Regular.ttf
Executable file
Binary file not shown.
BIN
public/assets/fonts/MaterialIcons-Regular.woff
Executable file
BIN
public/assets/fonts/MaterialIcons-Regular.woff
Executable file
Binary file not shown.
BIN
public/assets/fonts/MaterialIcons-Regular.woff2
Executable file
BIN
public/assets/fonts/MaterialIcons-Regular.woff2
Executable file
Binary file not shown.
BIN
public/favicon.ico
Executable file
BIN
public/favicon.ico
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
16
public/index.html
Executable file
16
public/index.html
Executable file
@ -0,0 +1,16 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Miniportal</title>
|
||||
<base href="/beta/">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="utf-8">
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<mini-root></mini-root>
|
||||
<script type="text/javascript" src="https://minis.walamana.de/beta/runtime.js"></script><script type="text/javascript" src="https://minis.walamana.de/beta/polyfills.js"></script><script type="text/javascript" src="https://minis.walamana.de/beta/styles.js"></script><script type="text/javascript" src="https://minis.walamana.de/beta/vendor.js"></script><script type="text/javascript" src="https://minis.walamana.de/beta/main.js"></script></body>
|
||||
</html>
|
||||
1674
public/main.js
Executable file
1674
public/main.js
Executable file
File diff suppressed because one or more lines are too long
1
public/main.js.map
Executable file
1
public/main.js.map
Executable file
File diff suppressed because one or more lines are too long
10748
public/polyfills.js
Executable file
10748
public/polyfills.js
Executable file
File diff suppressed because it is too large
Load Diff
1
public/polyfills.js.map
Executable file
1
public/polyfills.js.map
Executable file
File diff suppressed because one or more lines are too long
154
public/runtime.js
Executable file
154
public/runtime.js
Executable file
@ -0,0 +1,154 @@
|
||||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // install a JSONP callback for chunk loading
|
||||
/******/ function webpackJsonpCallback(data) {
|
||||
/******/ var chunkIds = data[0];
|
||||
/******/ var moreModules = data[1];
|
||||
/******/ var executeModules = data[2];
|
||||
/******/
|
||||
/******/ // add "moreModules" to the modules object,
|
||||
/******/ // then flag all "chunkIds" as loaded and fire callback
|
||||
/******/ var moduleId, chunkId, i = 0, resolves = [];
|
||||
/******/ for(;i < chunkIds.length; i++) {
|
||||
/******/ chunkId = chunkIds[i];
|
||||
/******/ if(installedChunks[chunkId]) {
|
||||
/******/ resolves.push(installedChunks[chunkId][0]);
|
||||
/******/ }
|
||||
/******/ installedChunks[chunkId] = 0;
|
||||
/******/ }
|
||||
/******/ for(moduleId in moreModules) {
|
||||
/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
|
||||
/******/ modules[moduleId] = moreModules[moduleId];
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ if(parentJsonpFunction) parentJsonpFunction(data);
|
||||
/******/
|
||||
/******/ while(resolves.length) {
|
||||
/******/ resolves.shift()();
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // add entry modules from loaded chunk to deferred list
|
||||
/******/ deferredModules.push.apply(deferredModules, executeModules || []);
|
||||
/******/
|
||||
/******/ // run deferred modules when all chunks ready
|
||||
/******/ return checkDeferredModules();
|
||||
/******/ };
|
||||
/******/ function checkDeferredModules() {
|
||||
/******/ var result;
|
||||
/******/ for(var i = 0; i < deferredModules.length; i++) {
|
||||
/******/ var deferredModule = deferredModules[i];
|
||||
/******/ var fulfilled = true;
|
||||
/******/ for(var j = 1; j < deferredModule.length; j++) {
|
||||
/******/ var depId = deferredModule[j];
|
||||
/******/ if(installedChunks[depId] !== 0) fulfilled = false;
|
||||
/******/ }
|
||||
/******/ if(fulfilled) {
|
||||
/******/ deferredModules.splice(i--, 1);
|
||||
/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
|
||||
/******/ }
|
||||
/******/ }
|
||||
/******/ return result;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // object to store loaded and loading chunks
|
||||
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
|
||||
/******/ // Promise = chunk loading, 0 = chunk loaded
|
||||
/******/ var installedChunks = {
|
||||
/******/ "runtime": 0
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ var deferredModules = [];
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId]) {
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/ }
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ i: moduleId,
|
||||
/******/ l: false,
|
||||
/******/ exports: {}
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.l = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // define getter function for harmony exports
|
||||
/******/ __webpack_require__.d = function(exports, name, getter) {
|
||||
/******/ if(!__webpack_require__.o(exports, name)) {
|
||||
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
||||
/******/ }
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // define __esModule on exports
|
||||
/******/ __webpack_require__.r = function(exports) {
|
||||
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
||||
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
||||
/******/ }
|
||||
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // create a fake namespace object
|
||||
/******/ // mode & 1: value is a module id, require it
|
||||
/******/ // mode & 2: merge all properties of value into the ns
|
||||
/******/ // mode & 4: return value when already ns object
|
||||
/******/ // mode & 8|1: behave like require
|
||||
/******/ __webpack_require__.t = function(value, mode) {
|
||||
/******/ if(mode & 1) value = __webpack_require__(value);
|
||||
/******/ if(mode & 8) return value;
|
||||
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
||||
/******/ var ns = Object.create(null);
|
||||
/******/ __webpack_require__.r(ns);
|
||||
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
||||
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
||||
/******/ return ns;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
/******/ __webpack_require__.n = function(module) {
|
||||
/******/ var getter = module && module.__esModule ?
|
||||
/******/ function getDefault() { return module['default']; } :
|
||||
/******/ function getModuleExports() { return module; };
|
||||
/******/ __webpack_require__.d(getter, 'a', getter);
|
||||
/******/ return getter;
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Object.prototype.hasOwnProperty.call
|
||||
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "https://minis.walamana.de/beta/";
|
||||
/******/
|
||||
/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
|
||||
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
|
||||
/******/ jsonpArray.push = webpackJsonpCallback;
|
||||
/******/ jsonpArray = jsonpArray.slice();
|
||||
/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
|
||||
/******/ var parentJsonpFunction = oldJsonpFunction;
|
||||
/******/
|
||||
/******/
|
||||
/******/ // run deferred modules from other chunks
|
||||
/******/ checkDeferredModules();
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([]);
|
||||
//# sourceMappingURL=runtime.js.map
|
||||
1
public/runtime.js.map
Executable file
1
public/runtime.js.map
Executable file
File diff suppressed because one or more lines are too long
566
public/styles.js
Executable file
566
public/styles.js
Executable file
File diff suppressed because one or more lines are too long
1
public/styles.js.map
Executable file
1
public/styles.js.map
Executable file
File diff suppressed because one or more lines are too long
165992
public/vendor.js
Executable file
165992
public/vendor.js
Executable file
File diff suppressed because one or more lines are too long
1
public/vendor.js.map
Executable file
1
public/vendor.js.map
Executable file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user