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