models

package
v0.0.0-...-5bcfc9d Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrEmailAlreadySubscribed = errors.New("email already subscribed")
View Source
var ErrWaitlistUserExist = errors.New("waitlist user exists")
View Source
var RoleIdentity = DefaultIdentity{
	User:       1,
	SuperAdmin: 2,
}

Functions

This section is empty.

Types

type AccessToken

type AccessToken struct {
	ID                        string    `gorm:"column:id; type:uuid; not null; primaryKey; unique;" json:"id"`
	OwnerID                   string    `gorm:"column:owner_id; type:uuid; not null" json:"owner_id"`
	IsLive                    bool      `gorm:"column:is_live; type:bool; default:false; not null" json:"is_live"`
	LoginAccessToken          string    `gorm:"column:login_access_token; type:text" json:"-"`
	LoginAccessTokenExpiresIn string    `gorm:"column:login_access_token_expires_in; type:varchar(250)" json:"-"`
	CreatedAt                 time.Time `gorm:"column:created_at; autoCreateTime" json:"created_at"`
	UpdatedAt                 time.Time `gorm:"column:updated_at; autoUpdateTime" json:"updated_at"`
}

func (*AccessToken) CreateAccessToken

func (a *AccessToken) CreateAccessToken(db database.DatabaseManager, tokenData interface{}) error

func (*AccessToken) GetAccessTokens

func (a *AccessToken) GetAccessTokens(db database.DatabaseManager) error

func (*AccessToken) GetByID

func (a *AccessToken) GetByID(db database.DatabaseManager) (int, error)

func (*AccessToken) GetByOwnerID

func (a *AccessToken) GetByOwnerID(db database.DatabaseManager) (int, error)

func (*AccessToken) GetLatestByOwnerIDAndIsLive

func (a *AccessToken) GetLatestByOwnerIDAndIsLive(db database.DatabaseManager) (int, error)

func (*AccessToken) RevokeAccessToken

func (a *AccessToken) RevokeAccessToken(db database.DatabaseManager) error

type AddUserToOrgRequestModel

type AddUserToOrgRequestModel struct {
	UserId string `json:"user_id" validate:"required"`
}

type Billing

type Billing struct {
	ID        string         `gorm:"type:uuid;primary_key" json:"id"`
	Name      string         `gorm:"not null" json:"name"`
	Price     float64        `gorm:"column:price; type:decimal(10,2);null" json:"price"`
	CreatedAt time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Billing) CheckBillingExists

func (b *Billing) CheckBillingExists(BillingId string, db database.DatabaseManager) (Billing, error)

func (*Billing) Create

func (b *Billing) Create(db database.DatabaseManager) error

func (*Billing) Delete

func (b *Billing) Delete(db database.DatabaseManager) error

func (*Billing) GetAllBillings

func (*Billing) GetBillingById

func (b *Billing) GetBillingById(db database.DatabaseManager, BillingId string) (Billing, error)

func (*Billing) UpdateBillingById

func (b *Billing) UpdateBillingById(db database.DatabaseManager, req UpdateBillingRequest, BillingId string) (*Billing, error)

type BillingResponse

type BillingResponse struct {
	BillingID string    `json:"id"`
	Name      string    `json:"title"`
	Price     float64   `json:"price"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

type Blog

type Blog struct {
	ID        string         `gorm:"type:uuid;primary_key" json:"id"`
	Title     string         `gorm:"not null" json:"title"`
	Content   string         `gorm:"type:text" json:"content"`
	AuthorID  string         `gorm:"type:uuid;not null" json:"author_id"`
	Author    User           `gorm:"foreignKey:AuthorID" json:"author,omitempty"`
	Category  string         `gorm:"type:text" json:"category,omitempty"`
	Image     string         `gorm:"type:text" json:"image_url,omitempty"`
	CreatedAt time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Blog) CheckBlogExists

func (b *Blog) CheckBlogExists(blogId string, db database.DatabaseManager) (Blog, error)

func (*Blog) Create

func (b *Blog) Create(db database.DatabaseManager) error

func (*Blog) Delete

func (b *Blog) Delete(db database.DatabaseManager) error

func (*Blog) GetAllBlogs

func (*Blog) GetBlogById

func (b *Blog) GetBlogById(db database.DatabaseManager, blogId string) (Blog, error)

func (*Blog) UpdateBlogById

func (b *Blog) UpdateBlogById(db database.DatabaseManager, req UpdateBlogRequest, blogId string) (*Blog, error)

type Category

type Category struct {
	ID        string    `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	Name      string    `gorm:"type:varchar(255);not null" json:"name"`
	Products  []Product `gorm:"many2many:product_categories;foreignKey:ID;joinForeignKey:category_id;References:ID;joinReferences:product_id"`
	CreatedAt time.Time `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt time.Time `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
}

type ChangePasswordRequestModel

type ChangePasswordRequestModel struct {
	OldPassword string `json:"old_password" validate:""`
	NewPassword string `json:"new_password" validate:"required,min=7"`
}

type ContactUs

