Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterNewClient ¶
func RegisterNewClient(service ClientService, caKeyPair auth.CertKeyPair) func(ctx echo.Context) error
RegisterNewClient godoc
@Tags client @Summary Регистрирует клиентское приложение для указанного пользователя. @Description Регистрирует клиентское приложение для указанного пользователя и возвращает pem файл с сертификатом/приватным ключом. @ID newClient @Accept json @Param client_name path string true "Register new client app" @Success 200 @Failure 404 {string} string "User not found" @Failure 500 {string} string "Internal Server Error" @Router /clients/{client_name}/register [put]
Types ¶
type Client ¶
type Client struct { Name string `db:"name"` ClientUUID string `db:"uuid"` OwnerName string `db:"username"` }
Client описывает клиентское приложение
type ClientRepository ¶
type ClientRepository interface { // SaveClient сохраняет сущность client SaveClient(ctx context.Context, client Client) error }
ClientRepository описывает методы работы с данными клиентских приложений
type ClientService ¶
type ClientService interface { // NewClient сохраняет данные нового клиентского приложения и генерирует сертификат для идентификации клиента NewClient(ctx context.Context, clientName string, username string, caKeyPair auth.CertKeyPair) (auth.ClientCert, error) }
ClientService сервис обрабатывает запросы с сущностями клиентских приложений
type ClientServiceImpl ¶
type ClientServiceImpl struct {
// contains filtered or unexported fields
}
func NewClientService ¶
func NewClientService(client ClientRepository, userRepo users.UserRepository, clientConfig configs.ClientConfig) ClientServiceImpl
func (ClientServiceImpl) NewClient ¶
func (c ClientServiceImpl) NewClient( ctx context.Context, clientName string, username string, caKeyPair auth.CertKeyPair, ) (auth.ClientCert, error)
type SQLClientRepo ¶
type SQLClientRepo struct {
// contains filtered or unexported fields
}
SQLClientRepo для хранения данных используется стандартный пакет database/sql c оберткой sqlx
func NewRepo ¶
func NewRepo(db *sqlx.DB) SQLClientRepo
func (SQLClientRepo) SaveClient ¶
func (r SQLClientRepo) SaveClient(ctx context.Context, client Client) error
Click to show internal directories.
Click to hide internal directories.