Skip to content

API Schemas

Arkan56 edited this page Jan 17, 2026 · 2 revisions
classDiagram
    class Activity {
        +String title
        +String description
        +String eventType
        +String duration
        +String speaker
        +String timestamp
        +String? link
        +String? location
    }

    class UpdateActivity {
        <<DTO>>
        +String? title
        +String? description
        +String? eventType
        +String? link
        +String? location
        +String? duration
        +String? speaker
        +String? timestamp
    }

    class LevelEnum{
        <<enumeration>>
        Initial
        Advanced
    }

    class CreateContestSchema{
        + String name
        + Date date
        + Date start_hour
        + Date final_hour
        + LevelEnum level
        + String classroom
    }

    class UpdateContestSchema {
        <<DTO>>
        + String? name
        + Date? date
        + Date? start_hour
        + Date? final_hour
        + LevelEnum? level
        + String? classroom        
    }

    class NumericString {
        <<Constraint>>
        + pattern
        + default
        + description 
    }

    class IdSupabaseInt4 {
        <<Param>>
        + NumericString id
    }

    class IdMongoParam {
        <<Param>>
        + String id
    }

    class CreateMatchmaking {
        <<DTO>>
        + Number contest_id
    }

    class ContestIdParam {
        <<Param>>
        + NumericString contest_id
    }

    note for NumericString"numeric string
        pattern: ^[0-9]+$
        Supabase ID must be numeric"

    note for IdMongoParam "id: Mongo ObjectId (24 hex chars)"
    

    UpdateActivity ..> Activity : updates
    CreateContest ..> Contest : creates
    UpdateContest ..> Contest : updates
    Contest --> LevelEnum
    IdSupabaseInt4 --> NumericString
    CreateMatchmaking ..> Matchmaking : creates 
    ContestIdParam ..> Contest : identifies
    ContestIdParam --> NumericString
Loading

Clone this wiki locally