type ContactUs struct {
	ID        string         `gorm:"type:uuid;primary_key;" json:"id"`
	Name      string         `gorm:"type:varchar(100);not null" json:"name" binding:"required" validate:"required"`
	Email     string         `gorm:"type:varchar(100);not null;index" json:"email" binding:"required" validate:"required,email"`
	Message   string         `gorm:"type:text;not null" json:"message" binding:"required" validate:"required"`
	CreatedAt time.Time      `gorm:"type:timestamp;default:current_timestamp" json:"created_at"`
	UpdatedAt time.Time      `gorm:"type:timestamp;default:current_timestamp" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*ContactUs) BeforeCreate

func (c *ContactUs) BeforeCreate(tx *gorm.DB) (err error)

func (*ContactUs) CreateContactUs

func (c *ContactUs) CreateContactUs(db database.DatabaseManager) error

func (ContactUs) DeleteContactUs

func (c ContactUs) DeleteContactUs(db database.DatabaseManager) error

func (*ContactUs) FetchAllContactUs

func (*ContactUs) GetContactUsByEmail

func (f *ContactUs) GetContactUsByEmail(db database.DatabaseManager, email string) ([]ContactUs, error)

func (*ContactUs) GetContactUsById

func (f *ContactUs) GetContactUsById(db database.DatabaseManager, ID string) (ContactUs, error)

type CreateBillingRequest

type CreateBillingRequest struct {
	Name  string  `json:"title" validate:"required"`
	Price float64 `json:"price" validate:"required"`
}

type CreateBlogRequest

type CreateBlogRequest struct {
	Title    string `json:"title" validate:"required"`
	Content  string `json:"content" validate:"required"`
	Category string `json:"category,omitempty"`
	Image    string `json:"image_url,omitempty"`
}

type CreateHelpCenter

type CreateHelpCenter struct {
	Title   string `json:"title" validate:"required,min=2,max=255"`
	Content string `json:"content" validate:"required,min=2,max=255"`
	Author  string `json:"author" validate:"required,min=2,max=255"`
}

type CreateJobPostModel

type CreateJobPostModel struct {
	Title               string    `json:"title" validate:"required,min=2,max=255"`
	SalaryRange         string    `json:"salary_range" validate:"required"`
	JobType             string    `json:"job_type" validate:"required"`
	Location            string    `json:"location" validate:"required,min=2,max=255"`
	Deadline            time.Time `json:"deadline" validate:"required"`
	JobMode             string    `json:"job_mode" validate:"required"`
	Benefits            string    `json:"benefits" validate:"required,min=2,max=500"`
	CompanyName         string    `json:"company_name" validate:"required,min=2,max=255"`
	Description         string    `json:"description" validate:"required,min=2,max=500"`
	ExperienceLevel     string    `json:"experience_level" validate:"required,min=2,max=500"`
	KeyResponsibilities string    `json:"key_responsibilities" validate:"required,min=2,max=500"`
	Qualifications      string    `json:"qualifications" validate:"required,min=2,max=500"`
}

func (*CreateJobPostModel) Sanitize

func (m *CreateJobPostModel) Sanitize()

type CreateOrgRequestModel

type CreateOrgRequestModel struct {
	Name        string `json:"name" validate:"required,min=2,max=255"`
	Description string `json:"description" `
	Email       string `json:"email" validate:"required"`
	State       string `json:"state" validate:"required"`
	Industry    string `json:"industry" validate:"required"`
	Type        string `json:"type" validate:"required"`
	Address     string `json:"address" validate:"required"`
	Country     string `json:"country" validate:"required"`
}

type CreateProductRequestModel

type CreateProductRequestModel struct {
	Image       string  `json:"image"`
	Name        string  `json:"name" validate:"required"`
	Description string  `json:"description" validate:"required"`
	Price       float64 `json:"price" validate:"required"`
	Category    string  `json:"category" validate:"required"`
}

type CreateUserRequestModel

type CreateUserRequestModel struct {
	Email       string `json:"email" validate:"required"`
	Password    string `json:"password" validate:"required"`
	FirstName   string `json:"first_name" validate:"required"`
	LastName    string `json:"last_name" validate:"required"`
	UserName    string `json:"username"`
	PhoneNumber string `json:"phone_number"`
}

type CreateWaitlistUserRequest

type CreateWaitlistUserRequest struct {
	Name  string `json:"name" validate:"required"`
	Email string `json:"email" validate:"required,email"`
}

type DataPrivacySettings

type DataPrivacySettings struct {
	ID                    string         `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	UserID                string         `gorm:"type:uuid;not null" json:"user_id"`
	ProfileVisibility     bool           `gorm:"default:false" json:"profile_visibility"`
	ShareDataWithPartners bool           `gorm:"default:false" json:"share_data_with_partners"`
	ReceiveEmailUpdates   bool           `gorm:"default:false" json:"receive_email_updates"`
	Enable2FA             bool           `gorm:"default:false" json:"enable_2fa"`
	UseDataEncryption     bool           `gorm:"default:false" json:"use_data_encryption"`
	AllowAnalytics        bool           `gorm:"default:false" json:"allow_analytics"`
	PersonalizedAds       bool           `gorm:"default:false" json:"personalized_ads"`
	CreatedAt             time.Time      `gorm:"autoCreateTime" json:"created_at"`
	UpdatedAt             time.Time      `gorm:"autoUpdateTime" json:"updated_at"`
	DeletedAt             gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*DataPrivacySettings) BeforeCreate

func (d *DataPrivacySettings) BeforeCreate(tx *gorm.DB) (err error)

func (*DataPrivacySettings) CreateDataPrivacySettings

func (d *DataPrivacySettings) CreateDataPrivacySettings(db database.DatabaseManager) error

func (*DataPrivacySettings) GetUserDataPrivacySettingsByID

func (d *DataPrivacySettings) GetUserDataPrivacySettingsByID(db database.DatabaseManager, userID string) (DataPrivacySettings, error)

func (*DataPrivacySettings) UpdateDataPrivacySettings

func (d *DataPrivacySettings) UpdateDataPrivacySettings(db database.DatabaseManager) error

type DefaultIdentity

type DefaultIdentity struct {
	User       RoleId
	SuperAdmin RoleId
}

type DeleteProductRequestModel

type DeleteProductRequestModel struct {
	ProductID string `json:"product_id" validate:"required"`
}

type EmailTemplate

type EmailTemplate struct {
	ID        string         `gorm:"type:uuid;primaryKey;unique; not null" json:"id"`
	Name      string         `gorm:"column:name; type:varchar(255); not null" json:"name"`
	Body      string         `gorm:"column:body; type:text; not null" json:"body"`
	CreatedAt time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*EmailTemplate) Create

func (*EmailTemplate) DeleteTemplate

func (t *EmailTemplate) DeleteTemplate(db database.DatabaseManager, ID string) error

func (*EmailTemplate) GetAllTemplates

func (t *EmailTemplate) GetAllTemplates(db database.DatabaseManager) ([]EmailTemplate, error)

func (*EmailTemplate) GetTemplateByID

