persistence

package
v0.0.0-...-9442cf9 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExistsUserProfileRepository

func NewExistsUserProfileRepository() repository.ExistsUserProfileRepository

func NewGetNotificationTypeRepository

func NewGetNotificationTypeRepository() repository.GetNotificationTypeRepository

func NewGetUserProfileRepository

func NewGetUserProfileRepository() repository.GetUserProfileRepository

func NewSaveUserProfileRepository

func NewSaveUserProfileRepository() repository.SaveUserProfileRepository

Types

type NotificationSettingEntity

type NotificationSettingEntity struct {
	ID                 uuid.UUID  `gorm:"column:id;type:uuid;default:uuid_generate_v4();primaryKey"`
	UserProfileID      uuid.UUID  `gorm:"column:user_id;type:uuid;not null"`
	NotificationTypeID uuid.UUID  `gorm:"column:notification_type_id;type:uuid;not null"`
	Active             bool       `gorm:"column:active;type:boolean;default:false"`
	CreatedAt          time.Time  `gorm:"column:created_at;type:timestamp with time zone;default:CURRENT_TIMESTAMP"`
	UpdatedAt          time.Time  `gorm:"column:updated_at;type:timestamp with time zone;default:CURRENT_TIMESTAMP"`
	DeletedAt          *time.Time `gorm:"column:deleted_at;type:timestamp with time zone"`
}

func (*NotificationSettingEntity) BeforeSave

func (*NotificationSettingEntity) BeforeSave(tx *gorm.DB) (err error)

func (*NotificationSettingEntity) TableName

func (*NotificationSettingEntity) TableName() string

type NotificationTypeEntity

type NotificationTypeEntity struct {
	ID          uuid.UUID  `gorm:"column:id;type:uuid;default:uuid_generate_v4();primaryKey"`
	Name        string     `gorm:"column:name;type:varchar(15);not null"`
	Description string     `gorm:"column:description;type:varchar(255);not null"`
	CreatedAt   time.Time  `gorm:"column:created_at;type:timestamp with time zone;default:CURRENT_TIMESTAMP"`
	CreatedBy   string     `gorm:"column:created_by;type:varchar(50);not null"`
	UpdatedAt   time.Time  `gorm:"column:updated_at;type:timestamp with time zone;default:CURRENT_TIMESTAMP"`
	UpdatedBy   string     `gorm:"column:updated_by;type:varchar(50);not null"`
	DeletedAt   *time.Time `gorm:"column:deleted_at;type:timestamp with time zone"`
	DeletedBy   *string    `gorm:"column:deleted_by;type:varchar(50)"`
}

func (*NotificationTypeEntity) TableName

func (*NotificationTypeEntity) TableName() string

type UserProfileEntity

type UserProfileEntity struct {
	ID                   uuid.UUID                   `gorm:"column:id;type:uuid;default:uuid_generate_v4();primaryKey"`
	FirstName            string                      `gorm:"column:first_name;type:varchar(50)"`
	LastName             string                      `gorm:"column:last_name;type:varchar(50)"`
	Username             string                      `gorm:"column:username;type:varchar(50);not null"`
	Email                string                      `gorm:"column:email;type:varchar(50);not null"`
	Bio                  string                      `gorm:"column:bio;type:varchar(255)"`
	Locale               string                      `gorm:"column:locale;type:varchar(5)"`
	CreatedAt            time.Time                   `gorm:"column:created_at;type:timestamp with time zone;default:CURRENT_TIMESTAMP"`
	UpdatedAt            time.Time                   `gorm:"column:updated_at;type:timestamp with time zone;default:CURRENT_TIMESTAMP"`
	DeletedAt            *time.Time                  `gorm:"column:deleted_at;type:timestamp with time zone"`
	NotificationSettings []NotificationSettingEntity `gorm:"foreignKey:user_id"`
}

func (*UserProfileEntity) TableName

func (*UserProfileEntity) TableName() string

type UserProfileMapper

type UserProfileMapper interface {
	ToUserProfile(*UserProfileEntity) *entities.UserProfile
	ToUserProfileEntity(*entities.UserProfile) *UserProfileEntity
	ToNotificationSetting(*NotificationSettingEntity) *entities.NotificationSetting
	ToNotificationSettingEntity(*entities.NotificationSetting) *NotificationSettingEntity
	ToNotificationSettings([]NotificationSettingEntity) []entities.NotificationSetting
	ToNotificationSettingEntities([]entities.NotificationSetting) []NotificationSettingEntity
	ToNotificationTypeEntity(*entities.NotificationType) *NotificationTypeEntity
	ToNotificationType(*NotificationTypeEntity) *entities.NotificationType
	ToNotificationTypes([]NotificationTypeEntity) []entities.NotificationType
}

func NewUserProfileMapper

func NewUserProfileMapper() UserProfileMapper

Jump to

Keyboard shortcuts

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