|
|
- package Database
-
- import (
- "git.tovijaeschke.xyz/tovi/Envelope/Backend/Models"
-
- "gorm.io/gorm"
- "gorm.io/gorm/clause"
- )
-
- func GetMessageById(id string) (Models.Message, error) {
- var (
- message Models.Message
- err error
- )
-
- err = DB.Preload(clause.Associations).
- First(&message, "id = ?", id).
- Error
-
- return message, err
- }
-
- func GetMessagesByThreadKey(associationKey string) ([]Models.Message, error) {
- var (
- messages []Models.Message
- err error
- )
-
- err = DB.Preload("MessageData").
- Find(&messages, "association_key = ?", associationKey).
- Error
-
- return messages, err
- }
-
- func CreateMessage(message *Models.Message) error {
- var (
- err error
- )
-
- err = DB.Session(&gorm.Session{FullSaveAssociations: true}).
- Create(message).
- Error
-
- return err
- }
-
- func CreateMessages(messages *[]Models.Message) error {
- var (
- err error
- )
-
- err = DB.Session(&gorm.Session{FullSaveAssociations: true}).
- Create(messages).
- Error
-
- return err
- }
-
- func DeleteMessage(message *Models.Message) error {
- return DB.Session(&gorm.Session{FullSaveAssociations: true}).
- Delete(message).
- Error
- }
|