func (t *EmailTemplate) GetTemplateByID(db database.DatabaseManager, ID string) (EmailTemplate, error)

func (*EmailTemplate) UpdateTemplate

func (t *EmailTemplate) UpdateTemplate(db database.DatabaseManager, ID string) (EmailTemplate, error)

type FAQ

type FAQ struct {
	ID        string         `gorm:"primaryKey;type:uuid" json:"id"`
	Question  string         `gorm:"type:varchar(225);not null" json:"question" validate:"required"`
	Answer    string         `gorm:"type:text;not null" json:"answer" validate:"required"`
	Category  string         `gorm:"type:varchar(30);null" json:"category" validate:"required"`
	CreatedAt time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*FAQ) BeforeCreate

func (f *FAQ) BeforeCreate(db *gorm.DB) (err error)

func (*FAQ) CreateFaq

func (f *FAQ) CreateFaq(db database.DatabaseManager) error

func (*FAQ) DeleteFaq

func (f *FAQ) DeleteFaq(db database.DatabaseManager) error

func (*FAQ) FetchAllFaq

func (*FAQ) GetFaqById

func (f *FAQ) GetFaqById(db database.DatabaseManager, ID string) (FAQ, error)

func (*FAQ) UpdateFaq

func (f *FAQ) UpdateFaq(db database.DatabaseManager) error

type FacebookClaims

type FacebookClaims struct {
}

type FacebookRequestModel

type FacebookRequestModel struct {
	Token string `json:"id_token" validate:"required"`
}

type FilterProduct

type FilterProduct struct {
	Price    float64 `json:"price"`
	Category string  `json:"category"`
}

type ForgotPasswordRequestModel

type ForgotPasswordRequestModel struct {
	Email string `json:"email" validate:"required,email"`
}

type GoogleClaims

type GoogleClaims struct {
	Iss           string `json:"iss"`
	Azp           string `json:"azp"`
	Aud           string `json:"aud"`
	Sub           string `json:"sub"`
	Email         string `json:"email"`
	EmailVerified bool   `json:"email_verified"`
	AtHash        string `json:"at_hash"`
	Name          string `json:"name"`
	Picture       string `json:"picture"`
	GivenName     string `json:"given_name"`
	jwt.RegisteredClaims
}

type GoogleRequestModel

type GoogleRequestModel struct {
	Token string `json:"id_token" validate:"required"`
}

type HelpCenter

type HelpCenter struct {
	ID        string    `gorm:"type:uuid; primaryKey" json:"id"`
	Title     string    `gorm:"column:title; type:varchar(255); not null" json:"title"`
	Content   string    `gorm:"column:content; type:varchar(255); not null" json:"content"`
	Author    string    `gorm:"column:author; type:varchar(255); not null" json:"author"`
	CreatedAt time.Time `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt time.Time `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
}

func (*HelpCenter) CreateHelpCenterTopic

func (j *HelpCenter) CreateHelpCenterTopic(db database.DatabaseManager) error

func (*HelpCenter) DeleteTopicByID

func (j *HelpCenter) DeleteTopicByID(db database.DatabaseManager, ID string) error

func (*HelpCenter) FetchAllTopics

func (*HelpCenter) FetchTopicByID

func (j *HelpCenter) FetchTopicByID(db database.DatabaseManager) error

func (*HelpCenter) SearchHelpCenterTopics

func (h *HelpCenter) SearchHelpCenterTopics(db database.DatabaseManager, c *gin.Context, query string) ([]HelpCenter, database.PaginationResponse, error)

func (*HelpCenter) UpdateTopicByID

func (j *HelpCenter) UpdateTopicByID(db database.DatabaseManager, ID string) (HelpCenter, error)

type HelpCntSummary

type HelpCntSummary struct {
	ID      string `json:"id"`
	Title   string `json:"title"`
	Content string `json:"content"`
	Author  string `json:"author"`
}

type Invitation

type Invitation struct {
	ID             string       `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	UserID         string       `gorm:"type:uuid;" json:"user_id"`
	OrganisationID string       `gorm:"type:uuid;" json:"organisation_id"`
	Organisation   Organisation `gorm:"foreignKey:OrganisationID"`
	Token          string       `gorm:"type:varchar(255);" json:"token"`
	CreatedAt      time.Time    `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	ExpiresAt      time.Time    `gorm:"column:expires_at; not null" json:"expires_at"`
	IsValid        bool         `gorm:"type:boolean;default:true" json:"is_valid"`
	Email          string       `gorm:"type:varchar(100);" json:"email"`
}

func (*Invitation) CreateInvitation

func (i *Invitation) CreateInvitation(db database.DatabaseManager) error

func (*Invitation) GetInvitationsByID

func (i *Invitation) GetInvitationsByID(db database.DatabaseManager, user_id string) ([]Invitation, error)

type InvitationAcceptReq

type InvitationAcceptReq struct {
	InvitationLink string `json:"invitation_link" validate:"required"`
}

type InvitationCreateReq

type InvitationCreateReq struct {
	OrganisationID string `json:"organisation_id" validate:"required,uuid"`
	Email          string `json:"email" validate:"required,email"`
}

type InvitationRequest

type InvitationRequest struct {
	Emails []string `json:"emails" validate:"required"`
	OrgID  string   `json:"org_id" validate:"required,uuid"`
}

type InvitationResponse

type InvitationResponse struct {
	Email       string    `json:"email"`
	OrgID       string    `json:"org_id"`
	Status      string    `json:"status"`
	InviteToken string    `json:"invite_token"`
	Sent_At     time.Time `json:"sent_at"`
	Expires_At  time.Time `json:"expires_at"`
}

type JobPost

