service

package
v0.0.0-...-4024313 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GroupService

type GroupService interface {
	// Get all groups
	GetGroups() ([]*entity.Group, *model.ErrorResBody)

	// Get group by uuid
	GetGroupByUuid(uuid string) (*entity.Group, *model.ErrorResBody)

	// Get group that has the user
	GetGroupByUser(userUuid string) ([]*entity.Group, *model.ErrorResBody)

	// Get group that has the service
	GetGroupByServices(serviceUuid string) ([]*entity.Group, *model.ErrorResBody)

	// Insert group
	InsertGroupWithRelationalData(group entity.Group, userUuid string, secret string) (*entity.Group, *model.ErrorResBody)
}

func GetGroupServiceInstance

func GetGroupServiceInstance() GroupService

Get Policy instance. If use singleton pattern, call this instance method

func NewGroupService

func NewGroupService() GroupService

Constructor

type GroupServiceImpl

type GroupServiceImpl struct {
	EtcdClient           cache.EtcdClient
	GroupRepository      driver.GroupRepository
	RoleRepository       driver.RoleRepository
	PermissionRepository driver.PermissionRepository
	ServiceRepository    driver.ServiceRepository
}

GroupService struct

func (GroupServiceImpl) GetGroupByServices

func (gs GroupServiceImpl) GetGroupByServices(serviceUuid string) ([]*entity.Group, *model.ErrorResBody)

func (GroupServiceImpl) GetGroupByUser

func (gs GroupServiceImpl) GetGroupByUser(userUuid string) ([]*entity.Group, *model.ErrorResBody)

func (GroupServiceImpl) GetGroupByUuid

func (gs GroupServiceImpl) GetGroupByUuid(uuid string) (*entity.Group, *model.ErrorResBody)

func (GroupServiceImpl) GetGroups

func (gs GroupServiceImpl) GetGroups() ([]*entity.Group, *model.ErrorResBody)

func (GroupServiceImpl) InsertGroupWithRelationalData

func (gs GroupServiceImpl) InsertGroupWithRelationalData(group entity.Group, uUuid string, secret string) (*entity.Group, *model.ErrorResBody)

type OperatorPolicyService

type OperatorPolicyService interface {
	// Get
	Get(queryParam string) ([]*entity.OperatorPolicy, *model.ErrorResBody)

	// Get all operator policy
	GetAll() ([]*entity.OperatorPolicy, *model.ErrorResBody)

	// Get by user uuid
	GetByUserUuid(userUuid string) ([]*entity.OperatorPolicy, *model.ErrorResBody)

	// Get user uuid and role uuid
	GetByUserUuidAndRoleUuid(userUuid string, roleUuid string) (*entity.OperatorPolicy, *model.ErrorResBody)

	// Insert policy
	Insert(operatorPolicy *entity.OperatorPolicy) (*entity.OperatorPolicy, *model.ErrorResBody)
}

func GetOperatorPolicyServiceInstance

func GetOperatorPolicyServiceInstance() OperatorPolicyService

func NewOperatorPolicyServiceService

func NewOperatorPolicyServiceService() OperatorPolicyService

type OperatorPolicyServiceImpl

type OperatorPolicyServiceImpl struct {
	OperatorPolicyRepository driver.OperatorPolicyRepository
	UserRepository           driver.UserRepository
	RoleRepository           driver.RoleRepository
}

func (OperatorPolicyServiceImpl) Get

func (OperatorPolicyServiceImpl) GetAll

func (OperatorPolicyServiceImpl) GetByUserUuid

func (ops OperatorPolicyServiceImpl) GetByUserUuid(userUuid string) ([]*entity.OperatorPolicy, *model.ErrorResBody)

func (OperatorPolicyServiceImpl) GetByUserUuidAndRoleUuid

func (ops OperatorPolicyServiceImpl) GetByUserUuidAndRoleUuid(userUuid string, roleUuid string) (*entity.OperatorPolicy, *model.ErrorResBody)

func (OperatorPolicyServiceImpl) Insert

type PermissionService

type PermissionService interface {
	// Get all permissions
	GetPermissions() ([]*entity.Permission, *model.ErrorResBody)

	// Get permission by uuid
	GetPermissionByUuid(uuid string) (*entity.Permission, *model.ErrorResBody)

	// Get permission by name
	GetPermissionByName(name string) (*entity.Permission, *model.ErrorResBody)

	// Get permissions by group uuid
	// Join group_permission and permission
	GetPermissionsByGroupUuid(groupUuid string) ([]*entity.Permission, *model.ErrorResBody)

	// Inert permission
	InsertPermission(permission *entity.Permission) (*entity.Permission, *model.ErrorResBody)

	// Insert permission with relational data
	InsertWithRelationalData(groupUuid string, permission entity.Permission) (*entity.Permission, *model.ErrorResBody)
}

func GetPermissionServiceInstance

func GetPermissionServiceInstance() PermissionService

func NewPermissionService

func NewPermissionService() PermissionService

type PermissionServiceImpl

type PermissionServiceImpl struct {
	EtcdClient           cache.EtcdClient
	PermissionRepository driver.PermissionRepository
}

func (PermissionServiceImpl) GetPermissionByName

func (ps PermissionServiceImpl) GetPermissionByName(name string) (*entity.Permission, *model.ErrorResBody)

func (PermissionServiceImpl) GetPermissionByUuid

func (ps PermissionServiceImpl) GetPermissionByUuid(uuid string) (*entity.Permission, *model.ErrorResBody)

func (PermissionServiceImpl) GetPermissions

func (ps PermissionServiceImpl) GetPermissions() ([]*entity.Permission, *model.ErrorResBody)

func (PermissionServiceImpl) GetPermissionsByGroupUuid

func (ps PermissionServiceImpl) GetPermissionsByGroupUuid(groupUuid string) ([]*entity.Permission, *model.ErrorResBody)

func (PermissionServiceImpl) InsertPermission

func (ps PermissionServiceImpl) InsertPermission(permission *entity.Permission) (*entity.Permission, *model.ErrorResBody)

func (PermissionServiceImpl) InsertWithRelationalData

func (ps PermissionServiceImpl) InsertWithRelationalData(groupUuid string, permission entity.Permission) (*entity.Permission, *model.ErrorResBody)

type PolicyService

type PolicyService interface {
	// Get all policy
	GetPolicies() ([]*entity.Policy, *model.ErrorResBody)

	// Get policy by role uuid
	GetPoliciesByRoleUuid(roleUuid string) ([]*entity.Policy, *model.ErrorResBody)

	// Get policies of user
	// The method uses request scope user id
	GetPoliciesByUser(userUuid string) ([]model.PolicyResponse, *model.ErrorResBody)

	// Get policy by user_groups data
	GetPolicyByUserGroup(userUuid string, groupUuid string) (*entity.Policy, *model.ErrorResBody)

	// Get policies by group uuid
	GetPoliciesByUserGroup(groupUuid string) ([]model.UserPolicyOnGroupResponse, *model.ErrorResBody)

	// Get policy by uuid
	GetPolicyByUuid(uuid string) (entity.Policy, *model.ErrorResBody)

	// Insert or update policy
	UpdatePolicy(policyRequest model.PolicyRequest, secret string, groupUuid string) (*entity.Policy, *model.ErrorResBody)
}

func GetPolicyServiceInstance

func GetPolicyServiceInstance() PolicyService

Get PolicyService instance. If use singleton pattern, call this instance method

func NewPolicyService

func NewPolicyService() PolicyService

Constructor

type PolicyServiceImpl

type PolicyServiceImpl struct {
	EtcdClient           cache.EtcdClient
	PolicyRepository     driver.PolicyRepository
	PermissionRepository driver.PermissionRepository
	RoleRepository       driver.RoleRepository
	ServiceRepository    driver.ServiceRepository
	GroupRepository      driver.GroupRepository
	UserRepository       driver.UserRepository
}

PolicyService struct

func (PolicyServiceImpl) GetPolicies

func (ps PolicyServiceImpl) GetPolicies() ([]*entity.Policy, *model.ErrorResBody)

func (PolicyServiceImpl) GetPoliciesByRoleUuid

func (ps PolicyServiceImpl) GetPoliciesByRoleUuid(roleUuid string) ([]*entity.Policy, *model.ErrorResBody)

func (PolicyServiceImpl) GetPoliciesByUser

func (ps PolicyServiceImpl) GetPoliciesByUser(userUuid string) ([]model.PolicyResponse, *model.ErrorResBody)

func (PolicyServiceImpl) GetPoliciesByUserGroup

func (ps PolicyServiceImpl) GetPoliciesByUserGroup(groupUuid string) ([]model.UserPolicyOnGroupResponse, *model.ErrorResBody)

func (PolicyServiceImpl) GetPolicyByUserGroup

func (ps PolicyServiceImpl) GetPolicyByUserGroup(userUuid string, groupUuid string) (*entity.Policy, *model.ErrorResBody)

func (PolicyServiceImpl) GetPolicyByUuid

func (ps PolicyServiceImpl) GetPolicyByUuid(uuid string) (entity.Policy, *model.ErrorResBody)

func (PolicyServiceImpl) UpdatePolicy

func (ps PolicyServiceImpl) UpdatePolicy(policyRequest model.PolicyRequest, secret string, groupUuid string) (*entity.Policy, *model.ErrorResBody)

type RoleService

type RoleService interface {
	// Get all roles
	GetRoles() ([]*entity.Role, *model.ErrorResBody)

	// Get role by role uuid
	GetRoleByUuid(uuid string) (*entity.Role, *model.ErrorResBody)

	// Get role by name
	GetRoleByName(name string) (*entity.Role, *model.ErrorResBody)

	// Get role by name array
	GetRoleByNames(name []string) ([]entity.Role, *model.ErrorResBody)

	// Get role by group uuid
	// Join group_roles and roles
	GetRolesByGroupUuid(groupUuid string) ([]*entity.Role, *model.ErrorResBody)

	// Insert role
	InsertRole(role *entity.Role) (*entity.Role, *model.ErrorResBody)

	// Insert role with relational data
	InsertWithRelationalData(groupUuid string, role entity.Role) (*entity.Role, *model.ErrorResBody)
}

func GetRoleServiceInstance

func GetRoleServiceInstance() RoleService

func NewRoleService

func NewRoleService() RoleService

type RoleServiceImpl

type RoleServiceImpl struct {
	EtcdClient     cache.EtcdClient
	RoleRepository driver.RoleRepository
}

func (RoleServiceImpl) GetRoleByName

func (rs RoleServiceImpl) GetRoleByName(name string) (*entity.Role, *model.ErrorResBody)

func (RoleServiceImpl) GetRoleByNames

func (rs RoleServiceImpl) GetRoleByNames(names []string) ([]entity.Role, *model.ErrorResBody)

func (RoleServiceImpl) GetRoleByUuid

func (rs RoleServiceImpl) GetRoleByUuid(uuid string) (*entity.Role, *model.ErrorResBody)

func (RoleServiceImpl) GetRoles

func (rs RoleServiceImpl) GetRoles() ([]*entity.Role, *model.ErrorResBody)

func (RoleServiceImpl) GetRolesByGroupUuid

func (rs RoleServiceImpl) GetRolesByGroupUuid(groupUuid string) ([]*entity.Role, *model.ErrorResBody)

func (RoleServiceImpl) InsertRole

func (rs RoleServiceImpl) InsertRole(role *entity.Role) (*entity.Role, *model.ErrorResBody)

func (RoleServiceImpl) InsertWithRelationalData

func (rs RoleServiceImpl) InsertWithRelationalData(groupUuid string, role entity.Role) (*entity.Role, *model.ErrorResBody)

type Service

type Service interface {
	// Get service
	GetServices() ([]*entity.Service, *model.ErrorResBody)

	// Get service by service uuid
	GetServiceByUuid(uuid string) (*entity.Service, *model.ErrorResBody)

	// Get service by service name
	GetServiceByName(name string) (*entity.Service, *model.ErrorResBody)

	// Get service by service secret
	GetServiceBySecret(secret string) (*entity.Service, *model.ErrorResBody)

	// Get service of user
	GetServiceByUser(userUuid string) ([]*entity.Service, *model.ErrorResBody)

	// Insert service
	InsertService(service entity.Service) (*entity.Service, *model.ErrorResBody)

	// Insert service
	InsertServiceWithRelationalData(service *entity.Service) (*entity.Service, *model.ErrorResBody)

	// Generate secret
	GenerateSecret() string
}

func GetServiceInstance

func GetServiceInstance() Service

Get Policy instance. If use singleton pattern, call this instance method

func NewServiceService

func NewServiceService() Service

Constructor

type ServiceImpl

type ServiceImpl struct {
	EtcdClient           cache.EtcdClient
	ServiceRepository    driver.ServiceRepository
	RoleRepository       driver.RoleRepository
	PermissionRepository driver.PermissionRepository
}

func (ServiceImpl) GenerateSecret

func (ss ServiceImpl) GenerateSecret() string

func (ServiceImpl) GetServiceByName

func (ss ServiceImpl) GetServiceByName(name string) (*entity.Service, *model.ErrorResBody)

func (ServiceImpl) GetServiceBySecret

func (ss ServiceImpl) GetServiceBySecret(secret string) (*entity.Service, *model.ErrorResBody)

func (ServiceImpl) GetServiceByUser

func (ss ServiceImpl) GetServiceByUser(userUuid string) ([]*entity.Service, *model.ErrorResBody)

func (ServiceImpl) GetServiceByUuid

func (ss ServiceImpl) GetServiceByUuid(uuid string) (*entity.Service, *model.ErrorResBody)

func (ServiceImpl) GetServices

func (ss ServiceImpl) GetServices() ([]*entity.Service, *model.ErrorResBody)

func (ServiceImpl) InsertService

func (ss ServiceImpl) InsertService(service entity.Service) (*entity.Service, *model.ErrorResBody)

func (ServiceImpl) InsertServiceWithRelationalData

func (ss ServiceImpl) InsertServiceWithRelationalData(service *entity.Service) (*entity.Service, *model.ErrorResBody)

type UserService

type UserService interface {
	// Generate initial user name
	GenInitialName() string

	// Encrypt password
	EncryptPw(password string) string

	// Compare encrypt password and decrypt password
	ComparePw(passwordHash string, password string) bool

	// Get User by user uuid
	GetUserByUuid(uuid string) (*entity.User, *model.ErrorResBody)

	// Get User by user email
	GetUserByEmail(email string) (*entity.User, *model.ErrorResBody)

	// Get User and operator policy by user email
	GetUserWithOperatorPolicyByEmail(email string) (*model.UserWithOperatorPolicy, *model.ErrorResBody)

	// Get User and user service and service by user email
	GetUserWithUserServiceWithServiceByEmail(email string) (*model.UserWithUserServiceWithService, *model.ErrorResBody)

	// Get UserGroup by user uuid and group uuid
	GetUserGroupByUserUuidAndGroupUuid(userUuid string, groupUuid string) (*entity.UserGroup, *model.ErrorResBody)

	// Get Users by group uuid
	GetUserByGroupUuid(groupUuid string) ([]*model.UserResponse, *model.ErrorResBody)

	// Get all UserService
	GetUserServices() ([]*entity.UserService, *model.ErrorResBody)

	// Get UserService by user uuid
	GetUserServicesByUserUuid(userUuid string) ([]*entity.UserService, *model.ErrorResBody)

	// Get UserService by user uuid and service uuid
	GetUserServiceByUserUuidAndServiceUuid(userUuid string, serviceUuid string) (*entity.UserService, *model.ErrorResBody)

	// Get UserPolicy in etcd by user uuid
	GetUserPoliciesByUserUuid(userUuid string) []structure.UserPolicy

	// Get UserPolicy in etcd by user uuid
	GetUserGroupsByUserUuid(userUuid string) []structure.UserGroup

	// Insert UserGroup
	InsertUserGroup(userGroup entity.UserGroup) (*entity.UserGroup, *model.ErrorResBody)

	// Insert User
	InsertUser(user entity.User) (*entity.User, *model.ErrorResBody)

	// Insert User and UserService
	InsertUserWithUserService(user entity.User, userService entity.UserService) (*entity.User, *model.ErrorResBody)

	// Insert UserService
	InsertUserService(userServiceEntity entity.UserService) (*entity.UserService, *model.ErrorResBody)

	// Update User
	UpdateUser(user entity.User) (*entity.User, *model.ErrorResBody)
}

func GetUserServiceInstance

func GetUserServiceInstance() UserService

Get Policy instance. If use singleton pattern, call this instance method

func NewUserService

func NewUserService() UserService

Constructor

type UserServiceImpl

type UserServiceImpl struct {
	UserRepository driver.UserRepository
	EtcdClient     cache.EtcdClient
}

UserService struct

func (UserServiceImpl) ComparePw

func (us UserServiceImpl) ComparePw(passwordHash string, password string) bool

func (UserServiceImpl) EncryptPw

func (us UserServiceImpl) EncryptPw(password string) string

func (UserServiceImpl) GenInitialName

func (us UserServiceImpl) GenInitialName() string

func (UserServiceImpl) GetUserByEmail

func (us UserServiceImpl) GetUserByEmail(email string) (*entity.User, *model.ErrorResBody)

func (UserServiceImpl) GetUserByGroupUuid

func (us UserServiceImpl) GetUserByGroupUuid(groupUuid string) ([]*model.UserResponse, *model.ErrorResBody)

func (UserServiceImpl) GetUserByUuid

func (us UserServiceImpl) GetUserByUuid(uuid string) (*entity.User, *model.ErrorResBody)

func (UserServiceImpl) GetUserGroupByUserUuidAndGroupUuid

func (us UserServiceImpl) GetUserGroupByUserUuidAndGroupUuid(userUuid string, groupUuid string) (*entity.UserGroup, *model.ErrorResBody)

func (UserServiceImpl) GetUserGroupsByUserUuid

func (us UserServiceImpl) GetUserGroupsByUserUuid(userUuid string) []structure.UserGroup

func (UserServiceImpl) GetUserPoliciesByUserUuid

func (us UserServiceImpl) GetUserPoliciesByUserUuid(userUuid string) []structure.UserPolicy

func (UserServiceImpl) GetUserServiceByUserUuidAndServiceUuid

func (us UserServiceImpl) GetUserServiceByUserUuidAndServiceUuid(userUuid string, serviceUuid string) (*entity.UserService, *model.ErrorResBody)

func (UserServiceImpl) GetUserServices

func (us UserServiceImpl) GetUserServices() ([]*entity.UserService, *model.ErrorResBody)

func (UserServiceImpl) GetUserServicesByUserUuid

func (us UserServiceImpl) GetUserServicesByUserUuid(userUuid string) ([]*entity.UserService, *model.ErrorResBody)

func (UserServiceImpl) GetUserWithOperatorPolicyByEmail

func (us UserServiceImpl) GetUserWithOperatorPolicyByEmail(email string) (*model.UserWithOperatorPolicy, *model.ErrorResBody)

func (UserServiceImpl) GetUserWithUserServiceWithServiceByEmail

func (us UserServiceImpl) GetUserWithUserServiceWithServiceByEmail(email string) (*model.UserWithUserServiceWithService, *model.ErrorResBody)

func (UserServiceImpl) InsertUser

func (us UserServiceImpl) InsertUser(user entity.User) (*entity.User, *model.ErrorResBody)

func (UserServiceImpl) InsertUserGroup

func (us UserServiceImpl) InsertUserGroup(userGroupEntity entity.UserGroup) (*entity.UserGroup, *model.ErrorResBody)

func (UserServiceImpl) InsertUserService

func (us UserServiceImpl) InsertUserService(userServiceEntity entity.UserService) (*entity.UserService, *model.ErrorResBody)

func (UserServiceImpl) InsertUserWithUserService

func (us UserServiceImpl) InsertUserWithUserService(user entity.User, userService entity.UserService) (*entity.User, *model.ErrorResBody)

func (UserServiceImpl) UpdateUser

func (us UserServiceImpl) UpdateUser(user entity.User) (*entity.User, *model.ErrorResBody)

Jump to

Keyboard shortcuts

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