@startuml user_repo

!include postgres/postgres.puml

package Repo {

    interface UserRepository {
        GetUserByLogin(ctx context.Context, login string) (domain.Models.User, error)
        AddUser(ctx context.Context, user domain.Models.User) (domain.Models.User, error)
        ChangeUser(ctx context.Conext, user domain.Models.User) (domain.Models.User, error)
        GetUsers(ctx context.Context, options GetOptions) ([]domain.Models.User, error)
        Deleteuser(ctx context.Context, login string) error
    }

    class PostgresUserRepository

    UserRepository <|-- PostgresUserRepository
    PostgresRepo <|-- PostgresUserRepository
}


@enduml