datastore

package
v0.0.0-...-53e80a7 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2024 License: AGPL-3.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StaffStatusActive   = 1
	StaffStatusArchived = 2

	StaffDeactivationReasonNotSpecified  = 0
	StaffDeactivationReasonOther         = 1
	StaffDeactivationReasonBlacklisted   = 2
	StaffDeactivationReasonMoved         = 3
	StaffDeactivationReasonDeceased      = 4
	StaffDeactivationReasonDoNotConstact = 5

	StaffPhoneTypeLandline = 1
	StaffPhoneTypeMobile   = 2
	StaffPhoneTypeWork     = 3

	StaffGenderOther          = 1
	StaffGenderMan            = 2
	StaffGenderWoman          = 3
	StaffGenderTransgender    = 4
	StaffGenderNonBinary      = 5
	StaffGenderTwoSpirit      = 6
	StaffGenderPreferNotToSay = 7
	StaffGenderDoNotKnow      = 8

	StaffIdentifyAsOther                = 1
	StaffIdentifyAsPreferNotToSay       = 2
	StaffIdentifyAsWomen                = 3
	StaffIdentifyAsNewcomer             = 4
	StaffIdentifyAsRacializedPerson     = 5
	StaffIdentifyAsVeteran              = 6
	StaffIdentifyAsFrancophone          = 7
	StaffIdentifyAsPersonWithDisability = 8
	StaffIdentifyAsInuit                = 9
	StaffIdentifyAsFirstNations         = 10
	StaffIdentifyAsMetis                = 11

	StaffTypeExecutive      = 1
	StaffTypeManagement     = 2
	StaffTypeFrontlineStaff = 3
	StaffTypeStaff          = 3
	StaffTypeAssociate      = 4
	StaffTypeCustomer       = 5
)
View Source
const (
	SortOrderAscending  = 1
	SortOrderDescending = -1
)

Variables

View Source
var StaffStateLabels = map[int8]string{
	StaffStatusActive:   "Active",
	StaffStatusArchived: "Archived",
}
View Source
var StaffTelephoneTypeLabels = map[int8]string{
	1: "Landline",
	2: "Mobile",
	3: "Work",
}

Functions

This section is empty.

Types

type Staff

