Commit 9084feec authored by 4c00's avatar 4c00
Browse files

modified: foo.crud.go

parent a0d5597b
package model
import (
"errors"
)
// import (
// "errors"
// )
// TODO: add crud interface here
// // TODO: add crud interface here
func RegisterUser(name, email, pwd string) error {
newUser := User{}
newUser.Name = name
newUser.Pwd = pwd
newUser.Email = email
newUser.Id = 0
newUser.Number = 0
err := DB.Create(&newUser)
if err != nil {
var errReturn = errors.New("fail to register the user")
return errReturn
}
return nil
}
// func RegisterUser(name, email, pwd string) error {
// newUser := User{}
// newUser.Name = name
// newUser.Pwd = pwd
// newUser.Email = email
// newUser.Id = 0
// newUser.Number = 0
// err := DB.Create(&newUser)
// if err != nil {
// var errReturn = errors.New("fail to register the user")
// return errReturn
// }
// return nil
// }
func CheckAuth(email, pwd string) bool {
targetUser := User{Email: email}
err := DB.Find(&targetUser)
if err != nil {
return false
}
if targetUser.Pwd != pwd {
return false
}
return true
}
// func CheckAuth(email, pwd string) bool {
// targetUser := User{Email: email}
// err := DB.Find(&targetUser)
// if err != nil {
// return false
// }
// if targetUser.Pwd != pwd {
// return false
// }
// return true
// }
func GetUser(name string) (interface{}, error) {
// func GetUser(name string) (interface{}, error) {
var targetUser []User
err := DB.Where(map[string]interface{}{"name": name}).Find(&targetUser)
if err != nil {
var errReturn = errors.New("fail to find the user")
return nil, errReturn
}
return targetUser, nil
}
// var targetUser []User
// err := DB.Where(map[string]interface{}{"name": name}).Find(&targetUser)
// if err != nil {
// var errReturn = errors.New("fail to find the user")
// return nil, errReturn
// }
// return targetUser, nil
// }
func GetRecord(name string) (interface{}, error) {
master := User{Name: name}
err := DB.Find(&master)
if err != nil {
var errReturn = errors.New("fail to find the user")
return 0, errReturn
}
targetRecord := Record{Name: name, Id: 0}
err1 := DB.Find(&targetRecord)
if err1 != nil {
var err1Return = errors.New("fail to find the record")
return nil, err1Return
}
result := make([]Record, 0)
result = append(result, targetRecord)
for i := 1; i < master.Number; i++ {
targetLink := Record{Name: name, Id: i}
err2 := DB.Find(&targetLink)
if err2 != nil {
continue
}
result = append(result, targetLink)
}
return result, nil
}
// func GetRecord(name string) (interface{}, error) {
// master := User{Name: name}
// err := DB.Find(&master)
// if err != nil {
// var errReturn = errors.New("fail to find the user")
// return 0, errReturn
// }
// targetRecord := Record{Name: name, Id: 0}
// err1 := DB.Find(&targetRecord)
// if err1 != nil {
// var err1Return = errors.New("fail to find the record")
// return nil, err1Return
// }
// result := make([]Record, 0)
// result = append(result, targetRecord)
// for i := 1; i < master.Number; i++ {
// targetLink := Record{Name: name, Id: i}
// err2 := DB.Find(&targetLink)
// if err2 != nil {
// continue
// }
// result = append(result, targetLink)
// }
// return result, nil
// }
func GetUrl(name string) (interface{}, error) {
master := User{Name: name}
err := DB.Find(&master)
if err != nil {
var errReturn = errors.New("fail to find the user")
return 0, errReturn
}
targetUrl := ShortLink{Name: name, Id: 0}
err1 := DB.Find(&targetUrl)
if err1 != nil {
var err1Return = errors.New("fail to find the record")
return nil, err1Return
}
result := make([]string, 0)
result = append(result, targetUrl.Short)
for i := 1; i < master.Id; i++ {
targetLink := ShortLink{Name: name, Id: i}
err2 := DB.Find(&targetLink)
if err2 != nil {
continue
}
result = append(result, targetLink.Short)
}
return result, nil
}
// func GetUrl(name string) (interface{}, error) {
// master := User{Name: name}
// err := DB.Find(&master)
// if err != nil {
// var errReturn = errors.New("fail to find the user")
// return 0, errReturn
// }
// targetUrl := ShortLink{Name: name, Id: 0}
// err1 := DB.Find(&targetUrl)
// if err1 != nil {
// var err1Return = errors.New("fail to find the record")
// return nil, err1Return
// }
// result := make([]string, 0)
// result = append(result, targetUrl.Short)
// for i := 1; i < master.Id; i++ {
// targetLink := ShortLink{Name: name, Id: i}
// err2 := DB.Find(&targetLink)
// if err2 != nil {
// continue
// }
// result = append(result, targetLink.Short)
// }
// return result, nil
// }
func CreateLink(name string, link ShortLink) (int, error) {
newLink := link
newLink.Name = name
newLink.Status = true
master := User{Name: name}
err := DB.Find(&master)
if err != nil {
var errReturn = errors.New("fail to find the user")
return 0, errReturn
}
newLink.Id = master.Id
master.Id = master.Id + 1
err1 := DB.Updates(&master)
if err1 != nil {
var err1Return = errors.New("fail to update the imformation of the user")
return 0, err1Return
}
err2 := DB.Create(&newLink)
if err2 != nil {
var err2Return = errors.New("fail to create the link")
return 0, err2Return
}
return newLink.Id, nil
}
// func CreateLink(name string, link ShortLink) (int, error) {
// newLink := link
// newLink.Name = name
// newLink.Status = true
// master := User{Name: name}
// err := DB.Find(&master)
// if err != nil {
// var errReturn = errors.New("fail to find the user")
// return 0, errReturn
// }
// newLink.Id = master.Id
// master.Id = master.Id + 1
// err1 := DB.Updates(&master)
// if err1 != nil {
// var err1Return = errors.New("fail to update the imformation of the user")
// return 0, err1Return
// }
// err2 := DB.Create(&newLink)
// if err2 != nil {
// var err2Return = errors.New("fail to create the link")
// return 0, err2Return
// }
// return newLink.Id, nil
// }
func QueryLink(name string, id int) (ShortLink, error) {
targetLink := ShortLink{Name: name, Id: id}
err := DB.Find(&targetLink)
if err != nil {
var errReturn = errors.New("fail to find the short link")
return targetLink, errReturn
}
return targetLink, nil
}
// func QueryLink(name string, id int) (ShortLink, error) {
// targetLink := ShortLink{Name: name, Id: id}
// err := DB.Find(&targetLink)
// if err != nil {
// var errReturn = errors.New("fail to find the short link")
// return targetLink, errReturn
// }
// return targetLink, nil
// }
func UpdateLink(name string, data UpdateData) error {
targetLink := ShortLink{Name: name}
err := DB.Find(&targetLink)
if err != nil {
var errReturn = errors.New("fail to find the short link")
return errReturn
}
targetLink.Origin = data.Origin
targetLink.Comment = data.Comment
targetLink.StartTime = data.StartTime
targetLink.ExpireTime = data.ExpireTime
err1 := DB.Updates(&targetLink)
if err1 != nil {
var err1Return = errors.New("fail to update the short link")
return err1Return
}
return nil
}
// func UpdateLink(name string, data UpdateData) error {
// targetLink := ShortLink{Name: name}
// err := DB.Find(&targetLink)
// if err != nil {
// var errReturn = errors.New("fail to find the short link")
// return errReturn
// }
// targetLink.Origin = data.Origin
// targetLink.Comment = data.Comment
// targetLink.StartTime = data.StartTime
// targetLink.ExpireTime = data.ExpireTime
// err1 := DB.Updates(&targetLink)
// if err1 != nil {
// var err1Return = errors.New("fail to update the short link")
// return err1Return
// }
// return nil
// }
func DeleteLink(name string, id int) error {
targetLink := ShortLink{Name: name, Id: id}
err := DB.Find(&targetLink)
if err != nil {
var errReturn = errors.New("fail to find the short link")
return errReturn
}
master := User{Name: name}
err1 := DB.Find(&master)
if err1 != nil {
var err1Return = errors.New("fail to find the user")
return err1Return
}
err2 := DB.Delete(&targetLink)
if err2 != nil {
var err2Return = errors.New("fail to delete the short link")
return err2Return
}
master.Id = master.Id - 1
err3 := DB.Updates(&master)
if err3 != nil {
var err3Return = errors.New("fail to update the imformation of the user")
return err3Return
}
return nil
}
// func DeleteLink(name string, id int) error {
// targetLink := ShortLink{Name: name, Id: id}
// err := DB.Find(&targetLink)
// if err != nil {
// var errReturn = errors.New("fail to find the short link")
// return errReturn
// }
// master := User{Name: name}
// err1 := DB.Find(&master)
// if err1 != nil {
// var err1Return = errors.New("fail to find the user")
// return err1Return
// }
// err2 := DB.Delete(&targetLink)
// if err2 != nil {
// var err2Return = errors.New("fail to delete the short link")
// return err2Return
// }
// master.Id = master.Id - 1
// err3 := DB.Updates(&master)
// if err3 != nil {
// var err3Return = errors.New("fail to update the imformation of the user")
// return err3Return
// }
// return nil
// }
func PauseLink(name string, id int) error {
targetLink := ShortLink{Name: name, Id: id}
err := DB.Find(&targetLink)
if err != nil {
var errReturn = errors.New("fail to find the short link")
return errReturn
}
targetLink.Status = false
err1 := DB.Updates(&targetLink)
if err1 != nil {
var err1Return = errors.New("fail to pause the short link")
return err1Return
}
return nil
}
// func PauseLink(name string, id int) error {
// targetLink := ShortLink{Name: name, Id: id}
// err := DB.Find(&targetLink)
// if err != nil {
// var errReturn = errors.New("fail to find the short link")
// return errReturn
// }
// targetLink.Status = false
// err1 := DB.Updates(&targetLink)
// if err1 != nil {
// var err1Return = errors.New("fail to pause the short link")
// return err1Return
// }
// return nil
// }
func ExistShort(str string) bool {
targetLink := ShortLink{Short: str}
err := DB.Find(&targetLink)
if err != nil {
return false
}
return true
}
// func ExistShort(str string) bool {
// targetLink := ShortLink{Short: str}
// err := DB.Find(&targetLink)
// if err != nil {
// return false
// }
// return true
// }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment