๐Ÿ‘ฉโ€๐Ÿš’ Firefighters API written in Gleam!
gleam

Entity RelationShip Diagram#

---
title: SENAC Brigade
---

erDiagram

    user_account {
        UUID id PK
        USER_ROLE_ENUM user_role
        TEXT full_name
        TEXT password_hash
        TEXT registration
        TEXT phone
        TEXT email UK
        BOOLEAN is_active
        TIMESTAMP created_at
        TIMESTAMP updated_at
    }

    notification_preference ||--|{ user_account : preference
    notification_preference {
        UUID id PK
        UUID user_id FK
        NOTIFICATION_TYPE_ENUM notification_type
        BOOLEAN enabled
        TIMESTAMP created_at
        TIMESTAMP updated_at
    }

    brigade }o--|{ user_account : leader_of
    brigade {
        UUID id PK
        UUID leader_id FK
        TEXT name
        TEXT vehicle_code
        TEXT description
        BOOLEAN is_active
        TIMESTAMP created_at
        TIMESTAMP updated_at
    }

    brigade_membership }|--|{ user_account : is_member_of
    brigade_membership }|--|{ brigade : is_part_of
    brigade_membership {
        UUID id PK
        UUID user_id FK
        UUID brigade_id FK
    }

    occurrence }o--|{ user_account : submit
    occurrence {
        UUID id PK
        UUID applicant_id FK
        OCCURRENCE_CATEGORY_ENUM category
        OCCURRENCE_SUBCATEGORY_ENUM subcategory
        TEXT description
        POINT location
        TEXT reference_point
        TIMESTAMP created_at
        TIMESTAMP updated_at
        TIMESTAMP resolved_at
    }

    occurrence_brigade }|--|{ brigade : assigned_to
    occurrence_brigade }|--|{ occurrence : assigned
    occurrence_brigade {
      UUID id PK
      UUID occurrence_id FK
      UUID brigade_id FK
    }