type Staff struct {
	ID                                   primitive.ObjectID           `bson:"_id" json:"id"`
	TenantID                             primitive.ObjectID           `bson:"tenant_id" json:"tenant_id,omitempty"`
	FirstName                            string                       `bson:"first_name" json:"first_name"`
	LastName                             string                       `bson:"last_name" json:"last_name"`
	Name                                 string                       `bson:"name" json:"name"`
	LexicalName                          string                       `bson:"lexical_name" json:"lexical_name"`
	PersonalEmail                        string                       `bson:"personal_email" json:"personal_email"`
	Email                                string                       `bson:"email" json:"email"`
	IsOkToEmail                          bool                         `bson:"is_ok_to_email" json:"is_ok_to_email"`
	Phone                                string                       `bson:"phone" json:"phone,omitempty"`
	PhoneType                            int8                         `bson:"phone_type" json:"phone_type"`
	PhoneExtension                       string                       `bson:"phone_extension" json:"phone_extension"`
	IsOkToText                           bool                         `bson:"is_ok_to_text" json:"is_ok_to_text"`
	FaxNumber                            string                       `bson:"fax_number" json:"fax_number"`
	OtherPhone                           string                       `bson:"other_phone" json:"other_phone"`
	OtherPhoneExtension                  string                       `bson:"other_phone_extension" json:"other_phone_extension"`
	OtherPhoneType                       int8                         `bson:"other_phone_type" json:"other_phone_type"`
	Country                              string                       `bson:"country" json:"country,omitempty"`
	Region                               string                       `bson:"region" json:"region,omitempty"`
	City                                 string                       `bson:"city" json:"city,omitempty"`
	PostalCode                           string                       `bson:"postal_code" json:"postal_code,omitempty"`
	AddressLine1                         string                       `bson:"address_line1" json:"address_line1,omitempty"`
	AddressLine2                         string                       `bson:"address_line2" json:"address_line2,omitempty"`
	PostOfficeBoxNumber                  string                       `bson:"post_office_box_number" json:"post_office_box_number"`
	FullAddressWithoutPostalCode         string                       `bson:"full_address_without_postal_code" json:"full_address_without_postal_code,omitempty"` // Compiled value
	FullAddressWithPostalCode            string                       `bson:"full_address_with_postal_code" json:"full_address_with_postal_code,omitempty"`       // Compiled value
	FullAddressURL                       string                       `bson:"full_address_url" json:"full_address_url,omitempty"`                                 // Compiled value
	HasShippingAddress                   bool                         `bson:"has_shipping_address" json:"has_shipping_address,omitempty"`
	ShippingName                         string                       `bson:"shipping_name" json:"shipping_name,omitempty"`
	ShippingPhone                        string                       `bson:"shipping_phone" json:"shipping_phone,omitempty"`
	ShippingCountry                      string                       `bson:"shipping_country" json:"shipping_country,omitempty"`
	ShippingRegion                       string                       `bson:"shipping_region" json:"shipping_region,omitempty"`
	ShippingCity                         string                       `bson:"shipping_city" json:"shipping_city,omitempty"`
	ShippingPostalCode                   string                       `bson:"shipping_postal_code" json:"shipping_postal_code,omitempty"`
	ShippingAddressLine1                 string                       `bson:"shipping_address_line1" json:"shipping_address_line1,omitempty"`
	ShippingAddressLine2                 string                       `bson:"shipping_address_line2" json:"shipping_address_line2,omitempty"`
	ShippingPostOfficeBoxNumber          string                       `bson:"shipping_post_office_box_number" json:"shipping_post_office_box_number"`
	ShippingFullAddressWithoutPostalCode string                       `bson:"shipping_full_address_without_postal_code" json:"shipping_full_address_without_postal_code,omitempty"` // Compiled value
	ShippingFullAddressWithPostalCode    string                       `bson:"shipping_full_address_with_postal_code" json:"shipping_full_address_with_postal_code,omitempty"`       // Compiled value
	ShippingFullAddressURL               string                       `bson:"shipping_full_address_url" json:"shipping_full_address_url,omitempty"`                                 // Compiled value
	HowDidYouHearAboutUsID               primitive.ObjectID           `bson:"how_did_you_hear_about_us_id" json:"how_did_you_hear_about_us_id,omitempty"`
	HowDidYouHearAboutUsText             string                       `bson:"how_did_you_hear_about_us_text" json:"how_did_you_hear_about_us_text,omitempty"`
	IsHowDidYouHearAboutUsOther          bool                         `bson:"is_how_did_you_hear_about_us_other" json:"is_how_did_you_hear_about_us_other,omitempty"`
	HowDidYouHearAboutUsOther            string                       `bson:"how_did_you_hear_about_us_other" json:"how_did_you_hear_about_us_other,omitempty"`
	AgreeTOS                             bool                         `bson:"agree_tos" json:"agree_tos,omitempty"`
	CreatedAt                            time.Time                    `bson:"created_at" json:"created_at,omitempty"`
	CreatedByUserID                      primitive.ObjectID           `bson:"created_by_user_id" json:"created_by_user_id"`
	CreatedByUserName                    string                       `bson:"created_by_user_name" json:"created_by_user_name"`
	CreatedFromIPAddress                 string                       `bson:"created_from_ip_address" json:"created_from_ip_address"`
	ModifiedAt                           time.Time                    `bson:"modified_at" json:"modified_at,omitempty"`
	ModifiedByUserID                     primitive.ObjectID           `bson:"modified_by_user_id" json:"modified_by_user_id"`
	ModifiedByUserName                   string                       `bson:"modified_by_user_name" json:"modified_by_user_name"`
	ModifiedFromIPAddress                string                       `bson:"modified_from_ip_address" json:"modified_from_ip_address"`
	Status                               int8                         `bson:"status" json:"status"`
	Salt                                 string                       `bson:"salt" json:"salt,omitempty"`
	PrAccessCode                         string                       `bson:"pr_access_code" json:"pr_access_code,omitempty"`
	PrExpiryTime                         time.Time                    `bson:"pr_expiry_time" json:"pr_expiry_time,omitempty"`
	Timezone                             string                       `bson:"timezone" json:"timezone,omitempty"`
	HasUserAccount                       bool                         `bson:"has_user_account" json:"has_user_account,omitempty"`
	UserID                               primitive.ObjectID           `bson:"user_id" json:"user_id,omitempty"`
	Type                                 int8                         `bson:"type" json:"type"`
	IsBusiness                           bool                         `bson:"is_business" json:"is_business"`
	IsSenior                             bool                         `bson:"is_senior" json:"is_senior"`
	IsSupport                            bool                         `bson:"is_support" json:"is_support"`
	JobInfoRead                          string                       `bson:"job_info_read" json:"job_info_read"`
	DeactivationReason                   int8                         `bson:"deactivation_reason" json:"deactivation_reason"`
	DeactivationReasonOther              string                       `bson:"deactivation_reason_other" json:"deactivation_reason_other"`
	Description                          string                       `bson:"description" json:"description"`
	AvatarObjectExpiry                   time.Time                    `bson:"avatar_object_expiry" json:"avatar_object_expiry"`
	AvatarObjectURL                      string                       `bson:"avatar_object_url" json:"avatar_object_url"`
	AvatarObjectKey                      string                       `bson:"avatar_object_key" json:"avatar_object_key"`
	AvatarFileType                       string                       `bson:"avatar_file_type" json:"avatar_file_type"`
	AvatarFileName                       string                       `bson:"avatar_file_name" json:"avatar_file_name"`
	BirthDate                            time.Time                    `bson:"birth_date" json:"birth_date"`
	JoinDate                             time.Time                    `bson:"join_date" json:"join_date"`
	Nationality                          string                       `bson:"nationality" json:"nationality"`
	Gender                               int8                         `bson:"gender" json:"gender"`
	GenderOther                          string                       `bson:"gender_other" json:"gender_other"`
	TaxID                                string                       `bson:"tax_id" json:"tax_id"`
	Elevation                            float64                      `bson:"elevation" json:"elevation"`
	Latitude                             float64                      `bson:"latitude" json:"latitude"`
	Longitude                            float64                      `bson:"longitude" json:"longitude"`
	AreaServed                           string                       `bson:"area_served" json:"area_served"`
	PreferredLanguage                    string                       `bson:"preferred_language" json:"preferred_language"`
	ContactType                          string                       `bson:"contact_type" json:"contact_type"`
	PublicID                             uint64                       `bson:"public_id" json:"public_id,omitempty"`
	HourlySalaryDesired                  int64                        `bson:"hourly_salary_desired" json:"hourly_salary_desired"`
	LimitSpecial                         string                       `bson:"limit_special" json:"limit_special"`
	DuesDate                             time.Time                    `bson:"dues_date" json:"dues_date"`
	CommercialInsuranceExpiryDate        time.Time                    `bson:"commercial_insurance_expiry_date" json:"commercial_insurance_expiry_date"`
	AutoInsuranceExpiryDate              time.Time                    `bson:"auto_insurance_expiry_date" json:"auto_insurance_expiry_date"`
	WsibNumber                           string                       `bson:"wsib_number" json:"wsib_number"`
	WsibInsuranceDate                    time.Time                    `bson:"wsib_insurance_date" json:"wsib_insurance_date"`
	PoliceCheck                          time.Time                    `bson:"police_check" json:"police_check"`
	DriversLicenseClass                  string                       `bson:"drivers_license_class" json:"drivers_license_class"`
	Score                                float64                      `bson:"score" json:"score"`
	BalanceOwingAmount                   float64                      `bson:"balance_owing_amount" json:"balance_owing_amount"`
	EmergencyContactName                 string                       `bson:"emergency_contact_name" json:"emergency_contact_name"`
	EmergencyContactRelationship         string                       `bson:"emergency_contact_relationship" json:"emergency_contact_relationship"`
	EmergencyContactTelephone            string                       `bson:"emergency_contact_telephone" json:"emergency_contact_telephone"`
	EmergencyContactAlternativeTelephone string                       `bson:"emergency_contact_alternative_telephone" json:"emergency_contact_alternative_telephone"`
	Comments                             []*StaffComment              `bson:"comments" json:"comments"`
	SkillSets                            []*StaffSkillSet             `bson:"skill_sets" json:"skill_sets,omitempty"`
	InsuranceRequirements                []*StaffInsuranceRequirement `bson:"insurance_requirements" json:"insurance_requirements,omitempty"`
	VehicleTypes                         []*StaffVehicleType          `bson:"vehicle_types" json:"vehicle_types,omitempty"`
	AwayLogs                             []*StaffAwayLog              `bson:"away_logs" json:"away_logs,omitempty"`
	Tags                                 []*StaffTag                  `bson:"tags" json:"tags,omitempty"`
	IdentifyAs                           []int8                       `bson:"identify_as" json:"identify_as,omitempty"`

	// OTPEnabled controls whether we force 2FA or not during login for this staff member.
	OTPEnabled bool `bson:"otp_enabled" json:"otp_enabled"`
}

type StaffAsSelectOption

type StaffAsSelectOption struct {
	Value primitive.ObjectID `bson:"_id" json:"value"` // Extract from the database `_id` field and output through API as `value`.
	Label string             `bson:"name" json:"label"`
}

type StaffAwayLog

type StaffAwayLog struct {
	ID                    primitive.ObjectID `bson:"_id" json:"id"`
	TenantID              primitive.ObjectID `bson:"tenant_id" json:"tenant_id,omitempty"`
	StaffID               primitive.ObjectID `bson:"associate_id" json:"associate_id"`
	StaffName             string             `bson:"associate_name" json:"associate_name,omitempty"`
	StaffLexicalName      string             `bson:"associate_lexical_name" json:"associate_lexical_name,omitempty"`
	Reason                int8               `bson:"reason" json:"reason"`
	ReasonOther           string             `bson:"reason_other" json:"reason_other"`
	UntilFurtherNotice    bool               `bson:"until_further_notice" json:"until_further_notice"`
	UntilDate             time.Time          `bson:"until_date" json:"until_date"`
	StartDate             time.Time          `bson:"start_date" json:"start_date"`
	Status                int8               `bson:"status" json:"status"`
	CreatedAt             time.Time          `bson:"created_at" json:"created_at"`
	CreatedByUserID       primitive.ObjectID `bson:"created_by_user_id" json:"created_by_user_id,omitempty"`
	CreatedByUserName     string             `bson:"created_by_user_name" json:"created_by_user_name"`
	CreatedFromIPAddress  string             `bson:"created_from_ip_address" json:"created_from_ip_address"`
	ModifiedAt            time.Time          `bson:"modified_at" json:"modified_at"`
	ModifiedByUserID      primitive.ObjectID `bson:"modified_by_user_id" json:"modified_by_user_id,omitempty"`
	ModifiedByUserName    string             `bson:"modified_by_user_name" json:"modified_by_user_name"`
	ModifiedFromIPAddress string             `bson:"modified_from_ip_address" json:"modified_from_ip_address"`
	PublicID              uint64             `bson:"public_id" json:"public_id"`
}

