Documentation ¶
Index ¶
- Constants
- Variables
- func GetOffsetLinksForPGParams(r *http.Request, p pgdb.OffsetPageParams) *resources.Links
- type Link
- type Links
- type ModulePayload
- type ModuleRequest
- type OrderType
- type Permission
- type PermissionToUpdate
- type Permissions
- type RequestParams
- type Response
- type ResponseParams
- type Responses
- type Sub
- type Subs
- type UnverifiedPayload
- type UnverifiedUser
- type User
- type Users
Constants ¶
View Source
const ( ModuleName = "github" Organization = "org" Repository = "repo" UserOwned = "User" OrganizationOwned = "Organization" Push = "push" AcceptHeader = "application/vnd.Github+json" GithubApiVersionHeader = "2022-11-28" )
View Source
const ( OrderAscending = "asc" OrderDescending = "desc" )
Variables ¶
View Source
var Roles = map[string]string{
"": "No access",
"read": "Read",
"triage": "Triage",
"write": "Write",
"maintain": "Maintain",
"admin": "Admin",
"member": "Member",
}
Functions ¶
Types ¶
type ModulePayload ¶
type ModuleRequest ¶
type ModuleRequest struct { ID string `db:"id" structs:"id"` UserID int64 `db:"user_id" structs:"user_id"` Module string `db:"module" structs:"module"` Payload string `db:"payload" structs:"payload"` CreatedAt time.Time `db:"created_at" structs:"created_at"` RequestStatus string `db:"request_status" structs:"request_status"` Error string `db:"error" structs:"error"` }
type Permission ¶
type Permission struct { RequestId string `json:"request_id" db:"request_id" structs:"request_id"` UserId *int64 `json:"user_id" db:"user_id" structs:"user_id"` Username string `json:"login" db:"username" structs:"username"` GithubId int64 `json:"id" db:"github_id" structs:"github_id"` AccessLevel string `json:"role_name" db:"access_level" structs:"access_level"` HasParent bool `json:"-" db:"has_parent" structs:"-"` HasChild bool `json:"-" db:"has_child" structs:"-"` Link string `json:"link" db:"link" structs:"link"` Type string `json:"type" db:"type" structs:"type"` ParentLink *string `json:"-" db:"parent_link" structs:"parent_link"` CreatedAt time.Time `json:"created_at" db:"created_at" structs:"created_at"` UpdatedAt time.Time `json:"updated_at" db:"updated_at" structs:"-"` ExpiresAt time.Time `json:"expires_at" db:"expires_at" structs:"expires_at"` AvatarUrl string `json:"avatar_url" db:"-" structs:"-"` }
type PermissionToUpdate ¶
type PermissionToUpdate struct { Username *string `structs:"username,omitempty"` AccessLevel *string `structs:"access_level,omitempty"` UserId *int64 `structs:"user_id,omitempty"` ParentLink *string `structs:"parent_link,omitempty"` HasParent *bool `structs:"has_parent,omitempty"` HasChild *bool `structs:"has_child,omitempty"` UpdatedAt *time.Time `structs:"updated_at,omitempty"` }
type Permissions ¶
type Permissions interface { New() Permissions Upsert(permission Permission) error Update(permission PermissionToUpdate) error Delete() error Select() ([]Permission, error) Get() (*Permission, error) FilterByGithubIds(githubIds ...int64) Permissions FilterByUsernames(usernames ...string) Permissions FilterByLinks(links ...string) Permissions FilterByTypes(types ...string) Permissions FilterByGreaterTime(time time.Time) Permissions FilterByLowerTime(time time.Time) Permissions FilterByParentLinks(parentLinks ...string) Permissions FilterByHasParent(hasParent bool) Permissions }
type RequestParams ¶
type Response ¶
type Response struct { ID string `json:"id" db:"id" structs:"id"` Status string `json:"status" db:"status" structs:"status"` Error string `json:"error" db:"error" structs:"error"` Payload json.RawMessage `json:"payload" db:"payload" structs:"payload"` CreatedAt string `json:"created_at" db:"created_at" structs:"-"` }
type ResponseParams ¶
type ResponseParams struct { Body io.ReadCloser Header http.Header StatusCode int }
type Sub ¶
type Sub struct { Id int64 `json:"id" db:"id" structs:"id"` Path string `json:"name" db:"path" structs:"path"` Link string `json:"full_name" db:"subs_link" structs:"link"` Type string `json:"type" db:"subs_type" structs:"type"` ParentId *int64 `json:"parent_id" db:"parent_id" structs:"parent_id"` *Permission `structs:",omitempty"` }
type Subs ¶
type Subs interface { New() Subs Upsert(sub Sub) error Delete() error Select() ([]Sub, error) Get() (*Sub, error) FilterByParentLinks(parentLinks ...string) Subs FilterByParentIds(parentIds ...int64) Subs FilterByLinks(links ...string) Subs FilterByIds(ids ...int64) Subs SearchBy(search string) Subs WithPermissions() Subs FilterByGithubIds(githubIds ...int64) Subs FilterByUserIds(userIds ...int64) Subs FilterByUsernames(usernames ...string) Subs FilterByHasParent(level bool) Subs OrderBy(columns ...string) Subs Count() Subs CountWithPermissions() Subs GetTotalCount() (int64, error) Page(pageParams pgdb.OffsetPageParams) Subs }
type UnverifiedPayload ¶
type UnverifiedPayload struct { Action string `json:"action"` Users []UnverifiedUser `json:"users"` }
type UnverifiedUser ¶
type UnverifiedUser struct { CreatedAt time.Time `json:"created_at"` Module string `json:"module"` Submodule string `json:"submodule"` ModuleId string `json:"module_id"` Email *string `json:"email,omitempty"` Name *string `json:"name,omitempty"` Phone *string `json:"phone,omitempty"` Username *string `json:"username,omitempty"` }
type User ¶
type User struct { Id *int64 `db:"id" structs:"id,omitempty"` Username string `json:"login" db:"username" structs:"username"` GithubId int64 `json:"id" db:"github_id" structs:"github_id"` AvatarUrl string `json:"avatar_url" db:"avatar_url" structs:"avatar_url"` CreatedAt time.Time `json:"created_at" db:"created_at" structs:"-"` UpdatedAt time.Time `json:"updated_at" db:"updated_at" structs:"-"` Submodule *string `json:"-" db:"-" structs:"-"` AccessLevel *string `json:"-" db:"-" structs:"-"` }
type Users ¶
type Users interface { New() Users Upsert(user User) error Delete() error Select() ([]User, error) Get() (*User, error) Count() Users GetTotalCount() (int64, error) FilterById(id *int64) Users FilterByUsernames(usernames ...string) Users FilterByGithubIds(githubIds ...int64) Users FilterByLowerTime(time time.Time) Users SearchBy(search string) Users Page(pageParams pgdb.OffsetPageParams) Users }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.