type JobPost struct {
	ID                  string    `gorm:"type:uuid; primaryKey" json:"id"`
	Title               string    `gorm:"column:title; type:varchar(255); not null" json:"title"`
	SalaryRange         string    `gorm:"column:salary_range; type:varchar(255); null" json:"salary_range"`
	JobType             string    `gorm:"column:job_type; type:varchar(50); not null" json:"job_type"`
	Location            string    `gorm:"column:location; type:varchar(255); not null" json:"location"`
	Deadline            time.Time `gorm:"column:deadline; not null" json:"deadline"`
	JobMode             string    `gorm:"column:job_mode; type:varchar(50); null" json:"job_mode"`
	WorkMode            string    `gorm:"column:work_mode; type:varchar(50); null" json:"work_mode"`
	CompanyName         string    `gorm:"column:company_name; type:varchar(255); not null" json:"company_name"`
	Description         string    `gorm:"column:description; type:varchar(500); not null" json:"description"`
	Benefits            string    `gorm:"column:benefits; type:varchar(500)" json:"benefits"`
	ExperienceLevel     string    `gorm:"column:experience; type:varchar(50); null" json:"experience_level"`
	KeyResponsibilities string    `gorm:"column:key_responsibilities; type:varchar(500)" json:"key_responsibilities"`
	Qualifications      string    `gorm:"column:qualifications; type:varchar(500)" json:"qualifications"`
	CreatedAt           time.Time `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt           time.Time `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
}

func (*JobPost) CreateJobPost

func (j *JobPost) CreateJobPost(db database.DatabaseManager) error

func (*JobPost) DeleteJobPostByID

func (j *JobPost) DeleteJobPostByID(db database.DatabaseManager, ID string) error

func (*JobPost) FetchAllJobPost

func (*JobPost) FetchJobPostByID

func (j *JobPost) FetchJobPostByID(db database.DatabaseManager) error

func (*JobPost) UpdateJobPostByID

func (j *JobPost) UpdateJobPostByID(db database.DatabaseManager, ID string) (JobPost, error)

type JobPostSummary

type JobPostSummary struct {
	ID          string `json:"id"`
	Title       string `json:"title"`
	Location    string `json:"location"`
	Description string `json:"description"`
	SalaryRange string `json:"salary_range"`
}

type Key

type Key struct {
	ID     string `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	UserID string `gorm:"type:uuid;not null" json:"user_id"`
	Key    string `gorm:"type:varchar(255);not null" json:"key"`
	User   *User  `gorm:"constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"-"`
}

type Language

type Language struct {
	ID        string         `gorm:"type:uuid;primary_key" json:"language_id"`
	Name      string         `gorm:"type:varchar(40);unique;not null" json:"name" validate:"required"`
	Code      string         `gorm:"type:varchar(20);unique;not null" json:"code" validate:"required"`
	CreatedAt time.Time      `gorm:"column:created_at;not null;autoCreateTime" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at;not null;autoUpdateTime" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Language) BeforeCreate

func (l *Language) BeforeCreate(tx *gorm.DB) (err error)

func (*Language) CreateLanguage

func (l *Language) CreateLanguage(db database.DatabaseManager) error

func (*Language) GetLanguages

func (r *Language) GetLanguages(db database.DatabaseManager) ([]Language, error)

type LoginRequestModel

type LoginRequestModel struct {
	Email    string `json:"email" validate:"required"`
	Password string `json:"password" validate:"required"`
}
type MagicLink struct {
	ID        string         `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	Email     string         `gorm:"index"`
	Token     string         `gorm:"uniqueIndex"`
	ExpiresAt time.Time      `gorm:"column:expires_at" json:"expires_at"`
	CreatedAt time.Time      `gorm:"column:created_at; autoCreateTime" json:"created_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}
func (m *MagicLink) CreateMagicLink(db database.DatabaseManager) error
func (m *MagicLink) DeleteMagicLink(db database.DatabaseManager) error

func (*MagicLink) GetMagicLinkByEmail

func (m *MagicLink) GetMagicLinkByEmail(db *gorm.DB, email string) (*MagicLink, error)

func (*MagicLink) GetMagicLinkByToken

func (m *MagicLink) GetMagicLinkByToken(db database.DatabaseManager, token string) (MagicLink, error)

type MagicLinkRequest

type MagicLinkRequest struct {
	Email string `json:"email" validate:"required,email"`
}

type NewsLetter

type NewsLetter struct {
	ID        string         `gorm:"primaryKey;type:uuid" json:"id"`
	Email     string         `gorm:"unique;not null" json:"email" validate:"required,email"`
	CreatedAt time.Time      `json:"created_at"`
	UpdatedAt time.Time      `json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*NewsLetter) BeforeCreate

func (n *NewsLetter) BeforeCreate(tx *gorm.DB) (err error)

func (*NewsLetter) CreateNewsLetter

func (n *NewsLetter) CreateNewsLetter(db database.DatabaseManager) error

func (*NewsLetter) DeleteNewsLetter

func (n *NewsLetter) DeleteNewsLetter(db database.DatabaseManager) error

func (*NewsLetter) FetchAllDeletedNewsLetter

func (n *NewsLetter) FetchAllDeletedNewsLetter(db database.DatabaseManager, c *gin.Context) ([]NewsLetter, database.PaginationResponse, error)

func (*NewsLetter) FetchAllNewsLetter

func (*NewsLetter) GetDeletedNewsLetterById

func (n *NewsLetter) GetDeletedNewsLetterById(db database.DatabaseManager, ID string) (NewsLetter, error)

func (*NewsLetter) GetNewsLetterById

func (n *NewsLetter) GetNewsLetterById(db database.DatabaseManager, ID string) (NewsLetter, error)

func (*NewsLetter) UpdateNewsLetter

func (n *NewsLetter) UpdateNewsLetter(db database.DatabaseManager) error

type Notification

type Notification struct {
	ID        string    `json:"id" gorm:"type:uuid;primaryKey;unique;not null"`
	UserID    string    `json:"user_id" gorm:"type:uuid;not null"`
	Message   string    `json:"message" gorm:"type:text;not null"`
	IsRead    bool      `json:"is_read" gorm:"default:false"`
	CreatedAt time.Time `json:"created_at" gorm:"autoCreateTime"`
}

func (*Notification) CreateNotification

func (n *Notification) CreateNotification(db database.DatabaseManager) (Notification, error)

func (*Notification) DeleteNotificationByUserID

