-
Notifications
You must be signed in to change notification settings - Fork 0
/
Model.go
65 lines (63 loc) · 1.37 KB
/
Model.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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package main
import (
"time"
"github.com/jinzhu/gorm"
)
//MODEL DATABASE TOKEN
type Token struct {
gorm.Model
Apps string //APPS CODE
UserID string //USER ID IF SET
Token string //TOKEN GENERATED
}
//INSERT TOKEN
func (mt *Token) insertToken(dba *gorm.DB) *Token{
defer dba.Close()
mt.Token = GetMD5Hash(mt.Apps+":"+time.Now().String())
dba.NewRecord(mt)
dba.Create(&mt)
return mt
}
//UPDATE TOKEN
func (mt *Token) updateToken(dba *gorm.DB,data Token) (*Token,bool,string) {
defer dba.Close()
var mba = Token{}
if err := dba.Where(&data).First(&mba).Error; err != nil {
return &mba,false,err.Error()
}else{
mba.UserID = mt.UserID
dba.Save(&mba)
return &mba,true,"success update"
}
}
//DELETE TOKEN
func (mt *Token) deleteToken(dba *gorm.DB) (token *Token,status bool,message string) {
defer dba.Close()
var mba = Token{}
if err := dba.Where(&mt).First(&mba).Error; err != nil {
token = &mba
status = false
message = err.Error()
}else{
dba.Delete(&mt)
token = &mba
status = true
message = "token deleted"
}
return
}
//CHECK TOKEN
func (mt *Token) checkToken(dba *gorm.DB) (token *Token,status bool,message string) {
defer dba.Close()
var mba = Token{}
if err := dba.Where(&mt).Find(&mba).Error; err != nil {
token = &mba
status = false
message = "token not valid"
}else {
token = &mba
status = true
message = "token valid"
}
return
}