Documentation ¶
Index ¶
- type AccessLevel
- type AddUser
- type DeleteUser
- type Details
- type EstimatedTime
- type EstimatedTimeAttributes
- type EstimatedTimeListResponse
- type EstimatedTimeResponse
- type Flag
- type Flagger
- type Flags
- type GetUsers
- type Included
- func (c *Included) Add(includes ...Resource)
- func (c Included) MarshalJSON() ([]byte, error)
- func (c *Included) MustEstimatedTime(key Key) *EstimatedTime
- func (c *Included) MustInputs(key Key) *Inputs
- func (c *Included) MustLink(key Key) *Link
- func (c *Included) MustModule(key Key) *Module
- func (c *Included) MustModuleRoles(key Key) *ModuleRoles
- func (c *Included) MustRequest(key Key) *Request
- func (c *Included) MustRole(key Key) *Role
- func (c *Included) MustRoles(key Key) *Roles
- func (c *Included) MustSubmodules(key Key) *Submodules
- func (c *Included) MustUser(key Key) *User
- func (c *Included) MustUserInfo(key Key) *UserInfo
- func (c *Included) MustUserPermission(key Key) *UserPermission
- func (c *Included) UnmarshalJSON(data []byte) error
- type Inputs
- type InputsAttributes
- type InputsListResponse
- type InputsResponse
- type Key
- type Link
- type LinkAttributes
- type LinkListResponse
- type LinkResponse
- type Links
- type Module
- type ModuleAttributes
- type ModuleListResponse
- type ModuleResponse
- type ModuleRoles
- type ModuleRolesAttributes
- type ModuleRolesListResponse
- type ModuleRolesResponse
- type Relation
- type RelationCollection
- type RemoveUser
- type Request
- type RequestAttributes
- type RequestListResponse
- type RequestRelationships
- type RequestResponse
- type Resource
- type ResourceType
- type Role
- type RoleAttributes
- type RoleListResponse
- type RoleResponse
- type Roles
- type RolesAttributes
- type RolesListResponse
- type RolesResponse
- type Submodules
- type SubmodulesAttributes
- type SubmodulesListResponse
- type SubmodulesResponse
- type UpdateUser
- type User
- type UserAttributes
- type UserInfo
- type UserInfoAttributes
- type UserInfoListResponse
- type UserInfoResponse
- type UserListResponse
- type UserPermission
- type UserPermissionAttributes
- type UserPermissionListResponse
- type UserPermissionResponse
- type UserResponse
- type VerifyUser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessLevel ¶
type AddUser ¶
type AddUser struct { // user's id from identity AccessLevel int `json:"access_level"` // action that must be handled in module, must be \"add_user\" Action string `json:"action"` // link where module has to add user Link string `json:"link"` // user's id from identity UserId string `json:"user_id"` // user's username from gitlab Username string `json:"username"` }
type DeleteUser ¶
type Details ¶
type Details json.RawMessage
func (Details) MarshalJSON ¶
MarshalJSON - casts Details to []byte
func (*Details) UnmarshalJSON ¶
UnmarshalJSON - casts data to Details
type EstimatedTime ¶
type EstimatedTime struct { Key Attributes EstimatedTimeAttributes `json:"attributes"` }
type EstimatedTimeAttributes ¶
type EstimatedTimeAttributes struct {
EstimatedTime string `json:"estimated_time"`
}
type EstimatedTimeListResponse ¶
type EstimatedTimeListResponse struct { Data []EstimatedTime `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` }
type EstimatedTimeResponse ¶
type EstimatedTimeResponse struct { Data EstimatedTime `json:"data"` Included Included `json:"included"` }
type Included ¶
type Included struct {
// contains filtered or unexported fields
}
Included - an array of Resource objects that are related to the primary data and/or each other (“included resources”).
func (Included) MarshalJSON ¶
MarshalJSON - marshals include collection as array of json objects
func (*Included) MustEstimatedTime ¶
func (c *Included) MustEstimatedTime(key Key) *EstimatedTime
MustEstimatedTime - returns EstimatedTime from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustInputs ¶
MustInputs - returns Inputs from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustLink ¶
MustLink - returns Link from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustModule ¶
MustModule - returns Module from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustModuleRoles ¶
func (c *Included) MustModuleRoles(key Key) *ModuleRoles
MustModuleRoles - returns ModuleRoles from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustRequest ¶
MustRequest - returns Request from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustRole ¶
MustRole - returns Role from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustRoles ¶
MustRoles - returns Roles from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustSubmodules ¶
func (c *Included) MustSubmodules(key Key) *Submodules
MustSubmodules - returns Submodules from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustUser ¶
MustUser - returns User from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustUserInfo ¶
MustUserInfo - returns UserInfo from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) MustUserPermission ¶
func (c *Included) MustUserPermission(key Key) *UserPermission
MustUserPermission - returns UserPermission from include collection. if entry with specified key does not exist - returns nil if entry with specified key exists but type or ID mismatches - panics
func (*Included) UnmarshalJSON ¶
UmarshalJSON - unmarshal array of json objects into include collection
type Inputs ¶
type Inputs struct { Key Attributes InputsAttributes `json:"attributes"` }
type InputsAttributes ¶
type InputsListResponse ¶
type InputsResponse ¶
type Key ¶
type Key struct { ID string `json:"id"` Type ResourceType `json:"type"` }
func NewKeyInt64 ¶
func NewKeyInt64(id int64, resourceType ResourceType) Key
func (Key) AsRelation ¶
type Link ¶
type Link struct { Key Attributes LinkAttributes `json:"attributes"` }
type LinkAttributes ¶
type LinkListResponse ¶
type LinkResponse ¶
type Module ¶
type Module struct { Key Attributes ModuleAttributes `json:"attributes"` }
type ModuleAttributes ¶
type ModuleAttributes struct { // indicates whether module (gitlab, telegram etc.) or service (unverified, role etc.) IsModule bool `json:"is_module"` // Module url Link string `json:"link"` // Module name Name string `json:"name"` // Module prefix to use in FE Prefix string `json:"prefix"` // Module name to use in FE Title string `json:"title"` // Module topic for sender and others Topic string `json:"topic"` }
type ModuleListResponse ¶
type ModuleResponse ¶
type ModuleRoles ¶
type ModuleRoles struct { Key Attributes ModuleRolesAttributes `json:"attributes"` }
type ModuleRolesAttributes ¶
type ModuleRolesAttributes struct { }
type ModuleRolesListResponse ¶
type ModuleRolesListResponse struct { Data []ModuleRoles `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` }
type ModuleRolesResponse ¶
type ModuleRolesResponse struct { Data ModuleRoles `json:"data"` Included Included `json:"included"` }
type RelationCollection ¶
func (RelationCollection) MarshalJSON ¶
func (r RelationCollection) MarshalJSON() ([]byte, error)
type RemoveUser ¶
type RemoveUser struct { // action that must be handled in module, must be \"remove_user\" Action string `json:"action"` // link where module has to add user Link string `json:"link"` // user's username from gitlab Username string `json:"username"` }
action to remove user from repository or group in gitlab
type Request ¶
type Request struct { Key Attributes RequestAttributes `json:"attributes"` Relationships RequestRelationships `json:"relationships"` }
type RequestAttributes ¶
type RequestAttributes struct { // Module to grant permission Module string `json:"module"` // Already built payload to grant permission <br><br> -> \"add_user\" = action to add user in repository or group in gitlab<br> -> \"verify_user\" = action to verify user in gitlab module (connect user id from identity with gitlab username)<br> -> \"update_user\" = action to update user access level in repository or group in gitlab<br> -> \"get_users\" = action to get users with their permissions from repository or group in gitlab<br> -> \"delete_user\" = action to delete user from module (from all links)<br> -> \"remove_user\" = action to remove user from repository or group in gitlab<br> Payload json.RawMessage `json:"payload"` }
type RequestListResponse ¶
type RequestRelationships ¶
type RequestRelationships struct {
User Relation `json:"user"`
}
type RequestResponse ¶
type ResourceType ¶
type ResourceType string
const ( ESTIMATED_TIME ResourceType = "estimated_time" INPUTS ResourceType = "inputs" LINKS ResourceType = "links" MODULES ResourceType = "modules" REQUESTS ResourceType = "requests" ROLE ResourceType = "role" ROLES ResourceType = "roles" USER ResourceType = "user" USER_PERMISSION ResourceType = "user_permission" )
List of ResourceType
type Role ¶
type Role struct { Key Attributes RoleAttributes `json:"attributes"` }
type RoleAttributes ¶
type RoleListResponse ¶
type RoleResponse ¶
type Roles ¶
type Roles struct { Key Attributes RolesAttributes `json:"attributes"` }
type RolesAttributes ¶
type RolesAttributes struct { List []AccessLevel `json:"list"` // flag to show if any role was found for given link Req bool `json:"req"` }
type RolesListResponse ¶
type RolesResponse ¶
type Submodules ¶
type Submodules struct { Key Attributes SubmodulesAttributes `json:"attributes"` }
type SubmodulesAttributes ¶
type SubmodulesAttributes struct {
Links []string `json:"links"`
}
type SubmodulesListResponse ¶
type SubmodulesListResponse struct { Data []Submodules `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` }
type SubmodulesResponse ¶
type SubmodulesResponse struct { Data Submodules `json:"data"` Included Included `json:"included"` }
type UpdateUser ¶
type UpdateUser struct { // user's id from identity AccessLevel int `json:"access_level"` // action that must be handled in module, must be \"update_user\" Action string `json:"action"` // link where module has to add user Link string `json:"link"` // user's username from gitlab Username string `json:"username"` }
type User ¶
type User struct { Key Attributes UserAttributes `json:"attributes"` }
type UserAttributes ¶
type UserAttributes struct { // submodule access level AccessLevel *string `json:"access_level,omitempty"` // timestamp without timezone when user was created CreatedAt *time.Time `json:"created_at,omitempty"` // module name Module string `json:"module"` // first submodule name Submodule *string `json:"submodule,omitempty"` // user id from identity module, if user is not verified - null UserId *int64 `json:"user_id,omitempty"` // username from gitlab Username string `json:"username"` }
type UserInfo ¶
type UserInfo struct { Key Attributes UserInfoAttributes `json:"attributes"` }
type UserInfoAttributes ¶
type UserInfoListResponse ¶
type UserInfoResponse ¶
type UserListResponse ¶
type UserPermission ¶
type UserPermission struct { Key Attributes UserPermissionAttributes `json:"attributes"` }
type UserPermissionAttributes ¶
type UserPermissionAttributes struct { AccessLevel AccessLevel `json:"access_level"` // indicates whether element have nested object Deployable bool `json:"deployable"` // shows when permission is expired ExpiresAt *time.Time `json:"expires_at,omitempty"` // full path to repo for which was given access Link string `json:"link"` // user id from gitlab ModuleId int64 `json:"module_id"` // path to repo for which was given access Path string `json:"path"` // type of link for which was given access (group or project) Type string `json:"type"` // user id from identity UserId *int64 `json:"user_id,omitempty"` // username from gitlab Username string `json:"username"` }
type UserPermissionListResponse ¶
type UserPermissionListResponse struct { Data []UserPermission `json:"data"` Included Included `json:"included"` Links *Links `json:"links"` }
type UserPermissionResponse ¶
type UserPermissionResponse struct { Data UserPermission `json:"data"` Included Included `json:"included"` }
type UserResponse ¶
type VerifyUser ¶
Source Files ¶
- db.go
- flag.go
- included.go
- model_access_level.go
- model_add_user.go
- model_delete_user.go
- model_details.go
- model_estimated_time.go
- model_estimated_time_attributes.go
- model_get_users.go
- model_inputs.go
- model_inputs_attributes.go
- model_key.go
- model_link.go
- model_link_attributes.go
- model_links.go
- model_module.go
- model_module_attributes.go
- model_module_roles.go
- model_module_roles_attributes.go
- model_relation.go
- model_relation_collection.go
- model_remove_user.go
- model_request.go
- model_request_attributes.go
- model_request_relationships.go
- model_resource_type.go
- model_role.go
- model_role_attributes.go
- model_roles.go
- model_roles_attributes.go
- model_submodules.go
- model_submodules_attributes.go
- model_update_user.go
- model_user.go
- model_user_attributes.go
- model_user_info.go
- model_user_info_attributes.go
- model_user_permission.go
- model_user_permission_attributes.go
- model_verify_user.go