init: Initial commit
This commit is contained in:
58
app/repositories/channel.go
Normal file
58
app/repositories/channel.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"git.secnex.io/secnex/masterlog"
|
||||
"git.secnex.io/secnex/taro-bot/database"
|
||||
"git.secnex.io/secnex/taro-bot/models"
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
func CreateChannel(name, tenantId, externalId string) error {
|
||||
channel := &models.Channel{
|
||||
Name: name,
|
||||
TenantID: uuid.MustParse(tenantId),
|
||||
ExternalID: externalId,
|
||||
}
|
||||
return database.DB.Create(channel).Error
|
||||
}
|
||||
|
||||
func UpsertChannel(name, tenantId, externalId string) (*models.Channel, error) {
|
||||
masterlog.Debug("Upserting channel", map[string]interface{}{"name": name, "tenantId": tenantId, "externalId": externalId})
|
||||
channel := &models.Channel{}
|
||||
|
||||
tenantUUID := uuid.MustParse(tenantId)
|
||||
|
||||
masterlog.Debug("Upserting channel", map[string]interface{}{"name": name, "tenantId": tenantUUID, "externalId": externalId})
|
||||
|
||||
err := database.DB.
|
||||
Where("external_id = ?", externalId).
|
||||
FirstOrCreate(&channel, models.Channel{
|
||||
Name: name,
|
||||
TenantID: tenantUUID,
|
||||
ExternalID: externalId,
|
||||
}).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return channel, nil
|
||||
}
|
||||
|
||||
func GetChannelByID(id string) (*models.Channel, error) {
|
||||
var channel models.Channel
|
||||
if err := database.DB.Where("id = ?", id).First(&channel).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &channel, nil
|
||||
}
|
||||
|
||||
func GetChannelByExternalID(id string) (*models.Channel, error) {
|
||||
var channel models.Channel
|
||||
if err := database.DB.Where("external_id = ?", id).First(&channel).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &channel, nil
|
||||
}
|
||||
|
||||
func DeleteTeamByExternalID(id string) error {
|
||||
return database.DB.Where("external_id = ?", id).Delete(&models.Channel{}).Error
|
||||
}
|
||||
Reference in New Issue
Block a user