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 = "gitlab" Project = "project" Group = "group" )
View Source
const ( OrderAscending = "asc" OrderDescending = "desc" )
Variables ¶
View Source
var Roles = map[int64]string{
0: "No access",
10: "Guest",
20: "Reporter",
30: "Developer",
40: "Maintainer",
50: "Owner",
}
View Source
var RolesArray = []int64{0, 10, 20, 30, 40, 50}
Functions ¶
Types ¶
type ModulePayload ¶
type ModulePayload struct {
RequestId string `json:"request_id"`
UserId string `json:"user_id"`
Action string `json:"action"`
//other fields that are required for module
Type string `json:"type"`
Link string `json:"link"`
Links []string `json:"links"`
Username string `json:"username"`
GitlabId string `json:"gitlab_id"`
AccessLevel int64 `json:"access_level"`
}
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"`
Name string `json:"name" db:"name" structs:"name"`
Username string `json:"username" db:"username" structs:"username"`
GitlabId int64 `json:"id" db:"gitlab_id" structs:"gitlab_id"`
AccessLevel int64 `json:"access_level" 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"`
ParentLink *string `json:"-" db:"parent_link" structs:"parent_link"`
Type string `json:"type" db:"type" structs:"type"`
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:"-" db:"expires_at" structs:"expires_at"`
ExpiresString string `json:"expires_at" db:"-" structs:"-"`
AvatarUrl string `json:"avatar_url" db:"-" structs:"-"`
}
type PermissionToUpdate ¶
type PermissionToUpdate struct {
Username *string `structs:"username,omitempty"`
AccessLevel *int64 `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)
FilterByGitlabIds(gitlabIds ...int64) Permissions
FilterByUsernames(usernames ...string) Permissions
FilterByTypes(types ...string) Permissions
FilterByLinks(links ...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" struct:"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:"path" db:"path" structs:"path"`
Link string `json:"link" 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
Insert(sub Sub) error
Delete() error
Select() ([]Sub, error)
Get() (*Sub, error)
FilterByLinks(links ...string) Subs
FilterByTypes(types ...string) Subs
FilterByIds(ids ...int64) Subs
SearchBy(search string) Subs
WithPermissions() Subs
FilterByGitlabIds(gitlabIds ...int64) Subs
FilterByParentLinks(parentLinks ...string) Subs
FilterByParentIds(parentIds ...int64) Subs
FilterByHasParent(hasParent bool) Subs
FilterByUserIds(userIds ...int64) Subs
FilterByUsernames(usernames ...string) 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 `json:"-" db:"id" structs:"id,omitempty"`
GitlabUsername string `json:"username" db:"username" structs:"username"`
Name string `json:"name" db:"name" structs:"name"`
GitlabId int64 `json:"id" db:"gitlab_id" structs:"gitlab_id"`
CreatedAt time.Time `json:"created_at" db:"created_at" structs:"-"`
UpdatedAt time.Time `json:"updated_at" db:"updated_at" structs:"-"`
AvatarUrl string `json:"avatar_url" db:"avatar_url" structs:"avatar_url"`
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)
FilterByLowerTime(time time.Time) Users
FilterById(id *int64) Users
FilterByUsernames(usernames ...string) Users
FilterByGitlabIds(gitlabIds ...int64) Users
SearchBy(search string) Users
Count() Users
GetTotalCount() (int64, error)
Page(pageParams pgdb.OffsetPageParams) Users
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.