40 lines
1.6 KiB
Go
40 lines
1.6 KiB
Go
package sql
|
|
|
|
import (
|
|
"github.com/google/uuid"
|
|
"mangezmieux-backend/internal/acl/model"
|
|
model2 "mangezmieux-backend/internal/model"
|
|
)
|
|
|
|
type Dao interface {
|
|
//Role
|
|
GetRole(id uuid.UUID) (*model.Role, error)
|
|
GetRoleByName(name string) (*model.Role, error)
|
|
AddRole(roleName string, metadata model2.Metadata) (*model.Role, error)
|
|
DeleteRole(id uuid.UUID) error
|
|
GetAllRole() ([]*model.Role, error)
|
|
|
|
//Resource
|
|
AddResource(resourceName string, metadata model2.Metadata) (*model.Resource, error)
|
|
DeleteResource(id uuid.UUID) error
|
|
GetResource(id uuid.UUID) (*model.Resource, error)
|
|
GetResourceByName(name string) (*model.Resource, error)
|
|
GetAllResource() ([]*model.Resource, error)
|
|
|
|
//RoleVerbResource
|
|
GetRoleVerbResource(id uuid.UUID) (*model.RoleVerbResource, error)
|
|
GetRoleVerbResourceByRoleResourceAndVerb(roleId, resourceId uuid.UUID, verb string) (*model.RoleVerbResource, error)
|
|
GetRoleVerbResourceByRoleResource(roleId, resourceId uuid.UUID) ([]*model.RoleVerbResource, error)
|
|
GetRoleVerbResourceByRole(roleId uuid.UUID) ([]*model.RoleVerbResource, error)
|
|
AddRoleVerbResource(roleId, resourceId uuid.UUID, verb string, metadata model2.Metadata) (*model.RoleVerbResource, error)
|
|
DeleteRoleVerbResource(id uuid.UUID) error
|
|
|
|
//UserRole
|
|
GetUserRole(id uuid.UUID) (*model.UserRole, error)
|
|
GetUserRoleByUserAndRole(userId, roleId uuid.UUID) (*model.UserRole, error)
|
|
GetUserRoleByUser(userId uuid.UUID) ([]*model.UserRole, error)
|
|
GetUserRoleByRole(role uuid.UUID) ([]*model.UserRole, error)
|
|
AddUserRole(userId, roleId uuid.UUID, metadata model2.Metadata) (*model.UserRole, error)
|
|
DeleteUserRole(id uuid.UUID) error
|
|
}
|