type StaffComment

type StaffComment struct {
	ID                    primitive.ObjectID `bson:"_id" json:"id"`
	TenantID              primitive.ObjectID `bson:"tenant_id" json:"tenant_id"`
	CreatedAt             time.Time          `bson:"created_at,omitempty" json:"created_at,omitempty"`
	CreatedByUserID       primitive.ObjectID `bson:"created_by_user_id" json:"created_by_user_id"`
	CreatedByUserName     string             `bson:"created_by_user_name" json:"created_by_user_name"`
	CreatedFromIPAddress  string             `bson:"created_from_ip_address" json:"created_from_ip_address"`
	ModifiedAt            time.Time          `bson:"modified_at,omitempty" json:"modified_at,omitempty"`
	ModifiedByUserID      primitive.ObjectID `bson:"modified_by_user_id" json:"modified_by_user_id"`
	ModifiedByUserName    string             `bson:"modified_by_user_name" json:"modified_by_user_name"`
	ModifiedFromIPAddress string             `bson:"modified_from_ip_address" json:"modified_from_ip_address"`
	Content               string             `bson:"content" json:"content"`
	Status                int8               `bson:"status" json:"status"`
	PublicID              uint64             `bson:"public_id" json:"public_id"`
}

type StaffInsuranceRequirement

