/
users.go
36 lines (31 loc) · 827 Bytes
/
users.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package model
import (
"database/sql"
"github.com/jmoiron/sqlx"
"gopkg.in/telebot.v3"
)
type (
UserService interface {
Allow(user *telebot.User) error
Create(user *telebot.User) error
CreateTx(tx *sqlx.Tx, user *telebot.User) error
Deny(user *telebot.User) error
GetAllAllowed() ([]int64, error)
}
User struct {
ID int64 `db:"id"`
FirstName string `db:"first_name"`
LastName sql.NullString `db:"last_name"`
Username sql.NullString `db:"username"`
Allowed bool `db:"allowed"`
MsgCount int64 `db:"msg_count"`
InGroup bool `db:"in_group"`
Birthday sql.NullTime `db:"birthday"`
}
)
func (user *User) GetFullName() string {
if user.LastName.Valid {
return user.FirstName + " " + user.LastName.String
}
return user.FirstName
}