func (n *Notification) DeleteNotificationByUserID(db database.DatabaseManager, ID string) error

func (*Notification) FetchAllNotifications

func (n *Notification) FetchAllNotifications(db database.DatabaseManager, c *gin.Context) ([]Notification, map[string]int64, error)

func (*Notification) FetchUnReadNotifications

func (n *Notification) FetchUnReadNotifications(db database.DatabaseManager, c *gin.Context) ([]Notification, map[string]int64, error)

func (*Notification) GetNotificationByID

func (n *Notification) GetNotificationByID(db database.DatabaseManager, ID string) (Notification, error)

func (*Notification) UpdateNotification

func (n *Notification) UpdateNotification(db database.DatabaseManager, notifReq UpdateNotificationReq, ID string) (*Notification, error)

type NotificationRecord

type NotificationRecord struct {
	Name string `json:"name"`
	Data string `json:"data"`
	Sent bool   `json:"sent"`
}

func (*NotificationRecord) PopFromQueue

func (*NotificationRecord) PushToQueue

func (n *NotificationRecord) PushToQueue(rdb database.CacheManager) error

type NotificationReq

type NotificationReq struct {
	Message string `json:"message"`
}

type NotificationSettings

type NotificationSettings struct {
	ID                                             string `json:"id" gorm:"type:uuid;primaryKey;unique;not null"`
	UserID                                         string `json:"user_id" gorm:"type:uuid;not null"`
	MobilePushNotifications                        bool   `json:"mobile_push_notifications" gorm:"default:false"`
	EmailNotificationActivityInWorkspace           bool   `json:"email_notification_activity_in_workspace" gorm:"default:false"`
	EmailNotificationAlwaysSendEmailNotifications  bool   `json:"email_notification_always_send_email_notifications" gorm:"default:false"`
	EmailNotificationEmailDigest                   bool   `json:"email_notification_email_digest" gorm:"default:false"`
	EmailNotificationAnnouncementAndUpdateEmails   bool   `json:"email_notification_announcement_and_update_emails" gorm:"default:false"`
	SlackNotificationsActivityOnYourWorkspace      bool   `json:"slack_notifications_activity_on_your_workspace" gorm:"default:false"`
	SlackNotificationsAlwaysSendEmailNotifications bool   `json:"slack_notifications_always_send_email_notifications" gorm:"default:false"`
	SlackNotificationsAnnouncementAndUpdateEmails  bool   `json:"slack_notifications_announcement_and_update_emails" gorm:"default:false"`
}

func (*NotificationSettings) CreateNotificationSettings

func (n *NotificationSettings) CreateNotificationSettings(db database.DatabaseManager) (NotificationSettings, error)

func (*NotificationSettings) GetNotificationSettingsByID

func (n *NotificationSettings) GetNotificationSettingsByID(db database.DatabaseManager, ID string) (NotificationSettings, error)

func (*NotificationSettings) UpdateNotificationSettings

func (n *NotificationSettings) UpdateNotificationSettings(db database.DatabaseManager, ID string) (NotificationSettings, error)

type OrgRole

type OrgRole struct {
	ID             string         `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	Name           string         `gorm:"unique;not null;type:varchar(20)" json:"name" validate:"required"`
	Description    string         `gorm:"not null" json:"description" validate:"required"`
	OrganisationID string         `gorm:"not null" json:"-"`
	Permissions    Permission     `gorm:"foreignKey:RoleID;constraint:OnDelete:CASCADE;" json:"permissions"`
	CreatedAt      time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"-"`
	UpdatedAt      time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"-"`
	DeletedAt      gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*OrgRole) CreateOrgRole

func (r *OrgRole) CreateOrgRole(db database.DatabaseManager) error

func (*OrgRole) DeleteOrgRole

func (r *OrgRole) DeleteOrgRole(db database.DatabaseManager) error

func (*OrgRole) GetAOrgRole

func (r *OrgRole) GetAOrgRole(db database.DatabaseManager, orgID, roleID string) (OrgRole, error)

func (*OrgRole) GetOrgRoles

func (r *OrgRole) GetOrgRoles(db database.DatabaseManager, orgID string) ([]OrgRole, error)

func (*OrgRole) UpdateOrgRole

func (r *OrgRole) UpdateOrgRole(db database.DatabaseManager) error

type Organisation

type Organisation struct {
	ID          string         `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	Name        string         `gorm:"type:varchar(255);not null" json:"name"`
	Description string         `gorm:"type:text" json:"description"`
	Email       string         `gorm:"type:varchar(255);unique" json:"email"`
	State       string         `gorm:"type:varchar(255)" json:"state"`
	Industry    string         `gorm:"type:varchar(255)" json:"industry"`
	Type        string         `gorm:"type:varchar(255)" json:"type"`
	Address     string         `gorm:"type:varchar(255)" json:"address"`
	Country     string         `gorm:"type:varchar(255)" json:"country"`
	OwnerID     string         `gorm:"type:uuid;" json:"owner_id"`
	OrgRoles    []OrgRole      `gorm:"foreignKey:OrganisationID" json:"org_roles"`
	Users       []User         `gorm:"many2many:user_organisations;foreignKey:ID;joinForeignKey:org_id;References:ID;joinReferences:user_id"`
	CreatedAt   time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt   time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	DeletedAt   gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Organisation) CheckOrgExists

func (o *Organisation) CheckOrgExists(orgId string, db database.DatabaseManager) (Organisation, error)

func (*Organisation) CheckUserIsMemberOfOrg

func (o *Organisation) CheckUserIsMemberOfOrg(userId string, orgId string, db database.DatabaseManager) (bool, error)

func (*Organisation) CreateOrganisation

func (c *Organisation) CreateOrganisation(db database.DatabaseManager) error

func (*Organisation) Delete

func (*Organisation) GetOrgByID

func (o *Organisation) GetOrgByID(db database.DatabaseManager, orgID string) (Organisation, error)

func (*Organisation) GetOrganisationsByUserID

func (u *Organisation) GetOrganisationsByUserID(db *gorm.DB, userID string) ([]Organisation, error)

