Files
trufflehog/pkg/analyzer/analyzers/asana/permissions.go
Abdul BasitandAbdul Basit 4cab071032 [analyze] Add Analyzer for Asana (#3139)
* impelmented analyzer interface with data models for Asana

* add unit test for asana analyzer

* link asana detector with analyzer

* added permission for asana
linked detector with only positive cases.

* to make test cleaner moved want json in external file.
Moreover without sorting test will not be able to compare.

* use general functions to avoid code duplication.
optimize app permission making logic.

* [fix] assigned bindings to results.

---------

Co-authored-by: Abdul Basit <[email protected]>
2024-09-06 12:37:45 -07:00

257 lines
8.1 KiB
Go

// Code generated by go generate; DO NOT EDIT.
package asana
import "errors"
type Permission int
const (
Invalid Permission = iota
AllocationsRead Permission = iota
AllocationsWrite Permission = iota
AttachmentsRead Permission = iota
AttachmentsWrite Permission = iota
AutditLogsRead Permission = iota
AutditLogsWrite Permission = iota
CustomFieldsRead Permission = iota
CustomFieldsWrite Permission = iota
CustomFieldSettingsRead Permission = iota
CustomFieldSettingsWrite Permission = iota
BatchApiRead Permission = iota
BatchApiWrite Permission = iota
EventsRead Permission = iota
EventsWrite Permission = iota
GoalsRead Permission = iota
GoalsWrite Permission = iota
JobsRead Permission = iota
JobsWrite Permission = iota
PortfoliosRead Permission = iota
PortfoliosWrite Permission = iota
ProjectsRead Permission = iota
ProjectsWrite Permission = iota
ProjectMembershipsRead Permission = iota
ProjectMembershipsWrite Permission = iota
SectionsRead Permission = iota
SectionsWrite Permission = iota
TagsRead Permission = iota
TagsWrite Permission = iota
TasksRead Permission = iota
TasksWrite Permission = iota
TeamsRead Permission = iota
TeamsWrite Permission = iota
UsersRead Permission = iota
UsersWrite Permission = iota
UserTaskListsRead Permission = iota
UserTaskListsWrite Permission = iota
MembershipsRead Permission = iota
MembershipsWrite Permission = iota
RulesRead Permission = iota
RulesWrite Permission = iota
)
var (
PermissionStrings = map[Permission]string{
AllocationsRead: "allocations:read",
AllocationsWrite: "allocations:write",
AttachmentsRead: "attachments:read",
AttachmentsWrite: "attachments:write",
AutditLogsRead: "autdit_logs:read",
AutditLogsWrite: "autdit_logs:write",
CustomFieldsRead: "custom_fields:read",
CustomFieldsWrite: "custom_fields:write",
CustomFieldSettingsRead: "custom_field_settings:read",
CustomFieldSettingsWrite: "custom_field_settings:write",
BatchApiRead: "batch_api:read",
BatchApiWrite: "batch_api:write",
EventsRead: "events:read",
EventsWrite: "events:write",
GoalsRead: "goals:read",
GoalsWrite: "goals:write",
JobsRead: "jobs:read",
JobsWrite: "jobs:write",
PortfoliosRead: "portfolios:read",
PortfoliosWrite: "portfolios:write",
ProjectsRead: "projects:read",
ProjectsWrite: "projects:write",
ProjectMembershipsRead: "project_memberships:read",
ProjectMembershipsWrite: "project_memberships:write",
SectionsRead: "sections:read",
SectionsWrite: "sections:write",
TagsRead: "tags:read",
TagsWrite: "tags:write",
TasksRead: "tasks:read",
TasksWrite: "tasks:write",
TeamsRead: "teams:read",
TeamsWrite: "teams:write",
UsersRead: "users:read",
UsersWrite: "users:write",
UserTaskListsRead: "user_task_lists:read",
UserTaskListsWrite: "user_task_lists:write",
MembershipsRead: "memberships:read",
MembershipsWrite: "memberships:write",
RulesRead: "rules:read",
RulesWrite: "rules:write",
}
StringToPermission = map[string]Permission{
"allocations:read": AllocationsRead,
"allocations:write": AllocationsWrite,
"attachments:read": AttachmentsRead,
"attachments:write": AttachmentsWrite,
"autdit_logs:read": AutditLogsRead,
"autdit_logs:write": AutditLogsWrite,
"custom_fields:read": CustomFieldsRead,
"custom_fields:write": CustomFieldsWrite,
"custom_field_settings:read": CustomFieldSettingsRead,
"custom_field_settings:write": CustomFieldSettingsWrite,
"batch_api:read": BatchApiRead,
"batch_api:write": BatchApiWrite,
"events:read": EventsRead,
"events:write": EventsWrite,
"goals:read": GoalsRead,
"goals:write": GoalsWrite,
"jobs:read": JobsRead,
"jobs:write": JobsWrite,
"portfolios:read": PortfoliosRead,
"portfolios:write": PortfoliosWrite,
"projects:read": ProjectsRead,
"projects:write": ProjectsWrite,
"project_memberships:read": ProjectMembershipsRead,
"project_memberships:write": ProjectMembershipsWrite,
"sections:read": SectionsRead,
"sections:write": SectionsWrite,
"tags:read": TagsRead,
"tags:write": TagsWrite,
"tasks:read": TasksRead,
"tasks:write": TasksWrite,
"teams:read": TeamsRead,
"teams:write": TeamsWrite,
"users:read": UsersRead,
"users:write": UsersWrite,
"user_task_lists:read": UserTaskListsRead,
"user_task_lists:write": UserTaskListsWrite,
"memberships:read": MembershipsRead,
"memberships:write": MembershipsWrite,
"rules:read": RulesRead,
"rules:write": RulesWrite,
}
PermissionIDs = map[Permission]int{
AllocationsRead: 1,
AllocationsWrite: 2,
AttachmentsRead: 3,
AttachmentsWrite: 4,
AutditLogsRead: 5,
AutditLogsWrite: 6,
CustomFieldsRead: 7,
CustomFieldsWrite: 8,
CustomFieldSettingsRead: 9,
CustomFieldSettingsWrite: 10,
BatchApiRead: 11,
BatchApiWrite: 12,
EventsRead: 13,
EventsWrite: 14,
GoalsRead: 15,
GoalsWrite: 16,
JobsRead: 17,
JobsWrite: 18,
PortfoliosRead: 19,
PortfoliosWrite: 20,
ProjectsRead: 21,
ProjectsWrite: 22,
ProjectMembershipsRead: 23,
ProjectMembershipsWrite: 24,
SectionsRead: 25,
SectionsWrite: 26,
TagsRead: 27,
TagsWrite: 28,
TasksRead: 29,
TasksWrite: 30,
TeamsRead: 31,
TeamsWrite: 32,
UsersRead: 33,
UsersWrite: 34,
UserTaskListsRead: 35,
UserTaskListsWrite: 36,
MembershipsRead: 37,
MembershipsWrite: 38,
RulesRead: 39,
RulesWrite: 40,
}
IdToPermission = map[int]Permission{
1: AllocationsRead,
2: AllocationsWrite,
3: AttachmentsRead,
4: AttachmentsWrite,
5: AutditLogsRead,
6: AutditLogsWrite,
7: CustomFieldsRead,
8: CustomFieldsWrite,
9: CustomFieldSettingsRead,
10: CustomFieldSettingsWrite,
11: BatchApiRead,
12: BatchApiWrite,
13: EventsRead,
14: EventsWrite,
15: GoalsRead,
16: GoalsWrite,
17: JobsRead,
18: JobsWrite,
19: PortfoliosRead,
20: PortfoliosWrite,
21: ProjectsRead,
22: ProjectsWrite,
23: ProjectMembershipsRead,
24: ProjectMembershipsWrite,
25: SectionsRead,
26: SectionsWrite,
27: TagsRead,
28: TagsWrite,
29: TasksRead,
30: TasksWrite,
31: TeamsRead,
32: TeamsWrite,
33: UsersRead,
34: UsersWrite,
35: UserTaskListsRead,
36: UserTaskListsWrite,
37: MembershipsRead,
38: MembershipsWrite,
39: RulesRead,
40: RulesWrite,
}
)
// ToString converts a Permission enum to its string representation
func (p Permission) ToString() (string, error) {
if str, ok := PermissionStrings[p]; ok {
return str, nil
}
return "", errors.New("invalid permission")
}
// ToID converts a Permission enum to its ID
func (p Permission) ToID() (int, error) {
if id, ok := PermissionIDs[p]; ok {
return id, nil
}
return 0, errors.New("invalid permission")
}
// PermissionFromString converts a string representation to its Permission enum
func PermissionFromString(s string) (Permission, error) {
if p, ok := StringToPermission[s]; ok {
return p, nil
}
return 0, errors.New("invalid permission string")
}
// PermissionFromID converts an ID to its Permission enum
func PermissionFromID(id int) (Permission, error) {
if p, ok := IdToPermission[id]; ok {
return p, nil
}
return 0, errors.New("invalid permission ID")
}