clients

package
v0.0.0-...-f6ab580 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2023 License: GPL-3.0 Imports: 13 Imported by: 0

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL