service

package
v0.3.5 Latest Latest
Warning

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

Go to latest
Published: Jan 27, 2021 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrBatchUpdateOrPatchOneNotFound = errors.New("at least one not found")
View Source
var ErrIDEmpty = errors.New("cannot operate when ID is empty")
View Source
var ErrIDNotMatch = errors.New("cannot operate when ID in HTTP body and URL parameter not match")
View Source
var ErrNoOwnership = errors.New("model has no OwnershipType") // this is a programmatic error
View Source
var ErrPatch = errors.New("patch syntax error") // json: cannot unmarshal object into Go value of type jsonpatch.Patch
View Source
var ErrPermission = errors.New("permission denied")

Error

View Source
var ErrPermissionWrongEndPoint = errors.New("permission denied. Change it through the resource endpoint or unable to change your own role.")

Functions

This section is empty.

Types

type BaseService

type BaseService struct {
}

BaseService is the superclass of all services

func (*BaseService) CreateOneCore

func (serv *BaseService) CreateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (models.IModel, error)

CreateOneCoreBasic create something

func (*BaseService) DeleteOneCore

func (serv *BaseService) DeleteOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObjs models.IModel) (models.IModel, error)

func (*BaseService) GetOneWithIDCore

func (serv *BaseService) GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)

func (*BaseService) UpdateOneCore

func (serv *BaseService) UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)

UpdateOneCore one, permissin should already be checked called for patch operation as well (after patch has already applied) Fuck, repeat the following code for now (you can't call the overriding method from the non-overriding one)

type GlobalService

type GlobalService struct {
	BaseService
}

func (*GlobalService) GetAllQueryContructCore added in v0.3.4

func (serv *GlobalService) GetAllQueryContructCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string) (*gorm.DB, error)

GetAllQueryContructCore construct the meat of the query

func (*GlobalService) GetAllRolesCore added in v0.3.4

func (serv *GlobalService) GetAllRolesCore(dbChained *gorm.DB, dbClean *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.UserRole, error)

GetAllRolesCore gets all roles according to the criteria

func (*GlobalService) GetManyWithIDsCore

func (service *GlobalService) GetManyWithIDsCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, ids []*datatypes.UUID) ([]models.IModel, []models.UserRole, error)

func (*GlobalService) GetOneWithIDCore

func (service *GlobalService) GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)

GetOneWithIDCore get one model object based on its type and its id string

func (*GlobalService) HookBeforeCreateMany

func (serv *GlobalService) HookBeforeCreateMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*GlobalService) HookBeforeCreateOne

func (serv *GlobalService) HookBeforeCreateOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*GlobalService) HookBeforeDeleteMany

func (serv *GlobalService) HookBeforeDeleteMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*GlobalService) HookBeforeDeleteOne

func (serv *GlobalService) HookBeforeDeleteOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*GlobalService) UpdateOneCore

func (serv *GlobalService) UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)

UpdateOneCore one, permissin should already be checked called for patch operation as well (after patch has already applied) Fuck, repeat the following code for now (you can't call the overriding method from the non-overriding one)

type IService

type IService interface {
	HookBeforeCreateOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)
	HookBeforeCreateMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)
	HookBeforeDeleteOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)
	HookBeforeDeleteMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

	CreateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (models.IModel, error)
	UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)
	DeleteOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObjs models.IModel) (models.IModel, error)

	GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)
	GetManyWithIDsCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, ids []*datatypes.UUID) ([]models.IModel, []models.UserRole, error)

	GetAllQueryContructCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string) (*gorm.DB, error)
	GetAllRolesCore(dbChained *gorm.DB, dbClean *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.UserRole, error)
}

IService provice basic data fetch for various type of table to user relationships

type LinkTableService

type LinkTableService struct {
	BaseService
}

func (*LinkTableService) GetAllQueryContructCore added in v0.3.4

func (serv *LinkTableService) GetAllQueryContructCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string) (*gorm.DB, error)

GetAllQueryContructCore construct query core

func (*LinkTableService) GetAllRolesCore added in v0.3.4

func (serv *LinkTableService) GetAllRolesCore(dbChained *gorm.DB, dbClean *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.UserRole, error)

GetAllRolesCore gets all roles according to the criteria

func (*LinkTableService) GetManyWithIDsCore

func (serv *LinkTableService) GetManyWithIDsCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, ids []*datatypes.UUID) ([]models.IModel, []models.UserRole, error)

func (*LinkTableService) GetOneWithIDCore

func (service *LinkTableService) GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)

getOneWithIDCore get one model object based on its type and its id string since this is organizationMapper, need to make sure it's the same organization

func (*LinkTableService) HookBeforeCreateMany

func (serv *LinkTableService) HookBeforeCreateMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*LinkTableService) HookBeforeCreateOne

func (serv *LinkTableService) HookBeforeCreateOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*LinkTableService) HookBeforeDeleteMany

func (serv *LinkTableService) HookBeforeDeleteMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*LinkTableService) HookBeforeDeleteOne

func (serv *LinkTableService) HookBeforeDeleteOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*LinkTableService) UpdateOneCore

func (serv *LinkTableService) UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)