type StaffInsuranceRequirement struct {
	ID          primitive.ObjectID `bson:"_id" json:"id"`
	Text        string             `bson:"text" json:"text"`
	Description string             `bson:"description" json:"description"`
	Status      int8               `bson:"status" json:"status"`
}

type StaffListFilter

type StaffListFilter struct {
	// Pagination related.
	Cursor    primitive.ObjectID
	PageSize  int64
	SortField string
	SortOrder int8 // 1=ascending | -1=descending

	// Filter related.
	TenantID        primitive.ObjectID
	Status          int8
	Type            int8
	UUIDs           []string
	ExcludeArchived bool
	SearchText      string
	FirstName       string
	LastName        string
	Email           string
	Phone           string
	CreatedAtGTE    time.Time
}

type StaffListResult

type StaffListResult struct {
	Results     []*Staff           `json:"results"`
	NextCursor  primitive.ObjectID `json:"next_cursor"`
	HasNextPage bool               `json:"has_next_page"`
}

type StaffLite

type StaffLite struct {
	ID                  primitive.ObjectID `bson:"_id" json:"id"`
	FirstName           string             `bson:"first_name" json:"first_name"`
	LastName            string             `bson:"last_name" json:"last_name"`
	Name                string             `bson:"name" json:"name"`
	LexicalName         string             `bson:"lexical_name" json:"lexical_name"`
	Email               string             `bson:"email" json:"email"`
	Phone               string             `bson:"phone" json:"phone,omitempty"`
	PhoneType           int8               `bson:"phone_type" json:"phone_type"`
	PhoneExtension      string             `bson:"phone_extension" json:"phone_extension"`
	OtherPhone          string             `bson:"other_phone" json:"other_phone"`
	OtherPhoneExtension string             `bson:"other_phone_extension" json:"other_phone_extension"`
	OtherPhoneType      int8               `bson:"other_phone_type" json:"other_phone_type"`
	Status              int8               `bson:"status" json:"status"`
	Type                int8               `bson:"type" json:"type"`
	AvatarObjectKey     string             `bson:"avatar_object_key" json:"avatar_object_key"`
	AvatarFileType      string             `bson:"avatar_file_type" json:"avatar_file_type"`
	AvatarFileName      string             `bson:"avatar_file_name" json:"avatar_file_name"`
	Birthdate           time.Time          `bson:"birthdate" json:"birthdate"`
	JoinDate            time.Time          `bson:"join_date" json:"join_date"`
	Nationality         string             `bson:"nationality" json:"nationality"`
	Gender              int8               `bson:"gender" json:"gender"`
	GenderOther         string             `bson:"gender_other" json:"gender_other"`
	OrganizationName    string             `bson:"organization_name" json:"organization_name"`
	OrganizationType    int8               `bson:"organization_type" json:"organization_type"`
	Country             string             `bson:"country" json:"country,omitempty"`
	Region              string             `bson:"region" json:"region,omitempty"`
	City                string             `bson:"city" json:"city,omitempty"`
	PostalCode          string             `bson:"postal_code" json:"postal_code,omitempty"`
	AddressLine1        string             `bson:"address_line1" json:"address_line1,omitempty"`
	AddressLine2        string             `bson:"address_line2" json:"address_line2,omitempty"`
}

StaffLite represents the limited detail of a staff which is to be displayed in a list view.

type StaffPaginationListAndCountResult

