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
eaac17a2
Unverified
Commit
eaac17a2
authored
Oct 08, 2023
by
Athurg Gooth
Committed by
GitHub
Oct 08, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: create memo without some attributes (#2355)
parent
1fbd568d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
29 deletions
+58
-29
memo.go
store/db/mysql/memo.go
+30
-8
memo.go
store/db/sqlite/memo.go
+28
-21
No files found.
store/db/mysql/memo.go
View file @
eaac17a2
...
@@ -13,14 +13,36 @@ import (
...
@@ -13,14 +13,36 @@ import (
)
)
func
(
d
*
DB
)
CreateMemo
(
ctx
context
.
Context
,
create
*
store
.
Memo
)
(
*
store
.
Memo
,
error
)
{
func
(
d
*
DB
)
CreateMemo
(
ctx
context
.
Context
,
create
*
store
.
Memo
)
(
*
store
.
Memo
,
error
)
{
stmt
:=
"INSERT INTO `memo` (`creator_id`, `content`, `visibility`) VALUES (?, ?, ?)"
fields
:=
[]
string
{
"`creator_id`"
,
"`content`"
,
"`visibility`"
}
result
,
err
:=
d
.
db
.
ExecContext
(
placeholder
:=
[]
string
{
"?"
,
"?"
,
"?"
}
ctx
,
args
:=
[]
any
{
create
.
CreatorID
,
create
.
Content
,
create
.
Visibility
}
stmt
,
create
.
CreatorID
,
if
create
.
ID
!=
0
{
create
.
Content
,
fields
=
append
(
fields
,
"`id`"
)
create
.
Visibility
,
placeholder
=
append
(
placeholder
,
"?"
)
)
args
=
append
(
args
,
create
.
ID
)
}
if
create
.
CreatedTs
!=
0
{
fields
=
append
(
fields
,
"`created_ts`"
)
placeholder
=
append
(
placeholder
,
"FROM_UNIXTIME(?)"
)
args
=
append
(
args
,
create
.
CreatedTs
)
}
if
create
.
UpdatedTs
!=
0
{
fields
=
append
(
fields
,
"`updated_ts`"
)
placeholder
=
append
(
placeholder
,
"FROM_UNIXTIME(?)"
)
args
=
append
(
args
,
create
.
UpdatedTs
)
}
if
create
.
RowStatus
!=
""
{
fields
=
append
(
fields
,
"`row_status`"
)
placeholder
=
append
(
placeholder
,
"?"
)
args
=
append
(
args
,
create
.
RowStatus
)
}
stmt
:=
"INSERT INTO memo ("
+
strings
.
Join
(
fields
,
", "
)
+
") VALUES ("
+
strings
.
Join
(
placeholder
,
", "
)
+
")"
result
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
args
...
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
...
...
store/db/sqlite/memo.go
View file @
eaac17a2
...
@@ -5,7 +5,6 @@ import (
...
@@ -5,7 +5,6 @@ import (
"database/sql"
"database/sql"
"fmt"
"fmt"
"strings"
"strings"
"time"
"github.com/pkg/errors"
"github.com/pkg/errors"
...
@@ -14,28 +13,36 @@ import (
...
@@ -14,28 +13,36 @@ import (
)
)
func
(
d
*
DB
)
CreateMemo
(
ctx
context
.
Context
,
create
*
store
.
Memo
)
(
*
store
.
Memo
,
error
)
{
func
(
d
*
DB
)
CreateMemo
(
ctx
context
.
Context
,
create
*
store
.
Memo
)
(
*
store
.
Memo
,
error
)
{
if
create
.
CreatedTs
==
0
{
fields
:=
[]
string
{
"`creator_id`"
,
"`content`"
,
"`visibility`"
}
create
.
CreatedTs
=
time
.
Now
()
.
Unix
()
placeholder
:=
[]
string
{
"?"
,
"?"
,
"?"
}
args
:=
[]
any
{
create
.
CreatorID
,
create
.
Content
,
create
.
Visibility
}
if
create
.
ID
!=
0
{
fields
=
append
(
fields
,
"`id`"
)
placeholder
=
append
(
placeholder
,
"?"
)
args
=
append
(
args
,
create
.
ID
)
}
}
stmt
:=
`
if
create
.
CreatedTs
!=
0
{
INSERT INTO memo (
fields
=
append
(
fields
,
"`created_ts`"
)
creator_id,
placeholder
=
append
(
placeholder
,
"?"
)
created_ts,
args
=
append
(
args
,
create
.
CreatedTs
)
content,
}
visibility
)
if
create
.
UpdatedTs
!=
0
{
VALUES (?, ?, ?, ?)
fields
=
append
(
fields
,
"`updated_ts`"
)
RETURNING id, created_ts, updated_ts, row_status
placeholder
=
append
(
placeholder
,
"?"
)
`
args
=
append
(
args
,
create
.
UpdatedTs
)
if
err
:=
d
.
db
.
QueryRowContext
(
}
ctx
,
stmt
,
if
create
.
RowStatus
!=
""
{
create
.
CreatorID
,
fields
=
append
(
fields
,
"`row_status`"
)
create
.
CreatedTs
,
placeholder
=
append
(
placeholder
,
"?"
)
create
.
Content
,
args
=
append
(
args
,
create
.
RowStatus
)
create
.
Visibility
,
}
)
.
Scan
(
stmt
:=
"INSERT INTO memo ("
+
strings
.
Join
(
fields
,
", "
)
+
") VALUES ("
+
strings
.
Join
(
placeholder
,
", "
)
+
") RETURNING `id`, `created_ts`, `updated_ts`, `row_status`"
if
err
:=
d
.
db
.
QueryRowContext
(
ctx
,
stmt
,
args
...
)
.
Scan
(
&
create
.
ID
,
&
create
.
ID
,
&
create
.
CreatedTs
,
&
create
.
CreatedTs
,
&
create
.
UpdatedTs
,
&
create
.
UpdatedTs
,
...
...
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