Documentation
¶
Index ¶
- func Slugify(name string) string
- type Dataset
- type GetDataset
- type GetDatasets
- type GetOrganization
- type GetUser
- type NewDataset
- type NewOrganization
- type NewUser
- type Organization
- type Privilege
- type Role
- type User
- func (user User) CanManageDataset(dataset Dataset) bool
- func (user User) CanManageOrganization(org Organization) bool
- func (user User) CanReadDataset(dataset Dataset) bool
- func (user User) CanReadOrganization(org Organization) bool
- func (user User) CanWriteDataset(dataset Dataset) bool
- func (user User) CanWriteOrganization(org Organization) bool
- func (user User) DatasetPrivilege(dataset Dataset) string
- func (user User) OrganizationPrivilege(org Organization) string
- type UserDatasetPrivilege
- type UserLogin
- type UserOrganizationPrivilege
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Dataset ¶
type Dataset struct {
ID uint `json:"id" gorm:"primaryKey"`
Slug string `json:"slug" gorm:"uniqueIndex"`
Name string `json:"name"`
Contact string `json:"contact"`
Description string `json:"description"`
IsPrivate bool `json:"private"`
OrganizationID uint `json:"organizationId"`
ManifestHash string `json:"manifestHash"`
Manifest *core.Manifest `json:"manifest" gorm:"-"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
Organization *Organization `json:"organization"`
UserPrivileges []UserDatasetPrivilege `json:"userPrivileges"`
}
type GetDataset ¶
type GetDataset struct {
GetDatasets
ID uint `json:"id"`
}
type GetDatasets ¶
type GetDatasets struct {
OrganizationID uint `json:"organizationId"`
}
type GetOrganization ¶
type NewDataset ¶
type NewDataset struct {
Slug string `json:"slug"`
Name string `json:"name"`
OrganizationID uint `json:"organizationId"`
Contact string `json:"contact"`
Description *string `json:"description,omitempty"`
IsPrivate bool `json:"isPrivate"`
}
func (*NewDataset) ID ¶
func (input *NewDataset) ID() string
type NewOrganization ¶
type Organization ¶
type Organization struct {
ID uint `json:"id" gorm:"primaryKey"`
Slug string `json:"slug" gorm:"uniqueIndex"`
Name string `json:"name"`
Contact string `json:"contact" gorm:"index"`
Description string `json:"description"`
IsPrivate bool `json:"private"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
Datasets []Dataset `json:"datasets"`
UserPrivileges []UserOrganizationPrivilege `json:"userPrivileges"`
}
type User ¶
type User struct {
ID uint `json:"id" gorm:"primaryKey"`
Email string `json:"email" gorm:"uniqueIndex"`
PasswordHash []byte `json:"-"`
Name string `json:"name"`
Orcid *string `json:"orcid,omitempty" gorm:"index"`
RoleCode string `json:"roleCode"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
Role *Role `json:"role"`
OrganizationPrivileges []UserOrganizationPrivilege `json:"organizationPrivileges"`
DatasetPrivileges []UserDatasetPrivilege `json:"datasetPrivileges"`
}
func (User) CanManageDataset ¶
func (User) CanManageOrganization ¶
func (user User) CanManageOrganization(org Organization) bool
func (User) CanReadDataset ¶
func (User) CanReadOrganization ¶
func (user User) CanReadOrganization(org Organization) bool
func (User) CanWriteDataset ¶
func (User) CanWriteOrganization ¶
func (user User) CanWriteOrganization(org Organization) bool
func (User) DatasetPrivilege ¶
func (User) OrganizationPrivilege ¶
func (user User) OrganizationPrivilege(org Organization) string
type UserDatasetPrivilege ¶
type UserOrganizationPrivilege ¶
type UserOrganizationPrivilege struct {
UserID uint `json:"userId" gorm:"primaryKey"`
OrganizationID uint `json:"organizationID" gorm:"primaryKey"`
PrivilegeCode string `json:"privilegeCode"`
User *User `json:"user"`
Organization *Organization `json:"organization"`
Privilege *Privilege `json:"privilege"`
}
Click to show internal directories.
Click to hide internal directories.