Skip to content

Commit 47119e4

Browse files
Mise en place du congé menstruel, avec anonymisation et contrainte de deux jours par mois non reconductibles
1 parent 606d199 commit 47119e4

38 files changed

Lines changed: 1018 additions & 1549 deletions

.env

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Defaults
22
DATABASE_HOST=localhost
3-
DATABASE_PORT=5432
4-
DATABASE_USERNAME=docker
5-
DATABASE_PASSWORD=docker
3+
DATABASE_PORT=5433
4+
DATABASE_USERNAME=permacoop
5+
DATABASE_PASSWORD=permacoop
66
DATABASE_NAME=permacoop
77
CALENDAR_TOKEN='abcd1234'
88
SESSION_SECRET=changeme

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ Then, you can seed the database with fake data
5151
make database-seed
5252
```
5353

54-
This command will create the default user "John Doe" :
54+
This command will create the following seed accounts:
5555

56-
```json
57-
{
58-
"email": "john@doe.com",
59-
"password": "john"
60-
}
61-
```
56+
| Name | Email | Password | Role |
57+
|------|-------|----------|------|
58+
| John Doe | john@doe.com | john | COOPERATOR |
59+
| Jane Smith | jane@smith.com | john | COOPERATOR |
60+
61+
4 additional users are also created with random emails (generated by faker) — they all share the same password: `john`.
6262

6363
The server will be available at <http://localhost:3000>.
6464

docker-compose.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,17 @@ services:
77
database:
88
image: postgres:12
99
environment:
10-
POSTGRES_USER: docker
11-
POSTGRES_PASSWORD: docker
10+
POSTGRES_USER: permacoop
11+
POSTGRES_PASSWORD: permacoop
1212
POSTGRES_DB: permacoop
13-
PGUSER: docker
14-
PGPASSWORD: docker
13+
PGUSER: permacoop
14+
PGPASSWORD: permacoop
1515
volumes:
1616
- 'database:/var/lib/postgresql/data'
1717
ports:
18-
- 5432:5432
18+
- 5433:5432
19+
healthcheck:
20+
test: ["CMD-SHELL", "pg_isready -U permacoop"]
21+
interval: 5s
22+
timeout: 5s
23+
retries: 5

init-db.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash
2+
set -e
3+
4+
psql -v ON_ERROR_STOP=1 --username "docker" --dbname "permacoop" <<-EOSQL
5+
CREATE ROLE permacoop WITH LOGIN PASSWORD 'permacoop' CREATEDB;
6+
EOSQL
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { MigrationInterface, QueryRunner } from 'typeorm';
2+
3+
export class AddMenstrualLeave1743667200000 implements MigrationInterface {
4+
name = 'AddMenstrualLeave1743667200000';
5+
6+
public async up(queryRunner: QueryRunner): Promise<void> {
7+
await queryRunner.query(
8+
`ALTER TYPE "public"."leave_request_type_enum" RENAME TO "leave_request_type_enum_old"`
9+
);
10+
await queryRunner.query(
11+
`CREATE TYPE "public"."leave_request_type_enum" AS ENUM('paid', 'unpaid', 'special', 'medical', 'illimited', 'postponedWorkedFreeDay', 'relocation', 'menstrual')`
12+
);
13+
await queryRunner.query(
14+
`ALTER TABLE "leave_request" ALTER COLUMN "type" TYPE "public"."leave_request_type_enum" USING "type"::"text"::"public"."leave_request_type_enum"`
15+
);
16+
await queryRunner.query(`DROP TYPE "public"."leave_request_type_enum_old"`);
17+
}
18+
19+
public async down(queryRunner: QueryRunner): Promise<void> {
20+
await queryRunner.query(
21+
`CREATE TYPE "public"."leave_request_type_enum_old" AS ENUM('paid', 'unpaid', 'special', 'medical', 'illimited', 'postponedWorkedFreeDay', 'relocation')`
22+
);
23+
await queryRunner.query(
24+
`ALTER TABLE "leave_request" ALTER COLUMN "type" TYPE "public"."leave_request_type_enum_old" USING "type"::"text"::"public"."leave_request_type_enum_old"`
25+
);
26+
await queryRunner.query(`DROP TYPE "public"."leave_request_type_enum"`);
27+
await queryRunner.query(
28+
`ALTER TYPE "public"."leave_request_type_enum_old" RENAME TO "leave_request_type_enum"`
29+
);
30+
}
31+
}

0 commit comments

Comments
 (0)