package services import ( "errors" "gobeyhan/database" "gobeyhan/database/models" "gorm.io/gorm" ) type PermissionService struct{} func NewPermissionService() *PermissionService { return &PermissionService{} } // GetAllPermissions retrieves all permissions func (s *PermissionService) GetAllPermissions() ([]models.Permission, error) { var permissions []models.Permission err := database.DB.Find(&permissions).Error return permissions, err } // GetPermissionByID retrieves a permission by ID func (s *PermissionService) GetPermissionByID(id uint64) (*models.Permission, error) { var permission models.Permission err := database.DB.First(&permission, id).Error if err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { return nil, nil } return nil, err } return &permission, nil } // CreatePermission creates a new permission func (s *PermissionService) CreatePermission(permission *models.Permission) error { return database.DB.Create(permission).Error }