62 lines
1.0 KiB
Go
62 lines
1.0 KiB
Go
package core
|
|
|
|
import (
|
|
"context"
|
|
|
|
"fr.latosa-escrima/core/models"
|
|
"github.com/uptrace/bun"
|
|
)
|
|
|
|
type Permissions []models.Permission
|
|
|
|
func GetAllPermissions() Permissions {
|
|
resources := []string{"users", "roles", "media", "events", "permissions", "shortcodes", "blogs", "locations"}
|
|
var perms Permissions
|
|
for _, resource := range resources {
|
|
perms = append(perms, Permissions{
|
|
{
|
|
Resource: resource,
|
|
Action: "insert",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "update",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "delete",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "get",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "own:insert",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "own:update",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "own:delete",
|
|
},
|
|
{
|
|
Resource: resource,
|
|
Action: "own:get",
|
|
},
|
|
}...)
|
|
}
|
|
return perms
|
|
}
|
|
|
|
func (perms Permissions) InsertAll(db *bun.DB, ctx context.Context) error {
|
|
_, err := db.NewInsert().
|
|
Model(&perms).
|
|
Ignore().
|
|
Exec(ctx)
|
|
|
|
return err
|
|
}
|