domain

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//ErrInternal Internal error
	ErrInternal = errors.New("internal")
	//ErrNotFound Not found error
	ErrNotFound = errors.New("not found")
	//ErrConflict Conflict error
	ErrConflict = errors.New("conflict")
)

Functions

This section is empty.

Types

type AccessDetails

type AccessDetails struct {
	AccessUUID string
	UserID     string
}

AccessDetails Access details

type AuthHandler

type AuthHandler interface {
	Login(c *gin.Context)
	Refresh(c *gin.Context)
	Logout(c *gin.Context)
}

AuthHandler Auth handler

type AuthService

type AuthService interface {
	ValidateToken(r *http.Request) (*jwt.Token, error)
	TokenValid(r *http.Request) error
	CreateToken(userID string) (*TokenDetails, error)
	CreateAuth(userID string, td *TokenDetails) error
	DeleteTokens(authD *AccessDetails) error
	ExtractTokenMetadata(r *http.Request) (*AccessDetails, error)
	FetchAuth(authD *AccessDetails) (uint64, error)
	DeleteAuth(givenUUID string) (int64, error)
}

AuthService Auth service

type MysqlClient

type MysqlClient interface {
	GetClient() *gorm.DB
}

MysqlClient Mysql client

type Product

type Product struct {
	gorm.Model
	Name        string  `json:"name" validate:"required,min=2,max=45"`
	Price       float32 `json:"price" validate:"required"`
	Description string  `json:"description" validate:"required"`
}

Product Entity product swagger:model Product

func ToProduct

func ToProduct(productDTO ProductDTO) Product

ToProduct To_Product

type ProductDTO

type ProductDTO struct {
	ID          uint    `json:"id,string,omitempty"`
	Name        string  `json:"name" validate:"required,min=2,max=45"`
	Price       float32 `json:"price" validate:"required"`
	Description string  `json:"description" validate:"required"`
}

ProductDTO Product dto swagger:model ProductDTO

func ToProductDTO

func ToProductDTO(product Product) ProductDTO

ToProductDTO To_Product_Dto

func ToProductDTOs

func ToProductDTOs(products []Product) []ProductDTO

ToProductDTOs To_Product_Dtos

type ProductHandler

type ProductHandler interface {
	GetAllProducts(c *gin.Context)
	GetProductByID(c *gin.Context)
	AddProduct(c *gin.Context)
	UpdateProduct(c *gin.Context)
	DeleteProduct(c *gin.Context)
}

ProductHandler Product_Handler

type ProductRepository

type ProductRepository interface {
	GetAllProducts(c *gin.Context) []Product
	GetProductByID(c *gin.Context, id uint) Product
	AddProduct(c *gin.Context, product Product) Product
	DeleteProduct(c *gin.Context, product Product)
}

ProductRepository Product_Repository

type ProductService

type ProductService interface {
	GetAllProducts(c *gin.Context) []Product
	GetProductByID(c *gin.Context, id uint) Product
	AddProduct(c *gin.Context, product Product) Product
	DeleteProduct(c *gin.Context, product Product)
}

ProductService Product_Service

type RedisClient

type RedisClient interface {
	GetClient() *redis.Client
}

RedisClient Redis Client

type TokenDetails

type TokenDetails struct {
	AccessToken  string
	RefreshToken string
	AccessUUID   string
	RefreshUUID  string
	AtExpires    int64
	RtExpires    int64
}

TokenDetails Token details

type User

type User struct {
	ID        string     `gorm:"primary_key" json:"Id"`
	UUID      string     `json:"UUID"`
	Username  string     `json:"Username" validate:"required"`
	Password  string     `json:"Password" validate:"required"`
	CreatedAt time.Time  `json:"CreatedAt"`
	UpdatedAt time.Time  `json:"UpdatedAt"`
	DeletedAt *time.Time `json:"DeletedAt"`
}

User Entity_user swagger:model User

func ToUser

func ToUser(userDTO UserDTO) User

ToUser To_user

type UserDTO

type UserDTO struct {
	UUID     string `json:"uuid"`
	ID       string `json:"id,string,omitempty"`
	Username string `json:"username" validate:"required"`
	Password string `json:"password" validate:"required"`
}

UserDTO Dto_user swagger:model UserDTO

func ToUserDTO

func ToUserDTO(user User) UserDTO

ToUserDTO To_user_dto

func ToUserDTOs

func ToUserDTOs(users []User) []UserDTO

ToUserDTOs To_user_dtos

type UserHandler

type UserHandler interface {
	GetAllUsers(c *gin.Context)
	GetUserByID(c *gin.Context)
	AddUser(c *gin.Context)
	UpdateUser(c *gin.Context)
	DeleteUser(c *gin.Context)
}

UserHandler User_handler

type UserHandlerDynamoDb

type UserHandlerDynamoDb interface {
	Update(c *gin.Context)
	FindByUUID(c *gin.Context)
	Insert(c *gin.Context)
	Delete(c *gin.Context)
	FindByUsername(c *gin.Context)
}

UserHandlerDynamoDb User_handler_dynamodb

type UserRepository

type UserRepository interface {
	GetAllUsers() []User
	GetUserByID(id uint) User
	GetUserByUsername(username string) User
	AddUser(user User) User
	DeleteUser(user User)
}

UserRepository User_repository

type UserRepositoryDynamoDb added in v1.3.0

type UserRepositoryDynamoDb interface {
	Update(ctx *gin.Context, user User) error
	FindByUUID(ctx *gin.Context, id string) (User, error)
	Insert(ctx *gin.Context, user User) error
	Delete(ctx *gin.Context, id string) error
	FindByUsername(ctx *gin.Context, username string) (User, error)
	CreateTable(ctx *gin.Context) error
}

UserRepositoryDynamoDb User_repository_Dynamodb

type UserService

type UserService interface {
	GetAllUsers() []User
	GetUserByID(id uint) User
	AddUser(user User) User
	GetUserByUsername(username string) User
	DeleteUser(User)
}

UserService User_service

type UserServiceDynamoDb

type UserServiceDynamoDb interface {
	Update(ctx *gin.Context, user User) error
	FindByUUID(ctx *gin.Context, id string) (User, error)
	Insert(ctx *gin.Context, user User) error
	Delete(ctx *gin.Context, uuid string) error
	FindByUsername(ctx *gin.Context, username string) (User, error)
	CreateTable(ctx *gin.Context) error
}

UserServiceDynamoDb User_service_dynamodb

Jump to

Keyboard shortcuts

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