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

modified: foo.crud.go

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