IO-1612 Add employee vacation tracking.

This commit is contained in:
Patrick Fic
2022-01-05 11:45:37 -08:00
parent 6457acc61e
commit 50926547b3
17 changed files with 678 additions and 199 deletions

View File

@@ -1773,6 +1773,88 @@
_eq: X-Hasura-User-Id
- active:
_eq: true
- table:
schema: public
name: employee_vacation
object_relationships:
- name: employee
using:
foreign_key_constraint_on: employeeid
insert_permissions:
- role: user
permission:
check:
employee:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
columns:
- id
- created_at
- updated_at
- employeeid
- start
- end
backend_only: false
select_permissions:
- role: user
permission:
columns:
- end
- start
- created_at
- updated_at
- employeeid
- id
filter:
employee:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
update_permissions:
- role: user
permission:
columns:
- end
- start
- created_at
- updated_at
- employeeid
- id
filter:
employee:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
check: null
delete_permissions:
- role: user
permission:
filter:
employee:
bodyshop:
associations:
_and:
- user:
authid:
_eq: X-Hasura-User-Id
- active:
_eq: true
- table:
schema: public
name: employees
@@ -1791,6 +1873,13 @@
table:
schema: public
name: allocations
- name: employee_vacations
using:
foreign_key_constraint_on:
column: employeeid
table:
schema: public
name: employee_vacation
- name: jobsByEmployeeBody
using:
foreign_key_constraint_on:

View File

@@ -0,0 +1 @@
DROP TABLE "public"."employee_vacation";

View File

@@ -0,0 +1,18 @@
CREATE TABLE "public"."employee_vacation" ("id" uuid NOT NULL DEFAULT gen_random_uuid(), "created_at" timestamptz NOT NULL DEFAULT now(), "updated_at" timestamptz NOT NULL DEFAULT now(), "employeeid" uuid NOT NULL, "start" date NOT NULL, "end" date NOT NULL, PRIMARY KEY ("id") , FOREIGN KEY ("employeeid") REFERENCES "public"."employees"("id") ON UPDATE cascade ON DELETE cascade);
CREATE OR REPLACE FUNCTION "public"."set_current_timestamp_updated_at"()
RETURNS TRIGGER AS $$
DECLARE
_new record;
BEGIN
_new := NEW;
_new."updated_at" = NOW();
RETURN _new;
END;
$$ LANGUAGE plpgsql;
CREATE TRIGGER "set_public_employee_vacation_updated_at"
BEFORE UPDATE ON "public"."employee_vacation"
FOR EACH ROW
EXECUTE PROCEDURE "public"."set_current_timestamp_updated_at"();
COMMENT ON TRIGGER "set_public_employee_vacation_updated_at" ON "public"."employee_vacation"
IS 'trigger to set value of column "updated_at" to current timestamp on row update';
CREATE EXTENSION IF NOT EXISTS pgcrypto;