Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateEmailVerificationKey ¶
func GenerateEmailVerificationKey() string
GenerateEmailVerificationKey returns a 64 chars key
Types ¶
type Comment ¶
type Comment struct { ID int `json:"id"` Content string `json:"content"` CreatedAt time.Time `json:"createdAt"` User *User `json:"user"` Attachments []string `json:"attachments,omitempty"` EditedAt *time.Time `json:"editedAt,omitempty"` EditedBy *User `json:"editedBy,omitempty"` }
Comment represents an user comment on an post
type EmailVerification ¶
type EmailVerification struct { Email string Name string Key string UserID int Kind enum.EmailVerificationKind CreatedAt time.Time ExpiresAt time.Time VerifiedAt *time.Time }
EmailVerification is the model used by email verification process
type Notification ¶
type Notification struct { ID int `json:"id" db:"id"` Title string `json:"title" db:"title"` Link string `json:"link" db:"link"` Read bool `json:"read" db:"read"` CreatedAt time.Time `json:"createdAt" db:"created_at"` }
Notification is the system generated notification entity
type OAuthConfig ¶
type OAuthConfig struct { ID int Provider string DisplayName string LogoBlobKey string Status int ClientID string ClientSecret string AuthorizeURL string TokenURL string ProfileURL string Scope string JSONUserIDPath string JSONUserNamePath string JSONUserEmailPath string }
OAuthConfig is the configuration of a custom OAuth provider
func (OAuthConfig) MarshalJSON ¶
func (o OAuthConfig) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON encoding of OAuthConfig
type OriginalPost ¶
type OriginalPost struct { Number int `json:"number"` Title string `json:"title"` Slug string `json:"slug"` Status enum.PostStatus `json:"status"` }
OriginalPost holds details of the original post of a duplicate
type Post ¶
type Post struct { ID int `json:"id"` Number int `json:"number"` Title string `json:"title"` Slug string `json:"slug"` Description string `json:"description"` CreatedAt time.Time `json:"createdAt"` User *User `json:"user"` HasVoted bool `json:"hasVoted"` VotesCount int `json:"votesCount"` CommentsCount int `json:"commentsCount"` Status enum.PostStatus `json:"status"` Response *PostResponse `json:"response,omitempty"` Tags []string `json:"tags"` }
Post represents an post on a tenant board
func (*Post) CanBeVoted ¶
CanBeVoted returns true if this post can have its vote changed
type PostResponse ¶
type PostResponse struct { Text string `json:"text"` RespondedAt time.Time `json:"respondedAt"` User *User `json:"user"` Original *OriginalPost `json:"original"` }
PostResponse is a staff response to a given post
type Tag ¶
type Tag struct { ID int `json:"id"` Name string `json:"name"` Slug string `json:"slug"` Color string `json:"color"` IsPublic bool `json:"isPublic"` }
Tag represents a simple tag
type Tenant ¶
type Tenant struct { ID int `json:"id"` Name string `json:"name"` Subdomain string `json:"subdomain"` Invitation string `json:"invitation"` WelcomeMessage string `json:"welcomeMessage"` CNAME string `json:"cname"` Status int `json:"status"` Locale string `json:"locale"` IsPrivate bool `json:"isPrivate"` LogoBlobKey string `json:"logoBlobKey"` CustomCSS string `json:"-"` IsEmailAuthAllowed bool `json:"isEmailAuthAllowed"` }
Tenant represents a tenant
type User ¶
type User struct { ID int `json:"id"` Name string `json:"name"` Tenant *Tenant `json:"-"` Email string `json:"-"` Role enum.Role `json:"role"` Providers []*UserProvider `json:"-"` AvatarBlobKey string `json:"-"` AvatarType enum.AvatarType `json:"-"` AvatarURL string `json:"avatarURL,omitempty"` Status enum.UserStatus `json:"status"` }
User represents an user inside our application
func (*User) HasProvider ¶
HasProvider returns true if current user has registered with given provider
func (*User) IsAdministrator ¶
IsAdministrator returns true if user is administrator
func (*User) IsCollaborator ¶
IsCollaborator returns true if user has special permissions
type UserProvider ¶
UserProvider represents the relationship between an User and an Authentication provide