commons

package
v1.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CRUD

type CRUD struct {
	Create bool `json:"create,omitempty"`
	Read   bool `json:"read,omitempty"`
	Update bool `json:"update,omitempty"`
	Delete bool `json:"delete,omitempty"`
}

func (*CRUD) Marshal

func (p *CRUD) Marshal() ([]byte, error)

type EnvironmentPermissions

type EnvironmentPermissions struct {
	ID        string    `json:"id,omitempty"`
	CreatedAt time.Time `json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`

	EnvID       string                         `json:"env_id,omitempty"`
	Environment environmentCommons.Environment `json:"environment,omitempty"`

	User   userCommons.User `json:"user,omitempty"`
	UserID string           `json:"user_id,omitempty"`

	Permissions string `json:"permissions,omitempty"`
}

func (*EnvironmentPermissions) GetPermissions

func (e *EnvironmentPermissions) GetPermissions() (*Permissions, error)

type EnvironmentPermissionsInsertOptions

type EnvironmentPermissionsInsertOptions struct {
	EnvID       string      `json:"env_id,omitempty"`
	UserID      string      `json:"user_id,omitempty"`
	Permissions Permissions `json:"permissions,omitempty"`
}

type OrganisationPermissionsInsertOptions

type OrganisationPermissionsInsertOptions struct {
	OrgID  string `json:"org_id,omitempty"`
	UserID string `json:"user_id,omitempty"`
	RoleID string `json:"role_id,omitempty"`
	Key    string `json:"key,omitempty"`
}

type OrgnisationPermissions

type OrgnisationPermissions struct {
	ID        string    `json:"id,omitempty"`
	CreatedAt time.Time `json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`

	OrgID        string                           `json:"org_id,omitempty"`
	Organisation organisationCommons.Organisation `json:"organisation,omitempty"`

	User   userCommons.User `json:"user,omitempty"`
	UserID string           `json:"user_id,omitempty"`

	Key         string `json:"key,omitempty"`
	Permissions string `json:"permissions,omitempty"`
}

func (*OrgnisationPermissions) GetPermissions

func (o *OrgnisationPermissions) GetPermissions() (*Permissions, error)

Org's permissions structure will also have to be manually unmarshalled. Because Hasura sends stringified JSON.

type PermissionLevel

type PermissionLevel string
const (
	OrgnisationLevelPermission PermissionLevel = "OrgnisationLevelPermission"
	ProjectLevelPermission     PermissionLevel = "ProjectLevelPermission"
	EnvironmentLevelPermission PermissionLevel = "EnvironmentLevelPermission"
)

type Permissions

type Permissions struct {

	//	Other members and their permissions.
	Permissions CRUD `json:"permissions,omitempty"`

	//	Projects and their environments.
	Projects CRUD `json:"projects,omitempty"`

	//	Environments and their secrets.
	Environments CRUD `json:"environments,omitempty"`

	//	Add/Delete Integrations.
	Integrations CRUD `json:"integrations,omitempty"`
}

func (*Permissions) Marshal

func (p *Permissions) Marshal() ([]byte, error)

type ProjectPermissions

type ProjectPermissions struct {
	ID        string    `json:"id,omitempty"`
	CreatedAt time.Time `json:"created_at,omitempty"`
	UpdatedAt time.Time `json:"updated_at,omitempty"`

	ProjectID string           `json:"project_id,omitempty"`
	Project   projects.Project `json:"project,omitempty"`

	User   userCommons.User `json:"user,omitempty"`
	UserID string           `json:"user_id,omitempty"`

	Permissions string `json:"permissions,omitempty"`
}

func (*ProjectPermissions) GetPermissions

func (p *ProjectPermissions) GetPermissions() (*Permissions, error)

type ProjectPermissionsInsertOptions

type ProjectPermissionsInsertOptions struct {
	ProjectID   string      `json:"project_id,omitempty"`
	UserID      string      `json:"user_id,omitempty"`
	Permissions Permissions `json:"permissions,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL