|
|
- package Database
-
- import (
- "github.com/gofrs/uuid"
- "gorm.io/gorm"
- "gorm.io/gorm/clause"
- )
-
- // ConversationDetailUser all users associated with a conversation
- type ConversationDetailUser struct {
- Base
- ConversationDetailID uuid.UUID `gorm:"not null" json:"conversation_detail_id"`
- ConversationDetail ConversationDetail `gorm:"not null" json:"conversation"`
- UserID string `gorm:"not null" json:"user_id"` // Stored encrypted
- Username string `gorm:"not null" json:"username"` // Stored encrypted
- Admin string `gorm:"not null" json:"admin"` // Stored encrypted
- AssociationKey string `gorm:"not null" json:"association_key"` // Stored encrypted
- PublicKey string `gorm:"not null" json:"public_key"` // Stored encrypted
- }
-
- func GetConversationDetailUserById(id string) (ConversationDetailUser, error) {
- var (
- messageThread ConversationDetailUser
- err error
- )
-
- err = DB.Preload(clause.Associations).
- Where("id = ?", id).
- First(&messageThread).
- Error
-
- return messageThread, err
- }
-
- func (detailUser *ConversationDetailUser) CreateConversationDetailUser() error {
- return DB.Session(&gorm.Session{FullSaveAssociations: true}).
- Create(detailUser).
- Error
- }
-
- func (detailUser *ConversationDetailUser) UpdateConversationDetailUser() error {
- return DB.Session(&gorm.Session{FullSaveAssociations: true}).
- Where("id = ?", detailUser.ID).
- Updates(detailUser).
- Error
- }
-
- func (detailUser *ConversationDetailUser) DeleteConversationDetailUser() error {
- return DB.Session(&gorm.Session{FullSaveAssociations: true}).
- Delete(detailUser).
- Error
- }
|