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
a0d5597b
Commit
a0d5597b
authored
Dec 17, 2022
by
4c00
Browse files
modified: foo.crud.go
modified: foo.go modified: init.go
parent
2561ee4a
Changes
3
Hide whitespace changes
Inline
Side-by-side
model/foo.crud.go
View file @
a0d5597b
package
model
package
model
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
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
)
{
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
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
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
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
ExistShort
(
str
string
)
bool
{
targetLink
:=
ShortLink
{
Short
:
str
}
err
:=
DB
.
Find
(
&
targetLink
)
if
err
!=
nil
{
return
false
}
return
true
}
model/foo.go
View file @
a0d5597b
package
model
package
model
// TODO: add new model
// TODO: add new model
type
User
struct
{
Name
string
`json:"name" form:"name" query:"name"`
Pwd
string
`json:"pwd" form:"pwd" query:"pwd"`
Email
string
`json:"email" form:"email" query:"email"`
Time
int64
`json:"time" form:"time" query:"time"`
Ip
string
`json:"ip" form:"ip" query:"ip"`
Status
bool
`json:"status" form:"status" query:"status"`
Id
int
Number
int
}
type
Record
struct
{
Name
string
`json:"name" form:"name" query:"name"`
Time
int64
`json:"time" form:"time" query:"time"`
Ip
string
`json:"ip" form:"ip" query:"ip"`
Id
int
}
type
ShortLink
struct
{
Id
int
`json:"id" form:"id" query:"id"`
Name
string
`json:"name" form:"name" query:"name"`
Origin
string
`json:"origin" form:"origin" query:"origin"`
Short
string
`json:"short" form:"short" query:"short"`
Comment
string
`json:"comment" form:"comment" query:"comment"`
StartTime
int64
`json:"starttime" form:"starttime" query:"starttime"`
ExpireTime
int64
`json:"expiretime" form:"expiretime" query:"expiretime"`
Status
bool
`json:"status" form:"status" query:"status"`
}
type
UpdateData
struct
{
Origin
string
`json:"origin" form:"origin" query:"origin"`
Comment
string
`json:"comment" form:"comment" query:"comment"`
StartTime
int64
`json:"starttime" form:"starttime" query:"starttime"`
ExpireTime
int64
`json:"expiretime" form:"expiretime" query:"expiretime"`
}
model/init.go
View file @
a0d5597b
...
@@ -10,12 +10,19 @@ import (
...
@@ -10,12 +10,19 @@ import (
var
DB
*
gorm
.
DB
var
DB
*
gorm
.
DB
func
Init
()
{
func
Init
()
{
return
connectDatabase
()
connectDatabase
()
err
:=
DB
.
AutoMigrate
()
// TODO: add table structs here
err
:=
DB
.
AutoMigrate
(
&
User
{}
)
// TODO: add table structs here
if
err
!=
nil
{
if
err
!=
nil
{
logrus
.
Fatal
(
err
)
logrus
.
Fatal
(
err
)
}
}
err1
:=
DB
.
AutoMigrate
(
&
ShortLink
{})
if
err1
!=
nil
{
logrus
.
Fatal
(
err1
)
}
err2
:=
DB
.
AutoMigrate
(
&
Record
{})
if
err2
!=
nil
{
logrus
.
Fatal
(
err1
)
}
}
}
func
connectDatabase
()
{
func
connectDatabase
()
{
...
...
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