Documentation
¶
Overview ¶
Package controller/grpcserver релизует интерфейсный слой серверного приложения
Index ¶
- type AuthUsecase
- type Config
- type Controller
- func (c *Controller) GetDataByID(ctx context.Context, r *pb.GetDataByIDRequest) (*pb.GetDataByIDResponse, error)
- func (c *Controller) GetMetaDataList(ctx context.Context, r *pb.GetMetaDataListRequest) (*pb.GetMetaDataListResponse, error)
- func (c *Controller) Login(ctx context.Context, request *pb.LoginRequest) (*pb.LoginResponse, error)
- func (c *Controller) Logout(ctx context.Context, request *pb.LogoutRequest) (*pb.LogoutResponse, error)
- func (c *Controller) RefreshToken(ctx context.Context, request *pb.RefreshTokenRequest) (*pb.RefreshTokenResponse, error)
- func (c *Controller) Register(ctx context.Context, request *pb.RegisterRequest) (*pb.RegisterResponse, error)
- func (c *Controller) RemoveData(ctx context.Context, r *pb.RemoveDataRequest) (*pb.RemoveDataResponse, error)
- func (c *Controller) SaveData(ctx context.Context, r *pb.SaveDataRequest) (*pb.SaveDataResponse, error)
- func (c *Controller) Serve(ctx context.Context) error
- func (c *Controller) UpdateData(ctx context.Context, r *pb.UpdateDataRequest) (*pb.UpdateDataResponse, error)
- type InterceptorAuthKey
- type StoreUsecase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthUsecase ¶
type AuthUsecase interface { Register(ctx context.Context, login string, password string) (*model.RegisterResponseModel, error) Login(ctx context.Context, login string, password string) (*model.LoginResponseModel, error) Logout(ctx context.Context, userID string, tokenID string) error RefreshToken(ctx context.Context, refreshToken string) (*model.RefreshTokenResponseModel, error) BuildJWTString(userID string) (string, error) ValidateJWTString(token string) (string, error) }
AuthUsecase usecase для ручек авторизации/аутентификации
type Controller ¶
type Controller struct { pb.AuthServiceServer pb.StoreServiceServer // contains filtered or unexported fields }
Controller контроллер gRPC сервера
func New ¶
func New(conf Config, usecaseAuth AuthUsecase, usecaseStore StoreUsecase) *Controller
New создает новый контроллер gRPC сервера
func (*Controller) GetDataByID ¶
func (c *Controller) GetDataByID(ctx context.Context, r *pb.GetDataByIDRequest) (*pb.GetDataByIDResponse, error)
GetDataByID возвращает данные из хранилища по ID
func (*Controller) GetMetaDataList ¶
func (c *Controller) GetMetaDataList(ctx context.Context, r *pb.GetMetaDataListRequest) (*pb.GetMetaDataListResponse, error)
GetMetaDataList возвращает список метаданных
func (*Controller) Login ¶
func (c *Controller) Login(ctx context.Context, request *pb.LoginRequest) (*pb.LoginResponse, error)
Login авторизует пользователя и отдаёт ему ключ для шифрования
func (*Controller) Logout ¶
func (c *Controller) Logout(ctx context.Context, request *pb.LogoutRequest) (*pb.LogoutResponse, error)
Logout
func (*Controller) RefreshToken ¶
func (c *Controller) RefreshToken(ctx context.Context, request *pb.RefreshTokenRequest) (*pb.RefreshTokenResponse, error)
RefreshToken обновляет токен доступа
TODO если refresh token недействительный, то возвращать ошибку "неавторизован"
func (*Controller) Register ¶
func (c *Controller) Register(ctx context.Context, request *pb.RegisterRequest) (*pb.RegisterResponse, error)
Register добавляет новго пользователя в систему и отдаёт ему ключ для шифрования
func (*Controller) RemoveData ¶
func (c *Controller) RemoveData(ctx context.Context, r *pb.RemoveDataRequest) (*pb.RemoveDataResponse, error)
RemoveData помечает данные в хранилище удалёнными
func (*Controller) SaveData ¶
func (c *Controller) SaveData(ctx context.Context, r *pb.SaveDataRequest) (*pb.SaveDataResponse, error)
SaveData сохранит данные в хранилище
func (*Controller) Serve ¶
func (c *Controller) Serve(ctx context.Context) error
Serve запустить gRPC сервер
func (*Controller) UpdateData ¶
func (c *Controller) UpdateData(ctx context.Context, r *pb.UpdateDataRequest) (*pb.UpdateDataResponse, error)
UpdateData обновляет данные в хранилище
type InterceptorAuthKey ¶
type InterceptorAuthKey int
InterceptorAuthKey тип ключа перехватчика аутентификации в контексте
type StoreUsecase ¶
type StoreUsecase interface { SaveData(ctx context.Context, request *model.SaveDataRequestModel) (*model.SaveDataResponseModel, error) UpdateData(ctx context.Context, request *model.UpdateDataRequestModel) (*model.UpdateDataResponseModel, error) GetDataByID(ctx context.Context, request *model.GetDataByIDRequestModel) (*model.GetDataByIDResponseModel, error) GetUserDataList(ctx context.Context, userID string) (*smodel.GetUserDataListResponseModel, error) RemoveDataByID(ctx context.Context, request *model.RemoveDataByIDRequestModel) (*model.RemoveDataByIDResponseModel, error) }
StoreUsecase usecase для ручек хранилища