UpdateOneCore one, permissin should already be checked called for patch operation as well (after patch has already applied) Fuck, repeat the following code for now (you can't call the overriding method from the non-overriding one)

type OrganizationService

type OrganizationService struct {
	BaseService
}

OrganizationService handles all the ownership specific db calls

func (*OrganizationService) GetAllQueryContructCore added in v0.3.4

func (serv *OrganizationService) GetAllQueryContructCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string) (*gorm.DB, error)

GetAllQueryContructCore construct query core

func (*OrganizationService) GetAllRolesCore added in v0.3.4

func (serv *OrganizationService) GetAllRolesCore(dbChained *gorm.DB, dbClean *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.UserRole, error)

GetAllRolesCore gets all roles according to the criteria

func (*OrganizationService) GetManyWithIDsCore

func (serv *OrganizationService) GetManyWithIDsCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, ids []*datatypes.UUID) ([]models.IModel, []models.UserRole, error)

func (*OrganizationService) GetOneWithIDCore

func (serv *OrganizationService) GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)

getOneWithIDCore get one model object based on its type and its id string since this is organizationMapper, need to make sure it's the same organization

func (*OrganizationService) HookBeforeCreateMany

func (serv *OrganizationService) HookBeforeCreateMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*OrganizationService) HookBeforeCreateOne

func (serv *OrganizationService) HookBeforeCreateOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*OrganizationService) HookBeforeDeleteMany

func (serv *OrganizationService) HookBeforeDeleteMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*OrganizationService) HookBeforeDeleteOne

func (serv *OrganizationService) HookBeforeDeleteOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*OrganizationService) UpdateOneCore

func (serv *OrganizationService) UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)

UpdateOneCore one, permissin should already be checked called for patch operation as well (after patch has already applied) Fuck, repeat the following code for now (you can't call the overriding method from the non-overriding one)

type OwnershipService

type OwnershipService struct {
	BaseService
}

OwnershipService handles all the ownership specific db calls

func (*OwnershipService) CreateOneCore

func (serv *OwnershipService) CreateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (models.IModel, error)

CreateOneCore creates the stuff

func (*OwnershipService) GetAllQueryContructCore added in v0.3.4

func (serv *OwnershipService) GetAllQueryContructCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string) (*gorm.DB, error)

GetAllQueryContructCore construct the meat of the query

func (*OwnershipService) GetAllRolesCore added in v0.3.4

func (serv *OwnershipService) GetAllRolesCore(dbChained *gorm.DB, dbClean *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.UserRole, error)

GetAllRolesCore gets all roles according to the criteria

func (*OwnershipService) GetManyWithIDsCore

func (serv *OwnershipService) GetManyWithIDsCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, ids []*datatypes.UUID) ([]models.IModel, []models.UserRole, error)

func (*OwnershipService) GetOneWithIDCore

func (serv *OwnershipService) GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)

getOneWithIDCore get one model object based on its type and its id string

func (*OwnershipService) HookBeforeCreateMany

func (serv *OwnershipService) HookBeforeCreateMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*OwnershipService) HookBeforeCreateOne

func (serv *OwnershipService) HookBeforeCreateOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*OwnershipService) HookBeforeDeleteMany

func (serv *OwnershipService) HookBeforeDeleteMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*OwnershipService) HookBeforeDeleteOne

func (serv *OwnershipService) HookBeforeDeleteOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*OwnershipService) UpdateOneCore

func (serv *OwnershipService) UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)

UpdateOneCore one, permissin should already be checked called for patch operation as well (after patch has already applied) Fuck, repeat the following code for now (you can't call the overriding method from the non-overriding one)

type UserService

type UserService struct {
	BaseService
}

func (*UserService) GetAllQueryContructCore added in v0.3.4

func (serv *UserService) GetAllQueryContructCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string) (*gorm.DB, error)

GetAllQueryContructCore :-

func (*UserService) GetAllRolesCore added in v0.3.4

func (serv *UserService) GetAllRolesCore(dbChained *gorm.DB, dbClean *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.UserRole, error)

GetAllRolesCore :-

func (*UserService) GetManyWithIDsCore

func (serv *UserService) GetManyWithIDsCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, ids []*datatypes.UUID) ([]models.IModel, []models.UserRole, error)

func (*UserService) GetOneWithIDCore

func (serv *UserService) GetOneWithIDCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, id *datatypes.UUID) (models.IModel, models.UserRole, error)

GetOneWithIDCore get one model object based on its type and its id string getOneWithID get one model object based on its type and its id string without invoking read hookpoing

func (*UserService) HookBeforeCreateMany

func (serv *UserService) HookBeforeCreateMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*UserService) HookBeforeCreateOne

func (serv *UserService) HookBeforeCreateOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*UserService) HookBeforeDeleteMany

func (serv *UserService) HookBeforeDeleteMany(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObjs []models.IModel) ([]models.IModel, error)

func (*UserService) HookBeforeDeleteOne

func (serv *UserService) HookBeforeDeleteOne(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel) (models.IModel, error)

func (*UserService) UpdateOneCore

func (serv *UserService) UpdateOneCore(db *gorm.DB, oid *datatypes.UUID, scope *string, typeString string, modelObj models.IModel, id *datatypes.UUID, oldModelObj models.IModel) (modelObj2 models.IModel, err error)

UpdateOneCore one, permissin should already be checked called for patch operation as well (after patch has already applied) Fuck, repeat the following code for now (you can't call the overriding method from the non-overriding one)

Jump to

Keyboard shortcuts

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