func (*Organisation) GetOrganisationsByUserIDs

func (u *Organisation) GetOrganisationsByUserIDs(db database.DatabaseManager, userID, requesterID string) ([]Organisation, error)

func (*Organisation) GetUsersInOrganisation

func (*Organisation) IsOwnerOfOrganisation

func (o *Organisation) IsOwnerOfOrganisation(db database.DatabaseManager, requesterID, organisationID string) (bool, error)

func (*Organisation) Update

type PasswordReset

type PasswordReset struct {
	ID        string         `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	Email     string         `gorm:"index"`
	Token     string         `gorm:"uniqueIndex"`
	ExpiresAt time.Time      `gorm:"column:expires_at" json:"expires_at"`
	CreatedAt time.Time      `gorm:"column:created_at; autoCreateTime" json:"created_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*PasswordReset) CreatePasswordReset

func (p *PasswordReset) CreatePasswordReset(db database.DatabaseManager) error

func (*PasswordReset) DeletePasswordReset

func (pr *PasswordReset) DeletePasswordReset(db database.DatabaseManager) error

func (*PasswordReset) GetPasswordResetByEmail

func (pr *PasswordReset) GetPasswordResetByEmail(db database.DatabaseManager, email string) (*PasswordReset, error)

func (*PasswordReset) GetPasswordResetByToken

func (pr *PasswordReset) GetPasswordResetByToken(db database.DatabaseManager, token string) (PasswordReset, error)

type Permission

type Permission struct {
	ID             string         `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	RoleID         string         `gorm:"unique;not null" json:"-"`
	Category       string         `gorm:"not null" json:"category"`
	PermissionList PermissionList `gorm:"type:jsonb" json:"permission_list"`
	CreatedAt      time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"-"`
	UpdatedAt      time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"-"`
	DeletedAt      gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Permission) UpdateOrgPermissions

func (rp *Permission) UpdateOrgPermissions(db database.DatabaseManager) error

type PermissionList

type PermissionList map[string]bool

func (*PermissionList) Scan

func (p *PermissionList) Scan(value interface{}) error

func (PermissionList) Value

func (p PermissionList) Value() (driver.Value, error)

type Ping

type Ping struct {
	Message string `json:"message"`
}

type Product

type Product struct {
	ID          string     `gorm:"type:uuid;primaryKey" json:"product_id"`
	Name        string     `gorm:"column:name; type:varchar(255); not null" json:"name"`
	Price       float64    `gorm:"column:price; type:decimal(10,2);null" json:"price"`
	Description string     `gorm:"column:description; type:text" json:"description"`
	OwnerID     string     `gorm:"type:uuid;" json:"owner_id"`
	Image       string     `gorm:"column:image; type:text" json:"image"`
	Category    []Category `gorm:"many2many:product_categories;;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"category"`
	CreatedAt   time.Time  `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt   time.Time  `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
}

func (*Product) AddProductToCategory

func (p *Product) AddProductToCategory(db database.DatabaseManager, categories []interface{}) error

func (*Product) CreateProduct

func (u *Product) CreateProduct(db database.DatabaseManager) error

func (*Product) DeleteProduct

func (p *Product) DeleteProduct(db database.DatabaseManager) error

func (*Product) GetProduct

func (p *Product) GetProduct(db *gorm.DB, id string) (Product, error)

type Profile

type Profile struct {
	ID             string         `gorm:"type:uuid;primary_key" json:"profile_id"`
	FirstName      string         `gorm:"column:first_name; type:text; not null" json:"first_name"`
	LastName       string         `gorm:"column:last_name; type:text;not null" json:"last_name"`
	Phone          string         `gorm:"type:varchar(255)" json:"phone"`
	AvatarURL      string         `gorm:"type:varchar(255)" json:"avatar_url"`
	Userid         string         `gorm:"type:uuid;" json:"user_id"`
	SecondaryEmail string         `gorm:"type:string;" json:"secondary_email"`
	CreatedAt      time.Time      `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt      time.Time      `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	DeletedAt      gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Profile) UpdateProfile

func (p *Profile) UpdateProfile(db database.DatabaseManager, req UpdateProfileRequest, profId string) error

type Region

type Region struct {
	ID        string         `gorm:"type:uuid;primary_key" json:"region_id"`
	Name      string         `gorm:"type:varchar(40);unique;not null" json:"name" validate:"required"`
	Code      string         `gorm:"type:varchar(20);unique;not null" json:"code" validate:"required"`
	CreatedAt time.Time      `gorm:"column:created_at;not null;autoCreateTime" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at;not null;autoUpdateTime" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Region) BeforeCreate

func (r *Region) BeforeCreate(tx *gorm.DB) (err error)

func (*Region) CreateRegion

func (r *Region) CreateRegion(db database.DatabaseManager) error

func (*Region) GetRegions

func (r *Region) GetRegions(db database.DatabaseManager) ([]Region, error)

type ResetPasswordRequestModel

type ResetPasswordRequestModel struct {
	Token       string `json:"token" validate:"required"`
	NewPassword string `json:"new_password" validate:"required,min=7"`
}

type Role

type Role struct {
	ID          int            `gorm:"primaryKey;type:int" json:"id"`
	Name        string         `gorm:"unique;not null;type:varchar(20)" json:"name" validate:"required"`
	Description string         `gorm:"unique;not null" json:"description" validate:"required"`
	CreatedAt   time.Time      `json:"created_at"`
	UpdatedAt   time.Time      `json:"updated_at"`
	DeletedAt   gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Role) UpdateUserRole

func (r *Role) UpdateUserRole(db database.DatabaseManager, userId string, roleId int) (*User, error)

type RoleId

type RoleId int

type RoleName

type RoleName string
var (
	UserRoleName  RoleName = "user"
	AdminRoleName RoleName = "admin"
)

func GetRoleName

func GetRoleName(roleId RoleId) RoleName

type SendContactUsMail

type SendContactUsMail struct {
	Name    string `json:"name"  validate:"required"`
	Email   string `json:"email" `
	Message string `json:"message" validate:"required"`
}

type SendEmailVerificationMail

type SendEmailVerificationMail struct {
	Email string `json:"email"`
	Code  uint   `json:"code" validate:"required"`
	Token string `json:"token"`
}
type SendMagicLink struct {
	Email     string `json:"email"  validate:"required"`
	MagicLink string `json:"magic_link"  validate:"required"`
}

type SendOTP

type SendOTP struct {
	Email    string `json:"email"  validate:"required"`
	OtpToken int    `json:"otp_token"  validate:"required"`
}

type SendResetPassword

type SendResetPassword struct {
	Email string `json:"email"`
	Token int    `json:"token"  validate:"required"`
}

type SendSqueeze

type SendSqueeze struct {
	Email     string `json:"email"  validate:"required"`
	FirstName string `json:"first_name" validate:"required"`
	LastName  string `json:"last_name" validate:"required"`
}

type SendWelcomeMail

type SendWelcomeMail struct {
	Email string `json:"email"  validate:"required"`
}

type SqueezeUser

type SqueezeUser struct {
	ID             string         `gorm:"type:uuid;primary_key" json:"id"`
	Email          string         `gorm:"type:varchar(255);uniqueIndex;not null" json:"email"`
	FirstName      string         `gorm:"type:varchar(100);not null" json:"first_name"`
	LastName       string         `gorm:"type:varchar(100);not null" json:"last_name"`
	Phone          string         `gorm:"type:varchar(20);not null" json:"phone"`
	Location       string         `gorm:"type:varchar(255);not null" json:"location"`
	JobTitle       string         `gorm:"type:varchar(100);not null" json:"job_title"`
	Company        string         `gorm:"type:varchar(255);not null" json:"company"`
	Interests      pq.StringArray `gorm:"type:text[]" json:"interests"`
	ReferralSource string         `gorm:"type:varchar(100);not null" json:"referral_source"`
	CreatedAt      time.Time      `gorm:"not null;autoCreateTime" json:"created_at"`
	UpdatedAt      time.Time      `gorm:"not null;autoUpdateTime" json:"updated_at"`
}

func (*SqueezeUser) Create

func (s *SqueezeUser) Create(db database.DatabaseManager) error

type SqueezeUserReq

type SqueezeUserReq struct {
	Email          string   `json:"email" validate:"required,email"`
	FirstName      string   `json:"first_name" validate:"required"`
	LastName       string   `json:"last_name" validate:"required"`
	Phone          string   `json:"phone" validate:"required"`
	Location       string   `json:"location" validate:"required"`
	JobTitle       string   `json:"job_title" validate:"required"`
	Company        string   `json:"company" validate:"required"`
	Interests      []string `json:"interests" validate:"required"`
	ReferralSource string   `json:"referral_source" validate:"required"`
}

type TemplateRequest

type TemplateRequest struct {
	Name string `json:"name" validate:"required"`
	Body string `json:"body" validate:"required"`
}

type Testimonial

type Testimonial struct {
	ID        string    `gorm:"type:uuid;primary_key" json:"id"`
	UserID    string    `gorm:"type:uuid;not null" json:"user_id"`
	Name      string    `gorm:"type:varchar(255);not null" json:"name"`
	Content   string    `gorm:"type:text;not null" json:"content"`
	CreatedAt time.Time `gorm:"not null;autoCreateTime" json:"created_at"`
	UpdatedAt time.Time `gorm:"not null;autoUpdateTime" json:"updated_at"`
}

func (*Testimonial) Create

func (t *Testimonial) Create(db database.DatabaseManager) error

type TestimonialReq

type TestimonialReq struct {
	Name    string `json:"name" validate:"required"`
	Content string `json:"content" validate:"required"`
}

type Timezone

type Timezone struct {
	ID          string         `gorm:"type:uuid;primary_key" json:"timezone_id"`
	Timezone    string         `gorm:"type:varchar(40);unique;null" json:"timezone" validate:"required"`
	GmtOffset   string         `gorm:"type:varchar(20);unique;null" json:"gmt_offset" validate:"required"`
	Description string         `gorm:"type:varchar(100);null" json:"description" validate:"required"`
	CreatedAt   time.Time      `gorm:"column:created_at;not null;autoCreateTime" json:"created_at"`
	UpdatedAt   time.Time      `gorm:"column:updated_at;not null;autoUpdateTime" json:"updated_at"`
	DeletedAt   gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*Timezone) BeforeCreate

func (t *Timezone) BeforeCreate(tx *gorm.DB) (err error)

func (*Timezone) CreateTimeZone

func (t *Timezone) CreateTimeZone(db database.DatabaseManager) error

func (*Timezone) GetTimeZones

func (r *Timezone) GetTimeZones(db database.DatabaseManager) ([]Timezone, error)

func (*Timezone) GetTimezoneByID

func (t *Timezone) GetTimezoneByID(db database.DatabaseManager, ID string) (Timezone, error)

func (*Timezone) UpdateTimeZone

func (t *Timezone) UpdateTimeZone(db database.DatabaseManager) error

type UpdateBillingRequest

type UpdateBillingRequest struct {
	Name  string  `json:"title"`
	Price float64 `json:"price"`
}

type UpdateBlogRequest

type UpdateBlogRequest struct {
	Title    string `json:"title"`
	Content  string `json:"content"`
	Category string `json:"category"`
	Image    string `json:"image_url"`
}

type UpdateFAQ

type UpdateFAQ struct {
	Question string `json:"question" validate:"required"`
	Answer   string `json:"answer" validate:"required"`
	Category string `json:"category" validate:"required"`
}

type UpdateNotificationReq

type UpdateNotificationReq struct {
	IsRead bool `json:"is_read"`
}

type UpdateOrgRequestModel

type UpdateOrgRequestModel struct {
	Name        string `json:"name"`
	Description string `json:"description" `
	Email       string `json:"email"`
	State       string `json:"state"`
	Industry    string `json:"industry"`
	Type        string `json:"type"`
	Address     string `json:"address"`
	Country     string `json:"country"`
}

type UpdateProductRequestModel

type UpdateProductRequestModel struct {
	Image       string  `json:"image"`
	ProductID   string  `json:"product_id" validate:"required"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price" validate:"required"`
}

type UpdateProfileRequest

type UpdateProfileRequest struct {
	SecondaryEmail string `json:"secondary_email"`
	FirstName      string `json:"first_name"`
	LastName       string `json:"last_name"`
	Phone          string `json:"phone"`
}

type UpdateUserRequestModel

type UpdateUserRequestModel struct {
	FirstName   string `json:"first_name" validate:"required"`
	LastName    string `json:"last_name" validate:"required"`
	UserName    string `json:"username" validate:"required"`
	PhoneNumber string `json:"phone_number"`
}

type User

type User struct {
	ID            string                     `gorm:"type:uuid;primaryKey;unique;not null" json:"id"`
	Name          string                     `gorm:"column:name; type:varchar(255)" json:"name"`
	Email         string                     `gorm:"column:email; type:varchar(255)" json:"email"`
	Password      string                     `gorm:"column:password; type:text; not null" json:"-"`
	Profile       Profile                    `gorm:"foreignKey:Userid;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"profile"`
	Key           Key                        `gorm:"foreignKey:UserID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"key"`
	Region        UserRegionTimezoneLanguage `gorm:"foreignKey:UserID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"region"`
	DataPrivacy   DataPrivacySettings        `gorm:"foreignKey:UserID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"data_privacy"`
	Organisations []Organisation             `gorm:"many2many:user_organisations;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"organisations" ` // many to many relationship
	Products      []Product                  `gorm:"foreignKey:OwnerID" json:"products"`
	Blogs         []Blog                     `gorm:"foreignKey:AuthorID" json:"blogs"`
	CreatedAt     time.Time                  `gorm:"column:created_at; not null; autoCreateTime" json:"created_at"`
	UpdatedAt     time.Time                  `gorm:"column:updated_at; null; autoUpdateTime" json:"updated_at"`
	Role          int                        `gorm:"foreignKey:RoleID;references:ID;constraint:OnUpdate:CASCADE,OnDelete:SET NULL;" json:"role"`
	DeletedAt     gorm.DeletedAt             `gorm:"index" json:"-"`
}

func (*User) AddUserToOrganisation

func (u *User) AddUserToOrganisation(db database.DatabaseManager, user interface{}, orgs []interface{}) error

func (*User) CheckUserIsAdmin

func (u *User) CheckUserIsAdmin(db database.DatabaseManager) bool

func (*User) CreateUser

func (u *User) CreateUser(db database.DatabaseManager) error

func (*User) DeleteAUser

func (u *User) DeleteAUser(db database.DatabaseManager) error

func (*User) GetProfileID

func (u *User) GetProfileID(db database.DatabaseManager, userID string) (string, error)

func (*User) GetSeedUsers

func (u *User) GetSeedUsers(db database.DatabaseManager) ([]User, error)

func (*User) GetUserByEmail

func (u *User) GetUserByEmail(db database.DatabaseManager, userEmail string) (User, error)

func (*User) GetUserByID

func (u *User) GetUserByID(db database.DatabaseManager, userID string) (User, error)

func (*User) GetUserByIDsAdmin

func (u *User) GetUserByIDsAdmin(db database.DatabaseManager, userID, requesterID string) (User, error)

func (*User) GetUserWithProfile

func (u *User) GetUserWithProfile(db database.DatabaseManager, userID string) (User, error)

func (*User) Update

func (u *User) Update(db database.DatabaseManager) error

type UserInOrgResponse

type UserInOrgResponse struct {
	ID          string `json:"id"`
	Email       string `json:"email"`
	PhoneNumber string `json:"phone_number"`
	Name        string `json:"name"`
}

type UserRegionTimezoneLanguage

type UserRegionTimezoneLanguage struct {
	ID         string         `gorm:"type:uuid;primary_key" json:"id"`
	UserID     string         `gorm:"type:uuid;not null" json:"user_id"`
	RegionID   string         `gorm:"type:uuid;not null" json:"region_id" validate:"required"`
	TimezoneID string         `gorm:"type:uuid;not null" json:"timezone_id" validate:"required"`
	LanguageID string         `gorm:"type:uuid;not null" json:"language_id" validate:"required"`
	CreatedAt  time.Time      `gorm:"column:created_at;not null;autoCreateTime" json:"created_at"`
	UpdatedAt  time.Time      `gorm:"column:updated_at;not null;autoUpdateTime" json:"updated_at"`
	DeletedAt  gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*UserRegionTimezoneLanguage) CreateUserRegion

func (u *UserRegionTimezoneLanguage) CreateUserRegion(db database.DatabaseManager) error

func (*UserRegionTimezoneLanguage) GetUserRegionByID

func (*UserRegionTimezoneLanguage) UpdateUserRegion

func (u *UserRegionTimezoneLanguage) UpdateUserRegion(db database.DatabaseManager) error

type VerifyKeyRequestModel

type VerifyKeyRequestModel struct {
	Key string `json:"key" validate:"required"`
}

type VerifyMagicLinkRequest

type VerifyMagicLinkRequest struct {
	Token string `json:"token" validate:"required"`
}

type WaitlistUser

type WaitlistUser struct {
	ID        string         `json:"id"`
	Name      string         `json:"name"`
	Email     string         `gorm:"uniqueIndex" json:"email"`
	CreatedAt time.Time      `json:"created_at"`
	UpdatedAt time.Time      `json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
}

func (*WaitlistUser) CheckExistsByEmail

func (w *WaitlistUser) CheckExistsByEmail(db database.DatabaseManager) (int, error)

added this function to check if waitlist user exists already

func (*WaitlistUser) CreateWaitlistUser

func (w *WaitlistUser) CreateWaitlistUser(db database.DatabaseManager) error

func (*WaitlistUser) FetchAllWaitList

func (*WaitlistUser) GetWaitlistUserByEmail

func (w *WaitlistUser) GetWaitlistUserByEmail(db database.DatabaseManager) (int, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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