dev/actions #26

Merged
tom_trgr merged 41 commits from dev/actions into dev/main 2025-08-29 15:36:00 +02:00
10 changed files with 66 additions and 26 deletions
Showing only changes of commit 4555ab9a30 - Show all commits

1
.gitignore vendored
View File

@@ -36,3 +36,4 @@ DB/pg_data
.vscode .vscode
node_modules node_modules
atlas.hcl

View File

@@ -98,16 +98,3 @@ CREATE TABLE "s_abwesenheit_typen" (
-- Adds crypto extension -- Adds crypto extension
CREATE EXTENSION IF NOT EXISTS pgcrypto; CREATE EXTENSION IF NOT EXISTS pgcrypto;
-- ----------------------------
-- Insert example data
-- ----------------------------
INSERT INTO "s_personal_daten" ("personal_nummer", "aktiv_beschaeftigt", "vorname", "nachname", "geburtsdatum", "plz", "adresse", "geschlecht", "card_uid", "hauptbeschaeftigungs_ort", "arbeitszeit_per_tag", "arbeitszeit_min_start", "arbeitszeit_max_ende", "vorgesetzter_pers_nr") VALUES
(123, 't', 'Max', 'Mustermann', '2003-02-01', '08963', 'Altenburger Str. 44A', 1, 'acde-edca', 1, 7.5, '07:00:00', '20:00:00', 0);
INSERT INTO "user_password" ("personal_nummer", "pass_hash") VALUES
(123, crypt('max_pass', gen_salt('bf')));
INSERT INTO "s_anwesenheit_typen" ("anwesenheit_id", "anwesenheit_name") VALUES (1, 'Büro');
INSERT INTO "s_abwesenheit_typen" ("abwesenheit_id", "abwesenheit_name") VALUES (1, 'Urlaub'), (2, 'Krank'), (3, 'Kurzarbeit');

View File

@@ -0,0 +1,8 @@
INSERT INTO "s_personal_daten" ("personal_nummer", "aktiv_beschaeftigt", "vorname", "nachname", "geburtsdatum", "plz", "adresse", "geschlecht", "card_uid", "hauptbeschaeftigungs_ort", "arbeitszeit_per_tag", "arbeitszeit_min_start", "arbeitszeit_max_ende", "vorgesetzter_pers_nr") VALUES
(123, 't', 'Max', 'Mustermann', '2003-02-01', '08963', 'Altenburger Str. 44A', 1, 'acde-edca', 1, 7.5, '07:00:00', '20:00:00', 0);
INSERT INTO "user_password" ("personal_nummer", "pass_hash") VALUES
(123, crypt('max_pass', gen_salt('bf')));
INSERT INTO "s_anwesenheit_typen" ("anwesenheit_id", "anwesenheit_name") VALUES (1, 'Büro');
INSERT INTO "s_abwesenheit_typen" ("abwesenheit_id", "abwesenheit_name") VALUES (1, 'Urlaub'), (2, 'Krank'), (3, 'Kurzarbeit');

View File

@@ -1,7 +1,7 @@
POSTGRES_USER=root POSTGRES_USER=root
POSTGRES_PASSWORD=very_secure POSTGRES_PASSWORD=very_secure
POSTGRES_API_USER=api_nuter POSTGRES_API_USER=api_nutzer
POSTGRES_API_PASSWORD=password POSTGRES_API_PASS=password
POSTGRES_PATH=../DB POSTGRES_PATH=../DB
POSTGRES_DB=arbeitszeitmessung POSTGRES_DB=arbeitszeitmessung
EXPOSED_PORT=8000 EXPOSED_PORT=8000

View File

@@ -1,10 +1,10 @@
# The "dev" environment represents our local testings. # The "dev" environment represents our local testings.
env "local" { env "local" {
url = "postgres://root:very_secure@:5432/arbeitszeitmessung?search_path=public&sslmode=disable" url = "postgres://user:password@:5432/database?search_path=public&sslmode=disable"
migration { migration {
dir = "file://migrations" dir = "file://migrations"
format = golang-migrate format = golang-migrate
} }
dev = "docker://postgres/16/dev?search_path=public" dev = "docker://postgres/16/dev?search_path=public"
src = "file://schema.sql" src = "file://DB/initdb/01_schema.sql"
} }

View File

@@ -0,0 +1,16 @@
-- reverse: create "wochen_report" table
DROP TABLE "wochen_report";
-- reverse: create "user_password" table
DROP TABLE "user_password";
-- reverse: set comment to column: "geschlecht" on table: "personal_daten"
COMMENT ON COLUMN "personal_daten"."geschlecht" IS NULL;
-- reverse: create "personal_daten" table
DROP TABLE "personal_daten";
-- reverse: set comment to column: "geraet_id" on table: "anwesenheit"
COMMENT ON COLUMN "anwesenheit"."geraet_id" IS NULL;
-- reverse: set comment to column: "check_in_out" on table: "anwesenheit"
COMMENT ON COLUMN "anwesenheit"."check_in_out" IS NULL;
-- reverse: create "anwesenheit" table
DROP TABLE "anwesenheit";
-- reverse: create "abwesenheit" table
DROP TABLE "abwesenheit";

View File

@@ -1,4 +1,4 @@
-- Create "abwesenheit" table -- create "abwesenheit" table
CREATE TABLE "abwesenheit" ( CREATE TABLE "abwesenheit" (
"counter_id" bigserial NOT NULL, "counter_id" bigserial NOT NULL,
"card_uid" character varying(255) NULL, "card_uid" character varying(255) NULL,
@@ -6,21 +6,20 @@ CREATE TABLE "abwesenheit" (
"datum" timestamptz NULL DEFAULT (now())::date, "datum" timestamptz NULL DEFAULT (now())::date,
PRIMARY KEY ("counter_id") PRIMARY KEY ("counter_id")
); );
-- Create "anwesenheit" table -- create "anwesenheit" table
CREATE TABLE "anwesenheit" ( CREATE TABLE "anwesenheit" (
"counter_id" bigserial NOT NULL, "counter_id" bigserial NOT NULL,
"timestamp" timestamptz NULL DEFAULT CURRENT_TIMESTAMP, "timestamp" timestamptz NULL DEFAULT CURRENT_TIMESTAMP,
"card_uid" character varying(255) NULL, "card_uid" character varying(255) NULL,
"check_in_out" smallint NULL, "check_in_out" smallint NULL,
"anwesenheit_type" smallint NULL,
"geraet_id" smallint NULL, "geraet_id" smallint NULL,
PRIMARY KEY ("counter_id") PRIMARY KEY ("counter_id")
); );
-- Set comment to column: "check_in_out" on table: "anwesenheit" -- set comment to column: "check_in_out" on table: "anwesenheit"
COMMENT ON COLUMN "anwesenheit"."check_in_out" IS '1=Check In 2=Check Out , 3=Check in Manuell, 4=Check out manuell255=Automatic Check Out'; COMMENT ON COLUMN "anwesenheit"."check_in_out" IS '1=Check In 2=Check Out , 3=Check in Manuell, 4=Check out manuell255=Automatic Check Out';
-- Set comment to column: "geraet_id" on table: "anwesenheit" -- set comment to column: "geraet_id" on table: "anwesenheit"
COMMENT ON COLUMN "anwesenheit"."geraet_id" IS 'ID des Lesegerätes'; COMMENT ON COLUMN "anwesenheit"."geraet_id" IS 'ID des Lesegerätes';
-- Create "personal_daten" table -- create "personal_daten" table
CREATE TABLE "personal_daten" ( CREATE TABLE "personal_daten" (
"personal_nummer" integer NOT NULL, "personal_nummer" integer NOT NULL,
"aktiv_beschaeftigt" boolean NULL, "aktiv_beschaeftigt" boolean NULL,
@@ -38,16 +37,16 @@ CREATE TABLE "personal_daten" (
"vorgesetzter_pers_nr" integer NULL, "vorgesetzter_pers_nr" integer NULL,
PRIMARY KEY ("personal_nummer") PRIMARY KEY ("personal_nummer")
); );
-- Set comment to column: "geschlecht" on table: "personal_daten" -- set comment to column: "geschlecht" on table: "personal_daten"
COMMENT ON COLUMN "personal_daten"."geschlecht" IS '1==weiblich, 2==maennlich, 3==divers'; COMMENT ON COLUMN "personal_daten"."geschlecht" IS '1==weiblich, 2==maennlich, 3==divers';
-- Create "user_password" table -- create "user_password" table
CREATE TABLE "user_password" ( CREATE TABLE "user_password" (
"personal_nummer" integer NOT NULL, "personal_nummer" integer NOT NULL,
"pass_hash" text NULL, "pass_hash" text NULL,
"zuletzt_geandert" timestamp NULL DEFAULT CURRENT_TIMESTAMP, "zuletzt_geandert" timestamp NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("personal_nummer") PRIMARY KEY ("personal_nummer")
); );
-- Create "wochen_report" table -- create "wochen_report" table
CREATE TABLE "wochen_report" ( CREATE TABLE "wochen_report" (
"id" serial NOT NULL, "id" serial NOT NULL,
"personal_nummer" integer NULL, "personal_nummer" integer NULL,

View File

@@ -0,0 +1,10 @@
-- reverse rename "s_personal_daten" table
ALTER TABLE "s_personal_daten" RENAME TO "personal_daten";
DROP TABLE "s_personal_daten";
-- reverse: create "s_anwesenheit_typen" table
DROP TABLE "s_anwesenheit_typen";
-- reverse: create "s_abwesenheit_typen" table
DROP TABLE "s_abwesenheit_typen";
-- reverse: modify "anwesenheit" table
ALTER TABLE "anwesenheit" DROP COLUMN "manuelle_buchung";

View File

@@ -0,0 +1,16 @@
-- modify "anwesenheit" table
ALTER TABLE "anwesenheit" ADD COLUMN "manuelle_buchung" boolean NULL;
-- create "s_abwesenheit_typen" table
CREATE TABLE "s_abwesenheit_typen" (
"abwesenheit_id" smallint NOT NULL,
"abwesenheit_name" character varying(255) NULL,
PRIMARY KEY ("abwesenheit_id")
);
-- create "s_anwesenheit_typen" table
CREATE TABLE "s_anwesenheit_typen" (
"anwesenheit_id" smallint NOT NULL,
"anwesenheit_name" character varying(255) NULL,
PRIMARY KEY ("anwesenheit_id")
);
-- create "s_personal_daten" table
ALTER TABLE "personal_daten" RENAME TO "s_personal_daten";

3
migrations/atlas.sum Normal file
View File

@@ -0,0 +1,3 @@
h1:5gPDmrcQS12KjKLuwN1ycTBHtbHbkzd7rUIj01uJrhA=
20250802065143_initial.up.sql h1:9cUWduWgONRfI5LV+b3nFvei6DKDqPxcNryKVg1xo80=
20250802075213_control_tables.up.sql h1:5vQLBHMM2Sa1FErP5gQUUHAoSiV2RQ0cOlMEEDFcoKA=