type StaffPaginationListAndCountResult struct {
	Results     []*Staff `json:"results"`
	NextCursor  string   `json:"next_cursor"`
	HasNextPage bool     `json:"has_next_page"`
	Count       int64    `json:"count"`
}

StaffPaginationListResult represents the paginated list results for the Staff records (meaning limited).

type StaffPaginationListFilter

type StaffPaginationListFilter struct {
	// Pagination related.
	Cursor    string
	PageSize  int64
	SortField string
	SortOrder int8 // 1=ascending | -1=descending

	// Filter related.
	TenantID               primitive.ObjectID
	HowDidYouHearAboutUsID primitive.ObjectID
	Type                   int8
	Status                 int8
	UUIDs                  []string
	SearchText             string
	FirstName              string
	LastName               string
	Email                  string
	Phone                  string
	CreatedAtGTE           time.Time

	// InVehicleTypeIDs filter is used if you want to find one or more tag
	// ids inside the associate.
	InVehicleTypeIDs []primitive.ObjectID

	// AllVehicleTypeIDs filter is used if you want to find all tag ids for
	// the associate.
	AllVehicleTypeIDs []primitive.ObjectID

	JoinDateGT  time.Time
	JoinDateGTE time.Time
	JoinDateLT  time.Time
	JoinDateLTE time.Time
}

type StaffPaginationListResult

type StaffPaginationListResult struct {
	Results     []*Staff `json:"results"`
	NextCursor  string   `json:"next_cursor"`
	HasNextPage bool     `json:"has_next_page"`
}

StaffPaginationListResult represents the paginated list results for the staff records (meaning limited).

type StaffPaginationLiteListAndCountResult

type StaffPaginationLiteListAndCountResult struct {
	Results     []*StaffLite `json:"results"`
	NextCursor  string       `json:"next_cursor"`
	HasNextPage bool         `json:"has_next_page"`
	Count       int64        `json:"count"`
}

StaffPaginationLiteListResult represents the paginated list results for the Staff lite records (meaning limited).

type StaffPaginationLiteListResult

type StaffPaginationLiteListResult struct {
	Results     []*StaffLite `json:"results"`
	NextCursor  string       `json:"next_cursor"`
	HasNextPage bool         `json:"has_next_page"`
}

StaffPaginationLiteListResult represents the paginated list results for the staff lite records (meaning limited).

type StaffSkillSet

type StaffSkillSet struct {
	ID          primitive.ObjectID `bson:"_id" json:"id"`
	Category    string             `bson:"category" json:"category"`
	SubCategory string             `bson:"sub_category" json:"sub_category"`
	Description string             `bson:"description" json:"description"`
	Status      int8               `bson:"status" json:"status"`
}

type StaffStorer

type StaffStorer interface {
	Create(ctx context.Context, m *Staff) error
	GetByID(ctx context.Context, id primitive.ObjectID) (*Staff, error)
	GetByPublicID(ctx context.Context, oldID uint64) (*Staff, error)
	GetByEmail(ctx context.Context, email string) (*Staff, error)
	GetByVerificationCode(ctx context.Context, verificationCode string) (*Staff, error)
	GetLatestByTenantID(ctx context.Context, tenantID primitive.ObjectID) (*Staff, error)
	GetByUserID(ctx context.Context, userID primitive.ObjectID) (*Staff, error)
	CheckIfExistsByEmail(ctx context.Context, email string) (bool, error)
	UpdateByID(ctx context.Context, m *Staff) error
	UpsertByID(ctx context.Context, user *Staff) error
	ListByFilter(ctx context.Context, f *StaffPaginationListFilter) (*StaffPaginationListResult, error)
	ListAsSelectOptionByFilter(ctx context.Context, f *StaffListFilter) ([]*StaffAsSelectOption, error)
	LiteListByFilter(ctx context.Context, f *StaffPaginationListFilter) (*StaffPaginationLiteListResult, error)
	ListByHowDidYouHearAboutUsID(ctx context.Context, howDidYouHearAboutUsID primitive.ObjectID) (*StaffPaginationListResult, error)
	CountByFilter(ctx context.Context, f *StaffPaginationListFilter) (int64, error)
	ListAndCountByFilter(ctx context.Context, f *StaffPaginationListFilter) (*StaffPaginationListAndCountResult, error)
	LiteListAndCountByFilter(ctx context.Context, f *StaffPaginationListFilter) (*StaffPaginationLiteListAndCountResult, error)
	DeleteByID(ctx context.Context, id primitive.ObjectID) error
}

