Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
5dc3d4a3
Unverified
Commit
5dc3d4a3
authored
Dec 14, 2021
by
STEVEN
Committed by
GitHub
Dec 14, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add open_id key to user (#10)
parent
aa40793a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
38 additions
and
8 deletions
+38
-8
user.go
api/user.go
+18
-0
initial_db.sql
resources/initial_db.sql
+1
-0
memos.db
resources/memos.db
+0
-0
user.go
store/user.go
+19
-8
No files found.
api/user.go
View file @
5dc3d4a3
...
...
@@ -75,6 +75,23 @@ func handleUpdateMyUserInfo(w http.ResponseWriter, r *http.Request) {
})
}
func
handleRefreshUserOpenId
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
userId
,
_
:=
GetUserIdInSession
(
r
)
openId
,
err
:=
store
.
UpdateUserOpenId
(
userId
)
if
err
!=
nil
{
e
.
ErrorHandler
(
w
,
"DATABASE_ERROR"
,
err
.
Error
())
return
}
json
.
NewEncoder
(
w
)
.
Encode
(
Response
{
Succeed
:
true
,
Message
:
""
,
Data
:
openId
,
})
}
type
CheckUsername
struct
{
Username
string
}
...
...
@@ -138,6 +155,7 @@ func RegisterUserRoutes(r *mux.Router) {
userRouter
.
HandleFunc
(
"/me"
,
handleGetMyUserInfo
)
.
Methods
(
"GET"
)
userRouter
.
HandleFunc
(
"/me"
,
handleUpdateMyUserInfo
)
.
Methods
(
"PATCH"
)
userRouter
.
HandleFunc
(
"/open_id/new"
,
handleRefreshUserOpenId
)
.
Methods
(
"POST"
)
userRouter
.
HandleFunc
(
"/checkusername"
,
handleCheckUsername
)
.
Methods
(
"POST"
)
userRouter
.
HandleFunc
(
"/validpassword"
,
handleValidPassword
)
.
Methods
(
"POST"
)
}
resources/initial_db.sql
View file @
5dc3d4a3
...
...
@@ -7,6 +7,7 @@ CREATE TABLE `users` (
`id`
TEXT
NOT
NULL
PRIMARY
KEY
,
`username`
TEXT
NOT
NULL
,
`password`
TEXT
NOT
NULL
,
`open_id`
TEXT
NOT
NULL
DEFAULT
''
,
`github_name`
TEXT
NOT
NULL
DEFAULT
''
,
`created_at`
TEXT
NOT
NULL
DEFAULT
(
DATETIME
(
'now'
,
'localtime'
)),
`updated_at`
TEXT
NOT
NULL
DEFAULT
(
DATETIME
(
'now'
,
'localtime'
)),
...
...
resources/memos.db
View file @
5dc3d4a3
No preview for this file type
store/user.go
View file @
5dc3d4a3
...
...
@@ -11,6 +11,7 @@ type User struct {
Id
string
`json:"id"`
Username
string
`json:"username"`
Password
string
`json:"password"`
OpenId
string
`json:"openId"`
GithubName
string
`json:"githubName"`
CreatedAt
string
`json:"createdAt"`
UpdatedAt
string
`json:"updatedAt"`
...
...
@@ -22,13 +23,14 @@ func CreateNewUser(username string, password string, githubName string) (User, e
Id
:
utils
.
GenUUID
(),
Username
:
username
,
Password
:
password
,
OpenId
:
utils
.
GenUUID
(),
GithubName
:
githubName
,
CreatedAt
:
nowDateTimeStr
,
UpdatedAt
:
nowDateTimeStr
,
}
query
:=
`INSERT INTO users (id, username, password,
github_name, created_at, updated_at) VALUES (
?, ?, ?, ?, ?, ?)`
_
,
err
:=
DB
.
Exec
(
query
,
newUser
.
Id
,
newUser
.
Username
,
newUser
.
Password
,
newUser
.
GithubName
,
newUser
.
CreatedAt
,
newUser
.
UpdatedAt
)
query
:=
`INSERT INTO users (id, username, password,
open_id, github_name, created_at, updated_at) VALUES (?,
?, ?, ?, ?, ?, ?)`
_
,
err
:=
DB
.
Exec
(
query
,
newUser
.
Id
,
newUser
.
Username
,
newUser
.
Password
,
newUser
.
OpenId
,
newUser
.
GithubName
,
newUser
.
CreatedAt
,
newUser
.
UpdatedAt
)
return
newUser
,
err
}
...
...
@@ -64,24 +66,33 @@ func UpdateUser(id string, userPatch *UserPatch) (User, error) {
return
user
,
err
}
func
UpdateUserOpenId
(
userId
string
)
(
string
,
error
)
{
openId
:=
utils
.
GenUUID
()
query
:=
`UPDATE users SET open_id=? WHERE id=?`
_
,
err
:=
DB
.
Exec
(
query
,
openId
,
userId
)
return
openId
,
err
}
func
GetUserById
(
id
string
)
(
User
,
error
)
{
query
:=
`SELECT id, username, password, github_name, created_at, updated_at FROM users WHERE id=?`
query
:=
`SELECT id, username, password,
open_id,
github_name, created_at, updated_at FROM users WHERE id=?`
user
:=
User
{}
err
:=
DB
.
QueryRow
(
query
,
id
)
.
Scan
(
&
user
.
Id
,
&
user
.
Username
,
&
user
.
Password
,
&
user
.
GithubName
,
&
user
.
CreatedAt
,
&
user
.
UpdatedAt
)
err
:=
DB
.
QueryRow
(
query
,
id
)
.
Scan
(
&
user
.
Id
,
&
user
.
Username
,
&
user
.
Password
,
&
user
.
OpenId
,
&
user
.
GithubName
,
&
user
.
CreatedAt
,
&
user
.
UpdatedAt
)
return
user
,
err
}
func
GetUserByUsernameAndPassword
(
username
string
,
password
string
)
(
User
,
error
)
{
query
:=
`SELECT id, username, password, github_name, created_at, updated_at FROM users WHERE username=? AND password=?`
query
:=
`SELECT id, username, password,
open_id,
github_name, created_at, updated_at FROM users WHERE username=? AND password=?`
user
:=
User
{}
err
:=
DB
.
QueryRow
(
query
,
username
,
password
)
.
Scan
(
&
user
.
Id
,
&
user
.
Username
,
&
user
.
Password
,
&
user
.
GithubName
,
&
user
.
CreatedAt
,
&
user
.
UpdatedAt
)
err
:=
DB
.
QueryRow
(
query
,
username
,
password
)
.
Scan
(
&
user
.
Id
,
&
user
.
Username
,
&
user
.
Password
,
&
user
.
OpenId
,
&
user
.
GithubName
,
&
user
.
CreatedAt
,
&
user
.
UpdatedAt
)
return
user
,
err
}
func
GetUserByGithubName
(
githubName
string
)
(
User
,
error
)
{
query
:=
`SELECT id, username, password, github_name, created_at, updated_at FROM users WHERE github_name=?`
query
:=
`SELECT id, username, password,
open_id,
github_name, created_at, updated_at FROM users WHERE github_name=?`
user
:=
User
{}
err
:=
DB
.
QueryRow
(
query
,
githubName
)
.
Scan
(
&
user
.
Id
,
&
user
.
Username
,
&
user
.
Password
,
&
user
.
GithubName
,
&
user
.
CreatedAt
,
&
user
.
UpdatedAt
)
err
:=
DB
.
QueryRow
(
query
,
githubName
)
.
Scan
(
&
user
.
Id
,
&
user
.
Username
,
&
user
.
Password
,
&
user
.
OpenId
,
&
user
.
GithubName
,
&
user
.
CreatedAt
,
&
user
.
UpdatedAt
)
return
user
,
err
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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