@startuml system_repo

!include postgres/postgres.puml

package Repo {

    interface SystemRepository{
        AddSystem(ctx context.Context, system domain.Models.System) (domain.Models.System, error)
        GetSystemByCode(ctx context.Context, code string) (domain.Models.System, error)
        GetSystems(ctx context.Context, options GetOptions) ([]domain.Models.System, error)
        UpdateSystem(ctx context.Context, system domain.Models.System)(domain.Modesl.System, error)
        DeleteSystem(ctx context.Context, system domain.Models.System)error
    }

    class PostgresSystemRepository

    SystemRepository <|-- PostgresSystemRepository
    PostgresRepo <|-- PostgresSystemRepository
}

@enduml