StaffStorer Interface for user.

func NewDatastore

func NewDatastore(appCfg *c.Conf, loggerp *slog.Logger, client *mongo.Client) StaffStorer

type StaffStorerImpl

type StaffStorerImpl struct {
	Logger     *slog.Logger
	DbClient   *mongo.Client
	Collection *mongo.Collection
}

func (StaffStorerImpl) CheckIfExistsByEmail

func (impl StaffStorerImpl) CheckIfExistsByEmail(ctx context.Context, email string) (bool, error)

func (StaffStorerImpl) CountByFilter

func (impl StaffStorerImpl) CountByFilter(ctx context.Context, f *StaffPaginationListFilter) (int64, error)

func (StaffStorerImpl) Create

func (impl StaffStorerImpl) Create(ctx context.Context, u *Staff) error

func (StaffStorerImpl) DeleteByID

func (impl StaffStorerImpl) DeleteByID(ctx context.Context, id primitive.ObjectID) error

func (StaffStorerImpl) GetByEmail

func (impl StaffStorerImpl) GetByEmail(ctx context.Context, email string) (*Staff, error)

func (StaffStorerImpl) GetByID

func (impl StaffStorerImpl) GetByID(ctx context.Context, id primitive.ObjectID) (*Staff, error)

func (StaffStorerImpl) GetByPublicID

func (impl StaffStorerImpl) GetByPublicID(ctx context.Context, oldID uint64) (*Staff, error)

func (StaffStorerImpl) GetByUserID

func (impl StaffStorerImpl) GetByUserID(ctx context.Context, userID primitive.ObjectID) (*Staff, error)

func (StaffStorerImpl) GetByVerificationCode

func (impl StaffStorerImpl) GetByVerificationCode(ctx context.Context, verificationCode string) (*Staff, error)

func (StaffStorerImpl) GetLatestByTenantID

func (impl StaffStorerImpl) GetLatestByTenantID(ctx context.Context, tenantID primitive.ObjectID) (*Staff, error)

func (*StaffStorerImpl) ListAndCountByFilter

func (StaffStorerImpl) ListAsSelectOptionByFilter

func (impl StaffStorerImpl) ListAsSelectOptionByFilter(ctx context.Context, f *StaffListFilter) ([]*StaffAsSelectOption, error)

func (StaffStorerImpl) ListByFilter

func (StaffStorerImpl) ListByHowDidYouHearAboutUsID

func (impl StaffStorerImpl) ListByHowDidYouHearAboutUsID(ctx context.Context, howDidYouHearAboutUsID primitive.ObjectID) (*StaffPaginationListResult, error)

func (StaffStorerImpl) LiteListByFilter

func (StaffStorerImpl) UpdateByID

func (impl StaffStorerImpl) UpdateByID(ctx context.Context, m *Staff) error

func (StaffStorerImpl) UpsertByID

func (impl StaffStorerImpl) UpsertByID(ctx context.Context, user *Staff) error

type StaffTag

type StaffTag struct {
	ID          primitive.ObjectID `bson:"_id" json:"id"`
	Text        string             `bson:"text" json:"text"`
	Description string             `bson:"description" json:"description"`
	Status      int8               `bson:"status" json:"status"`
}

type StaffVehicleType

type StaffVehicleType struct {
	ID          primitive.ObjectID `bson:"_id" json:"id"`
	Name        string             `bson:"name" json:"name"`
	Description string             `bson:"description" json:"description"`
	Status      int8               `bson:"status" json:"status"`
}

Jump to

Keyboard shortcuts

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