Skip to content

Commit

Permalink
fix difinitions.go
Browse files Browse the repository at this point in the history
  • Loading branch information
akiyatomohiro committed Dec 23, 2024
1 parent 378e277 commit 518c722
Showing 1 changed file with 30 additions and 46 deletions.
76 changes: 30 additions & 46 deletions api/internal/rbac/definitions.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,87 +12,71 @@ const (
const (
ResourceUser = "user"
ResourceWorkspace = "workspace"
ResourceMember = "member"
ResourceProject = "project"
)

const (
ActionList = "list"
ActionCreate = "create"
ActionEdit = "edit"
ActionDelete = "delete"
ActionGet = "get"
ActionImport = "import"
ActionExport = "export"
ActionDuplicate = "duplicate"
ActionTransfer = "transfer"
ActionList = "list"
ActionRead = "read"
ActionCreate = "create"
ActionEdit = "edit"
ActionDelete = "delete"
ActionAny = "any"
)

const (
roleGeneral = "general"
roleEditor = "editor"
roleAdmin = "admin"
roleSelf = "self"
roleReader = "reader"
roleEditor = "editor"
roleOwner = "owner"
roleMaintainer = "maintainer"
)

func DefineResources(builder *generator.ResourceBuilder) []generator.ResourceDefinition {
return builder.
AddResource(ResourceUser, []generator.ActionDefinition{
generator.NewActionDefinition(ActionRead, []string{
roleSelf,
}),
generator.NewActionDefinition(ActionEdit, []string{
roleGeneral,
roleSelf,
}),
}).
AddResource(ResourceWorkspace, []generator.ActionDefinition{
generator.NewActionDefinition(ActionList, []string{
roleGeneral,
}),
generator.NewActionDefinition(ActionCreate, []string{
roleGeneral,
}),
generator.NewActionDefinition(ActionEdit, []string{
roleGeneral,
roleSelf,
}),
generator.NewActionDefinition(ActionDelete, []string{
roleGeneral,
}),
}).
AddResource(ResourceMember, []generator.ActionDefinition{
generator.NewActionDefinition(ActionCreate, []string{
roleAdmin,
roleSelf,
}),
generator.NewActionDefinition(ActionEdit, []string{
roleAdmin,
roleOwner,
}),
generator.NewActionDefinition(ActionDelete, []string{
roleAdmin,
roleOwner,
}),
}).
AddResource(ResourceProject, []generator.ActionDefinition{
generator.NewActionDefinition(ActionList, []string{
roleGeneral,
roleSelf,
}),
generator.NewActionDefinition(ActionCreate, []string{
roleEditor,
roleOwner,
roleMaintainer,
}),
generator.NewActionDefinition(ActionEdit, []string{
roleEditor,
roleOwner,
roleMaintainer,
}),
generator.NewActionDefinition(ActionDelete, []string{
roleEditor,
}),
generator.NewActionDefinition(ActionGet, []string{
roleEditor,
}),
generator.NewActionDefinition(ActionImport, []string{
roleEditor,
}),
generator.NewActionDefinition(ActionExport, []string{
roleEditor,
}),
generator.NewActionDefinition(ActionDuplicate, []string{
roleEditor,
roleOwner,
roleMaintainer,
}),
generator.NewActionDefinition(ActionTransfer, []string{
generator.NewActionDefinition(ActionAny, []string{
roleReader,
roleEditor,
roleOwner,
roleMaintainer,
}),
}).
Build()
Expand Down

0 comments on commit 518c722

Please sign in to comment.