1
0
mirror of synced 2024-11-22 12:26:02 +03:00
mg-transport-telegram/repository.go

101 lines
2.1 KiB
Go
Raw Normal View History

package main
2018-06-08 13:57:51 +03:00
import (
"time"
"github.com/jinzhu/gorm"
)
2018-05-24 18:08:48 +03:00
func getConnection(uid string) *Connection {
var connection Connection
orm.DB.First(&connection, "client_id = ?", uid)
2018-05-24 18:08:48 +03:00
return &connection
}
2018-05-24 18:08:48 +03:00
func getConnectionByURL(urlCrm string) *Connection {
var connection Connection
orm.DB.First(&connection, "api_url = ?", urlCrm)
2018-05-24 18:08:48 +03:00
return &connection
}
func (c *Connection) setConnectionActivity() error {
return orm.DB.Model(c).Where("client_id = ?", c.ClientID).Update("Active", c.Active).Error
}
func (c *Connection) createConnection() error {
return orm.DB.Create(c).Error
}
func (c *Connection) saveConnection() error {
return orm.DB.Model(c).Where("client_id = ?", c.ClientID).Update(c).Error
}
2018-05-28 18:16:13 +03:00
func (c *Connection) createBot(b Bot) error {
return orm.DB.Model(c).Association("Bots").Append(&b).Error
}
2018-05-31 19:44:23 +03:00
func getBotByToken(token string) (*Bot, error) {
var bot Bot
err := orm.DB.First(&bot, "token = ?", token).Error
if gorm.IsRecordNotFoundError(err) {
2018-05-31 19:44:23 +03:00
return &bot, nil
} else {
2018-05-31 19:44:23 +03:00
return &bot, err
}
2018-05-31 19:44:23 +03:00
return &bot, nil
}
func (b *Bot) setBotActivity() error {
return orm.DB.Model(b).Where("token = ?", b.Token).Update("Active", !b.Active).Error
}
func getBotChannelByToken(token string) uint64 {
var b Bot
orm.DB.First(&b, "token = ?", token)
return b.Channel
}
func (c Connection) getBotsByClientID() Bots {
var b Bots
err := orm.DB.Model(c).Association("Bots").Find(&b).Error
if err != nil {
logger.Error(err)
}
return b
2018-05-28 18:16:13 +03:00
}
func getBotByChannelAndCID(connectionID int, ch uint64) *Bot {
var bot Bot
orm.DB.First(&bot, "connection_id = ? AND channel = ?", connectionID, ch)
return &bot
}
2018-05-28 18:16:13 +03:00
func getConnectionById(id int) *Connection {
var connection Connection
orm.DB.First(&connection, "id = ?", id)
return &connection
}
func (u *User) save() error {
return orm.DB.Save(u).Error
}
func getUserByExternalID(eid int) *User {
var user User
2018-06-08 17:40:50 +03:00
orm.DB.First(&user, "external_id = ?", eid)
return &user
}
2018-06-08 13:57:51 +03:00
//Expired method
func (u *User) Expired(updateInterval int) bool {
2018-06-08 13:57:51 +03:00
return time.Now().After(u.UpdatedAt.Add(time.Hour * time.Duration(updateInterval)))
}