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
6bb6c043
Unverified
Commit
6bb6c043
authored
Oct 09, 2023
by
Athurg Gooth
Committed by
GitHub
Oct 09, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add support for ListMemoOrganizer (#2367)
* Add support for ListMemoOrganizer * fix rows not close
parent
fa2bba51
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
28 deletions
+56
-28
memo_organizer.go
store/db/mysql/memo_organizer.go
+20
-13
memo_organizer.go
store/db/sqlite/memo_organizer.go
+20
-13
driver.go
store/driver.go
+1
-1
memo_organizer.go
store/memo_organizer.go
+15
-1
No files found.
store/db/mysql/memo_organizer.go
View file @
6bb6c043
...
@@ -16,8 +16,8 @@ func (d *DB) UpsertMemoOrganizer(ctx context.Context, upsert *store.MemoOrganize
...
@@ -16,8 +16,8 @@ func (d *DB) UpsertMemoOrganizer(ctx context.Context, upsert *store.MemoOrganize
return
upsert
,
nil
return
upsert
,
nil
}
}
func
(
d
*
DB
)
GetMemoOrganizer
(
ctx
context
.
Context
,
find
*
store
.
FindMemoOrganizer
)
(
*
store
.
MemoOrganizer
,
error
)
{
func
(
d
*
DB
)
ListMemoOrganizer
(
ctx
context
.
Context
,
find
*
store
.
FindMemoOrganizer
)
([]
*
store
.
MemoOrganizer
,
error
)
{
where
,
args
:=
[]
string
{},
[]
any
{}
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
if
find
.
MemoID
!=
0
{
if
find
.
MemoID
!=
0
{
where
=
append
(
where
,
"`memo_id` = ?"
)
where
=
append
(
where
,
"`memo_id` = ?"
)
args
=
append
(
args
,
find
.
MemoID
)
args
=
append
(
args
,
find
.
MemoID
)
...
@@ -28,24 +28,31 @@ func (d *DB) GetMemoOrganizer(ctx context.Context, find *store.FindMemoOrganizer
...
@@ -28,24 +28,31 @@ func (d *DB) GetMemoOrganizer(ctx context.Context, find *store.FindMemoOrganizer
}
}
query
:=
"SELECT `memo_id`, `user_id`, `pinned` FROM `memo_organizer` WHERE "
+
strings
.
Join
(
where
,
" AND "
)
query
:=
"SELECT `memo_id`, `user_id`, `pinned` FROM `memo_organizer` WHERE "
+
strings
.
Join
(
where
,
" AND "
)
row
:=
d
.
db
.
QueryRow
Context
(
ctx
,
query
,
args
...
)
row
s
,
err
:=
d
.
db
.
Query
Context
(
ctx
,
query
,
args
...
)
if
err
:=
row
.
Err
();
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
row
==
nil
{
defer
rows
.
Close
()
return
nil
,
nil
list
:=
[]
*
store
.
MemoOrganizer
{}
for
rows
.
Next
()
{
memoOrganizer
:=
&
store
.
MemoOrganizer
{}
if
err
:=
rows
.
Scan
(
&
memoOrganizer
.
MemoID
,
&
memoOrganizer
.
UserID
,
&
memoOrganizer
.
Pinned
,
);
err
!=
nil
{
return
nil
,
err
}
list
=
append
(
list
,
memoOrganizer
)
}
}
memoOrganizer
:=
&
store
.
MemoOrganizer
{}
if
err
:=
rows
.
Err
();
err
!=
nil
{
if
err
:=
row
.
Scan
(
&
memoOrganizer
.
MemoID
,
&
memoOrganizer
.
UserID
,
&
memoOrganizer
.
Pinned
,
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
return
memoOrganizer
,
nil
return
list
,
nil
}
}
func
(
d
*
DB
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
store
.
DeleteMemoOrganizer
)
error
{
func
(
d
*
DB
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
store
.
DeleteMemoOrganizer
)
error
{
...
...
store/db/sqlite/memo_organizer.go
View file @
6bb6c043
...
@@ -28,8 +28,8 @@ func (d *DB) UpsertMemoOrganizer(ctx context.Context, upsert *store.MemoOrganize
...
@@ -28,8 +28,8 @@ func (d *DB) UpsertMemoOrganizer(ctx context.Context, upsert *store.MemoOrganize
return
upsert
,
nil
return
upsert
,
nil
}
}
func
(
d
*
DB
)
GetMemoOrganizer
(
ctx
context
.
Context
,
find
*
store
.
FindMemoOrganizer
)
(
*
store
.
MemoOrganizer
,
error
)
{
func
(
d
*
DB
)
ListMemoOrganizer
(
ctx
context
.
Context
,
find
*
store
.
FindMemoOrganizer
)
([]
*
store
.
MemoOrganizer
,
error
)
{
where
,
args
:=
[]
string
{},
[]
any
{}
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
if
find
.
MemoID
!=
0
{
if
find
.
MemoID
!=
0
{
where
=
append
(
where
,
"memo_id = ?"
)
where
=
append
(
where
,
"memo_id = ?"
)
args
=
append
(
args
,
find
.
MemoID
)
args
=
append
(
args
,
find
.
MemoID
)
...
@@ -47,24 +47,31 @@ func (d *DB) GetMemoOrganizer(ctx context.Context, find *store.FindMemoOrganizer
...
@@ -47,24 +47,31 @@ func (d *DB) GetMemoOrganizer(ctx context.Context, find *store.FindMemoOrganizer
FROM memo_organizer
FROM memo_organizer
WHERE %s
WHERE %s
`
,
strings
.
Join
(
where
,
" AND "
))
`
,
strings
.
Join
(
where
,
" AND "
))
row
:=
d
.
db
.
QueryRow
Context
(
ctx
,
query
,
args
...
)
row
s
,
err
:=
d
.
db
.
Query
Context
(
ctx
,
query
,
args
...
)
if
err
:=
row
.
Err
();
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
row
==
nil
{
defer
rows
.
Close
()
return
nil
,
nil
list
:=
[]
*
store
.
MemoOrganizer
{}
for
rows
.
Next
()
{
memoOrganizer
:=
&
store
.
MemoOrganizer
{}
if
err
:=
rows
.
Scan
(
&
memoOrganizer
.
MemoID
,
&
memoOrganizer
.
UserID
,
&
memoOrganizer
.
Pinned
,
);
err
!=
nil
{
return
nil
,
err
}
list
=
append
(
list
,
memoOrganizer
)
}
}
memoOrganizer
:=
&
store
.
MemoOrganizer
{}
if
err
:=
rows
.
Err
();
err
!=
nil
{
if
err
:=
row
.
Scan
(
&
memoOrganizer
.
MemoID
,
&
memoOrganizer
.
UserID
,
&
memoOrganizer
.
Pinned
,
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
return
memoOrganizer
,
nil
return
list
,
nil
}
}
func
(
d
*
DB
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
store
.
DeleteMemoOrganizer
)
error
{
func
(
d
*
DB
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
store
.
DeleteMemoOrganizer
)
error
{
...
...
store/driver.go
View file @
6bb6c043
...
@@ -41,7 +41,7 @@ type Driver interface {
...
@@ -41,7 +41,7 @@ type Driver interface {
// MemoOrganizer model related methods.
// MemoOrganizer model related methods.
UpsertMemoOrganizer
(
ctx
context
.
Context
,
upsert
*
MemoOrganizer
)
(
*
MemoOrganizer
,
error
)
UpsertMemoOrganizer
(
ctx
context
.
Context
,
upsert
*
MemoOrganizer
)
(
*
MemoOrganizer
,
error
)
GetMemoOrganizer
(
ctx
context
.
Context
,
find
*
FindMemoOrganizer
)
(
*
MemoOrganizer
,
error
)
ListMemoOrganizer
(
ctx
context
.
Context
,
find
*
FindMemoOrganizer
)
([]
*
MemoOrganizer
,
error
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
DeleteMemoOrganizer
)
error
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
DeleteMemoOrganizer
)
error
// SystemSetting model related methods.
// SystemSetting model related methods.
...
...
store/memo_organizer.go
View file @
6bb6c043
...
@@ -2,6 +2,7 @@ package store
...
@@ -2,6 +2,7 @@ package store
import
(
import
(
"context"
"context"
"errors"
)
)
type
MemoOrganizer
struct
{
type
MemoOrganizer
struct
{
...
@@ -25,7 +26,20 @@ func (s *Store) UpsertMemoOrganizer(ctx context.Context, upsert *MemoOrganizer)
...
@@ -25,7 +26,20 @@ func (s *Store) UpsertMemoOrganizer(ctx context.Context, upsert *MemoOrganizer)
}
}
func
(
s
*
Store
)
GetMemoOrganizer
(
ctx
context
.
Context
,
find
*
FindMemoOrganizer
)
(
*
MemoOrganizer
,
error
)
{
func
(
s
*
Store
)
GetMemoOrganizer
(
ctx
context
.
Context
,
find
*
FindMemoOrganizer
)
(
*
MemoOrganizer
,
error
)
{
return
s
.
driver
.
GetMemoOrganizer
(
ctx
,
find
)
list
,
err
:=
s
.
ListMemoOrganizer
(
ctx
,
find
)
if
err
!=
nil
{
return
nil
,
err
}
if
len
(
list
)
==
0
{
return
nil
,
errors
.
New
(
"not found"
)
}
return
list
[
0
],
nil
}
func
(
s
*
Store
)
ListMemoOrganizer
(
ctx
context
.
Context
,
find
*
FindMemoOrganizer
)
([]
*
MemoOrganizer
,
error
)
{
return
s
.
driver
.
ListMemoOrganizer
(
ctx
,
find
)
}
}
func
(
s
*
Store
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
DeleteMemoOrganizer
)
error
{
func
(
s
*
Store
)
DeleteMemoOrganizer
(
ctx
context
.
Context
,
delete
*
DeleteMemoOrganizer
)
error
{
...
...
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