Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
际垚 王
ShortLink
Commits
9084feec
Commit
9084feec
authored
Dec 17, 2022
by
4c00
Browse files
modified: foo.crud.go
parent
a0d5597b
Changes
1
Hide whitespace changes
Inline
Side-by-side
model/foo.crud.go
View file @
9084feec
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
//
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment