Documentation ¶
Index ¶
- type IdeaStorage
- func (s *IdeaStorage) Add(title, description string, userID int) (*models.Idea, error)
- func (s *IdeaStorage) AddComment(number int, content string, userID int) (int, error)
- func (s *IdeaStorage) AddSubscriber(number, userID int) error
- func (s *IdeaStorage) AddSupporter(number, userID int) error
- func (s *IdeaStorage) CountPerStatus() (map[int]int, error)
- func (s *IdeaStorage) GetActiveSubscribers(number int, channel models.NotificationChannel, event models.NotificationEvent) ([]*models.User, error)
- func (s *IdeaStorage) GetAll() ([]*models.Idea, error)
- func (s *IdeaStorage) GetByID(ideaID int) (*models.Idea, error)
- func (s *IdeaStorage) GetByNumber(number int) (*models.Idea, error)
- func (s *IdeaStorage) GetBySlug(slug string) (*models.Idea, error)
- func (s *IdeaStorage) GetCommentsByIdea(number int) ([]*models.Comment, error)
- func (s *IdeaStorage) MarkAsDuplicate(number, originalNumber, userID int) error
- func (s *IdeaStorage) RemoveSubscriber(number, userID int) error
- func (s *IdeaStorage) RemoveSupporter(number, userID int) error
- func (s *IdeaStorage) Search(query, filter string, tags []string) ([]*models.Idea, error)
- func (s *IdeaStorage) SetCurrentTenant(tenant *models.Tenant)
- func (s *IdeaStorage) SetCurrentUser(user *models.User)
- func (s *IdeaStorage) SetResponse(number int, text string, userID, status int) error
- func (s *IdeaStorage) SupportedBy(userID int) ([]int, error)
- func (s *IdeaStorage) Update(number int, title, description string) (*models.Idea, error)
- type NotificationStorage
- func (s *NotificationStorage) GetActiveNotifications() ([]*models.Notification, error)
- func (s *NotificationStorage) GetNotification(id int) (*models.Notification, error)
- func (s *NotificationStorage) Insert(user *models.User, title, link string, ideaID, authorID int) (*models.Notification, error)
- func (s *NotificationStorage) MarkAllAsRead() error
- func (s *NotificationStorage) MarkAsRead(id int) error
- func (s *NotificationStorage) SetCurrentTenant(tenant *models.Tenant)
- func (s *NotificationStorage) SetCurrentUser(user *models.User)
- func (s *NotificationStorage) TotalUnread() (int, error)
- type TagStorage
- func (s *TagStorage) Add(name, color string, isPublic bool) (*models.Tag, error)
- func (s *TagStorage) AssignTag(tagID, ideaID, userID int) error
- func (s *TagStorage) Delete(tagID int) error
- func (s *TagStorage) GetAll() ([]*models.Tag, error)
- func (s *TagStorage) GetAssigned(ideaID int) ([]*models.Tag, error)
- func (s *TagStorage) GetBySlug(slug string) (*models.Tag, error)
- func (s *TagStorage) SetCurrentTenant(tenant *models.Tenant)
- func (s *TagStorage) SetCurrentUser(user *models.User)
- func (s *TagStorage) UnassignTag(tagID, ideaID int) error
- func (s *TagStorage) Update(tagID int, name, color string, isPublic bool) (*models.Tag, error)
- type TenantStorage
- func (s *TenantStorage) Activate(id int) error
- func (s *TenantStorage) Add(name string, subdomain string, status int) (*models.Tenant, error)
- func (s *TenantStorage) FindVerificationByKey(kind models.EmailVerificationKind, key string) (*models.EmailVerification, error)
- func (s *TenantStorage) First() (*models.Tenant, error)
- func (s *TenantStorage) GetByDomain(domain string) (*models.Tenant, error)
- func (s *TenantStorage) IsCNAMEAvailable(cname string) (bool, error)
- func (s *TenantStorage) IsSubdomainAvailable(subdomain string) (bool, error)
- func (s *TenantStorage) SaveVerificationKey(key string, duration time.Duration, request models.NewEmailVerification) error
- func (s *TenantStorage) SetCurrentTenant(tenant *models.Tenant)
- func (s *TenantStorage) SetCurrentUser(user *models.User)
- func (s *TenantStorage) SetKeyAsVerified(key string) error
- func (s *TenantStorage) UpdateSettings(settings *models.UpdateTenantSettings) error
- type UserStorage
- func (s *UserStorage) ChangeEmail(userID int, email string) error
- func (s *UserStorage) ChangeRole(userID int, role models.Role) error
- func (s *UserStorage) GetAll() ([]*models.User, error)
- func (s *UserStorage) GetByEmail(tenantID int, email string) (*models.User, error)
- func (s *UserStorage) GetByID(userID int) (*models.User, error)
- func (s *UserStorage) GetByProvider(tenantID int, provider string, uid string) (*models.User, error)
- func (s *UserStorage) GetUserSettings() (map[string]string, error)
- func (s *UserStorage) HasSubscribedTo(ideaID int) (bool, error)
- func (s *UserStorage) Register(user *models.User) error
- func (s *UserStorage) RegisterProvider(userID int, provider *models.UserProvider) error
- func (s *UserStorage) SetCurrentTenant(tenant *models.Tenant)
- func (s *UserStorage) SetCurrentUser(user *models.User)
- func (s *UserStorage) Update(userID int, settings *models.UpdateUserSettings) error
- func (s *UserStorage) UpdateSettings(settings map[string]string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IdeaStorage ¶
type IdeaStorage struct {
// contains filtered or unexported fields
}
IdeaStorage contains read and write operations for ideas
func NewIdeaStorage ¶ added in v0.7.0
func NewIdeaStorage() *IdeaStorage
NewIdeaStorage creates a new IdeaStorage
func (*IdeaStorage) AddComment ¶
AddComment places a new comment on an idea
func (*IdeaStorage) AddSubscriber ¶ added in v0.10.0
func (s *IdeaStorage) AddSubscriber(number, userID int) error
AddSubscriber adds user to the idea list of subscribers
func (*IdeaStorage) AddSupporter ¶
func (s *IdeaStorage) AddSupporter(number, userID int) error
AddSupporter adds user to idea list of supporters
func (*IdeaStorage) CountPerStatus ¶ added in v0.10.0
func (s *IdeaStorage) CountPerStatus() (map[int]int, error)
CountPerStatus returns total number of ideas per status
func (*IdeaStorage) GetActiveSubscribers ¶ added in v0.10.0
func (s *IdeaStorage) GetActiveSubscribers(number int, channel models.NotificationChannel, event models.NotificationEvent) ([]*models.User, error)
GetActiveSubscribers based on input and settings
func (*IdeaStorage) GetAll ¶
func (s *IdeaStorage) GetAll() ([]*models.Idea, error)
GetAll returns all tenant ideas
func (*IdeaStorage) GetByID ¶
func (s *IdeaStorage) GetByID(ideaID int) (*models.Idea, error)
GetByID returns idea by given id
func (*IdeaStorage) GetByNumber ¶
func (s *IdeaStorage) GetByNumber(number int) (*models.Idea, error)
GetByNumber returns idea by tenant and number
func (*IdeaStorage) GetBySlug ¶ added in v0.9.0
func (s *IdeaStorage) GetBySlug(slug string) (*models.Idea, error)
GetBySlug returns idea by tenant and slug
func (*IdeaStorage) GetCommentsByIdea ¶
func (s *IdeaStorage) GetCommentsByIdea(number int) ([]*models.Comment, error)
GetCommentsByIdea returns all coments from given idea
func (*IdeaStorage) MarkAsDuplicate ¶ added in v0.9.0
func (s *IdeaStorage) MarkAsDuplicate(number, originalNumber, userID int) error
MarkAsDuplicate set idea as a duplicate of another idea
func (*IdeaStorage) RemoveSubscriber ¶ added in v0.10.0
func (s *IdeaStorage) RemoveSubscriber(number, userID int) error
RemoveSubscriber removes user from idea list of subscribers
func (*IdeaStorage) RemoveSupporter ¶
func (s *IdeaStorage) RemoveSupporter(number, userID int) error
RemoveSupporter removes user from idea list of supporters
func (*IdeaStorage) SetCurrentTenant ¶ added in v0.8.0
func (s *IdeaStorage) SetCurrentTenant(tenant *models.Tenant)
SetCurrentTenant to current context
func (*IdeaStorage) SetCurrentUser ¶ added in v0.8.0
func (s *IdeaStorage) SetCurrentUser(user *models.User)
SetCurrentUser to current context
func (*IdeaStorage) SetResponse ¶
func (s *IdeaStorage) SetResponse(number int, text string, userID, status int) error
SetResponse changes current idea response
func (*IdeaStorage) SupportedBy ¶
func (s *IdeaStorage) SupportedBy(userID int) ([]int, error)
SupportedBy returns a list of Idea ID supported by given user
type NotificationStorage ¶ added in v0.10.0
type NotificationStorage struct {
// contains filtered or unexported fields
}
NotificationStorage contains read and write operations for notifications
func NewNotificationStorage ¶ added in v0.10.0
func NewNotificationStorage() *NotificationStorage
NewNotificationStorage creates a new NotificationStorage
func (*NotificationStorage) GetActiveNotifications ¶ added in v0.10.0
func (s *NotificationStorage) GetActiveNotifications() ([]*models.Notification, error)
GetActiveNotifications returns all unread notifications and last 30 days of read notifications
func (*NotificationStorage) GetNotification ¶ added in v0.10.0
func (s *NotificationStorage) GetNotification(id int) (*models.Notification, error)
GetNotification returns notification by id
func (*NotificationStorage) Insert ¶ added in v0.10.0
func (s *NotificationStorage) Insert(user *models.User, title, link string, ideaID, authorID int) (*models.Notification, error)
Insert notification for given user
func (*NotificationStorage) MarkAllAsRead ¶ added in v0.10.0
func (s *NotificationStorage) MarkAllAsRead() error
MarkAllAsRead of current user
func (*NotificationStorage) MarkAsRead ¶ added in v0.10.0
func (s *NotificationStorage) MarkAsRead(id int) error
MarkAsRead given id of current user
func (*NotificationStorage) SetCurrentTenant ¶ added in v0.10.0
func (s *NotificationStorage) SetCurrentTenant(tenant *models.Tenant)
SetCurrentTenant to current context
func (*NotificationStorage) SetCurrentUser ¶ added in v0.10.0
func (s *NotificationStorage) SetCurrentUser(user *models.User)
SetCurrentUser to current context
func (*NotificationStorage) TotalUnread ¶ added in v0.10.0
func (s *NotificationStorage) TotalUnread() (int, error)
TotalUnread returns the number of unread notifications for current user
type TagStorage ¶ added in v0.8.0
type TagStorage struct {
// contains filtered or unexported fields
}
TagStorage contains read and write operations for tags
func NewTagStorage ¶ added in v0.8.0
func NewTagStorage() *TagStorage
NewTagStorage creates a new TagStorage
func (*TagStorage) AssignTag ¶ added in v0.8.0
func (s *TagStorage) AssignTag(tagID, ideaID, userID int) error
AssignTag adds a tag to an idea
func (*TagStorage) Delete ¶ added in v0.8.0
func (s *TagStorage) Delete(tagID int) error
Delete a tag by its id
func (*TagStorage) GetAll ¶ added in v0.8.0
func (s *TagStorage) GetAll() ([]*models.Tag, error)
GetAll returns all tags
func (*TagStorage) GetAssigned ¶ added in v0.8.0
func (s *TagStorage) GetAssigned(ideaID int) ([]*models.Tag, error)
GetAssigned returns all tags assigned to given idea
func (*TagStorage) GetBySlug ¶ added in v0.8.0
func (s *TagStorage) GetBySlug(slug string) (*models.Tag, error)
GetBySlug returns tag by given slug
func (*TagStorage) SetCurrentTenant ¶ added in v0.8.0
func (s *TagStorage) SetCurrentTenant(tenant *models.Tenant)
SetCurrentTenant to current context
func (*TagStorage) SetCurrentUser ¶ added in v0.8.0
func (s *TagStorage) SetCurrentUser(user *models.User)
SetCurrentUser to current context
func (*TagStorage) UnassignTag ¶ added in v0.8.0
func (s *TagStorage) UnassignTag(tagID, ideaID int) error
UnassignTag removes a tag from an idea
type TenantStorage ¶
type TenantStorage struct {
// contains filtered or unexported fields
}
TenantStorage contains read and write operations for tenants
func (*TenantStorage) Activate ¶ added in v0.6.0
func (s *TenantStorage) Activate(id int) error
Activate given tenant
func (*TenantStorage) FindVerificationByKey ¶ added in v0.6.0
func (s *TenantStorage) FindVerificationByKey(kind models.EmailVerificationKind, key string) (*models.EmailVerification, error)
FindVerificationByKey based on current tenant
func (*TenantStorage) First ¶
func (s *TenantStorage) First() (*models.Tenant, error)
First returns first tenant
func (*TenantStorage) GetByDomain ¶
func (s *TenantStorage) GetByDomain(domain string) (*models.Tenant, error)
GetByDomain returns a tenant based on its domain
func (*TenantStorage) IsCNAMEAvailable ¶ added in v0.8.0
func (s *TenantStorage) IsCNAMEAvailable(cname string) (bool, error)
IsCNAMEAvailable returns true if cname is available to use
func (*TenantStorage) IsSubdomainAvailable ¶
func (s *TenantStorage) IsSubdomainAvailable(subdomain string) (bool, error)
IsSubdomainAvailable returns true if subdomain is available to use
func (*TenantStorage) SaveVerificationKey ¶ added in v0.6.0
func (s *TenantStorage) SaveVerificationKey(key string, duration time.Duration, request models.NewEmailVerification) error
SaveVerificationKey used by email verification
func (*TenantStorage) SetCurrentTenant ¶ added in v0.6.0
func (s *TenantStorage) SetCurrentTenant(tenant *models.Tenant)
SetCurrentTenant tenant
func (*TenantStorage) SetCurrentUser ¶ added in v0.8.0
func (s *TenantStorage) SetCurrentUser(user *models.User)
SetCurrentUser to current context
func (*TenantStorage) SetKeyAsVerified ¶ added in v0.6.0
func (s *TenantStorage) SetKeyAsVerified(key string) error
SetKeyAsVerified so that it cannot be used anymore
func (*TenantStorage) UpdateSettings ¶ added in v0.4.0
func (s *TenantStorage) UpdateSettings(settings *models.UpdateTenantSettings) error
UpdateSettings of given tenant
type UserStorage ¶
type UserStorage struct {
// contains filtered or unexported fields
}
UserStorage is used for user operations
func (*UserStorage) ChangeEmail ¶ added in v0.9.0
func (s *UserStorage) ChangeEmail(userID int, email string) error
ChangeEmail of given user
func (*UserStorage) ChangeRole ¶ added in v0.7.0
func (s *UserStorage) ChangeRole(userID int, role models.Role) error
ChangeRole of given user
func (*UserStorage) GetAll ¶ added in v0.7.0
func (s *UserStorage) GetAll() ([]*models.User, error)
GetAll return all users of current tenant
func (*UserStorage) GetByEmail ¶
GetByEmail returns a user based on given email
func (*UserStorage) GetByID ¶
func (s *UserStorage) GetByID(userID int) (*models.User, error)
GetByID returns a user based on given id
func (*UserStorage) GetByProvider ¶ added in v0.4.0
func (s *UserStorage) GetByProvider(tenantID int, provider string, uid string) (*models.User, error)
GetByProvider returns a user based on provider details
func (*UserStorage) GetUserSettings ¶ added in v0.10.0
func (s *UserStorage) GetUserSettings() (map[string]string, error)
GetUserSettings returns current user's settings
func (*UserStorage) HasSubscribedTo ¶ added in v0.10.0
func (s *UserStorage) HasSubscribedTo(ideaID int) (bool, error)
HasSubscribedTo returns true if current user is receiving notification from specific idea
func (*UserStorage) Register ¶
func (s *UserStorage) Register(user *models.User) error
Register creates a new user based on given information
func (*UserStorage) RegisterProvider ¶
func (s *UserStorage) RegisterProvider(userID int, provider *models.UserProvider) error
RegisterProvider adds given provider to userID
func (*UserStorage) SetCurrentTenant ¶ added in v0.8.0
func (s *UserStorage) SetCurrentTenant(tenant *models.Tenant)
SetCurrentTenant tenant
func (*UserStorage) SetCurrentUser ¶ added in v0.8.0
func (s *UserStorage) SetCurrentUser(user *models.User)
SetCurrentUser to current context
func (*UserStorage) Update ¶ added in v0.6.0
func (s *UserStorage) Update(userID int, settings *models.UpdateUserSettings) error
Update user settings
func (*UserStorage) UpdateSettings ¶ added in v0.10.0
func (s *UserStorage) UpdateSettings(settings map[string]string) error
UpdateSettings of given user