fbun

package
v0.0.0-...-4eccbda Latest Latest
Warning

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

Go to latest
Published: Sep 11, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddRolePermission

type AddRolePermission struct {
	Role             string
	PermissionModel  string
	PermissionAction string
}

AddRolePermission represents a model used to store RolePermission

type FiPer

type FiPer struct {
	DB  *bun.DB
	Ctx context.Context
	FP  *fp.FP
}

func (*FiPer) AddPermission

func (b *FiPer) AddPermission(permission FiperPermission) (FiperPermission, error)

AddPermission - stores a permission in the database

func (*FiPer) AddRole

func (b *FiPer) AddRole(role FiperRole) (FiperRole, error)

AddRole - stores a role in the database

func (*FiPer) AddRolePermission

func (b *FiPer) AddRolePermission(arp AddRolePermission) (rolePermission FiperRolePermission, err error)

AddRolePermission - stores a role permission in the database

func (*FiPer) CheckFiPer

func (b *FiPer) CheckFiPer(rbacList []string) fiber.Handler

func (*FiPer) DeletePermission

func (b *FiPer) DeletePermission(permissionModel, permissionAction string) (err error)

DeletePermission - removes a stored permission from database

func (*FiPer) DeleteRole

func (b *FiPer) DeleteRole(roleName string) (err error)

DeleteRole - removes a stored role from database

func (*FiPer) DeleteRolePermission

func (b *FiPer) DeleteRolePermission(roleName, permissionModel, permissionAction string) (err error)

DeleteRolePermission - removes a stored role permission from database

func (*FiPer) GetPermissions

func (b *FiPer) GetPermissions() (permissions []FiperPermission, err error)

GetPermissions - get stored permissions in the database

func (*FiPer) GetRolePermissions

func (b *FiPer) GetRolePermissions() (rolePermissions []FiperRolePermission, err error)

GetRolePermissions - get stored role permissions in the database

func (*FiPer) GetRoles

func (b *FiPer) GetRoles() (roles []FiperRole, err error)

GetRoles - get stored roles in the database

func (*FiPer) GetUserPermits

func (b *FiPer) GetUserPermits(userId string) (permits Permits, err error)

GetUserPermits - get user roles and permissions in the database

func (*FiPer) GrantUserPermission

func (b *FiPer) GrantUserPermission(userId, permissionModel, permissionAction string) (permits Permits, err error)

GrantUserPermission - grant user permission in the database

func (*FiPer) GrantUserRole

func (b *FiPer) GrantUserRole(userId, roleName string) (permits Permits, err error)

GrantUserRole - grant user role in the database

func (*FiPer) MigrateTables

func (b *FiPer) MigrateTables() (err error)

func (*FiPer) RevokeUserPermit

func (b *FiPer) RevokeUserPermit(userId, permit string) (permits Permits, err error)

RevokeUserPermit - revoke user role and permission in the database

func (*FiPer) ValidatePermits

func (b *FiPer) ValidatePermits(userPermits []string) error

type FiperPermission

type FiperPermission struct {
	bun.BaseModel `bun:"table:fiper_permissions"`
	ID            uuid.UUID `bun:"id,pk,type:uuid,default:uuid_generate_v4()"`
	Model         string    `bun:"model,notnull,unique:group_permission"`
	Action        string    `bun:"action,notnull,unique:group_permission"`
}

Permission represents the database model of permissions

type FiperRole

type FiperRole struct {
	bun.BaseModel `bun:"table:fiper_roles"`
	ID            uuid.UUID `bun:"id,pk,type:uuid,default:uuid_generate_v4()"`
	Name          string    `bun:"name,unique,notnull"`
}

Role represents the database model of roles

type FiperRolePermission

type FiperRolePermission struct {
	bun.BaseModel `bun:"table:fiper_role_permissions"`
	RoleID        uuid.UUID        `json:"-" bun:"role_id,pk,notnull,type:uuid,unique:group_role_permission"`
	Role          *FiperRole       `bun:"rel:belongs-to,join:role_id=id"`
	PermissionID  uuid.UUID        `json:"-" bun:"permission_id,pk,notnull,type:uuid,unique:group_role_permission"`
	Permission    *FiperPermission `bun:"rel:belongs-to,join:permission_id=id"`
}

RolePermission represents the database that stores the relationship between roles and permissions

type Permits

type Permits struct {
	UserID  string   `json:"user_id" bun:"user_id"`
	Name    string   `json:"name" bun:"name"`
	Model   string   `json:"model" bun:"model"`
	Action  string   `json:"action" bun:"action"`
	Permits []string `json:"permits" bun:"permits,array"`
}

type UserPermit

type UserPermit struct {
	UserID  string   `json:"user_id" bun:"user_id"`
	Permits []string `json:"permits" bun:"permits,array"`
}

Jump to

Keyboard shortcuts

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