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
fd395e56
Commit
fd395e56
authored
Oct 01, 2023
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update list memo relations
parent
be046cae
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
18 deletions
+22
-18
memo.go
store/mysql/memo.go
+11
-9
memo.go
store/sqlite/memo.go
+11
-9
No files found.
store/mysql/memo.go
View file @
fd395e56
...
...
@@ -102,13 +102,11 @@ func (d *Driver) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.
GROUP_CONCAT(resource.id) AS resource_id_list,
(
SELECT
GROUP_CONCAT(related_memo_id,':',type)
GROUP_CONCAT(
memo_id,':',
related_memo_id,':',type)
FROM
memo_relation
WHERE
memo_relation.memo_id = memo.id
GROUP BY
memo_relation.memo_id
memo_relation.memo_id = memo.id OR memo_relation.related_memo_id = memo.id
) AS relation_list
FROM
memo
...
...
@@ -169,21 +167,25 @@ func (d *Driver) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.
relatedMemoTypeList
:=
strings
.
Split
(
memoRelationList
.
String
,
","
)
for
_
,
relatedMemoType
:=
range
relatedMemoTypeList
{
relatedMemoTypeList
:=
strings
.
Split
(
relatedMemoType
,
":"
)
if
len
(
relatedMemoTypeList
)
!=
2
{
if
len
(
relatedMemoTypeList
)
!=
3
{
return
nil
,
errors
.
Errorf
(
"invalid relation format"
)
}
relatedM
emoID
,
err
:=
util
.
ConvertStringToInt32
(
relatedMemoTypeList
[
0
])
m
emoID
,
err
:=
util
.
ConvertStringToInt32
(
relatedMemoTypeList
[
0
])
if
err
!=
nil
{
return
nil
,
err
}
relationType
:=
store
.
MemoRelationType
(
relatedMemoTypeList
[
1
])
relatedMemoID
,
err
:=
util
.
ConvertStringToInt32
(
relatedMemoTypeList
[
1
])
if
err
!=
nil
{
return
nil
,
err
}
relationType
:=
store
.
MemoRelationType
(
relatedMemoTypeList
[
2
])
memo
.
RelationList
=
append
(
memo
.
RelationList
,
&
store
.
MemoRelation
{
MemoID
:
memo
.
ID
,
MemoID
:
memoID
,
RelatedMemoID
:
relatedMemoID
,
Type
:
relationType
,
})
// Set the first parent ID if relation type is comment.
if
memo
.
ParentID
==
nil
&&
relationType
==
store
.
MemoRelationComment
{
if
memo
.
ParentID
==
nil
&&
memoID
==
memo
.
ID
&&
relationType
==
store
.
MemoRelationComment
{
memo
.
ParentID
=
&
relatedMemoID
}
}
...
...
store/sqlite/memo.go
View file @
fd395e56
...
...
@@ -102,13 +102,11 @@ func (d *Driver) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.
GROUP_CONCAT(resource.id) AS resource_id_list,
(
SELECT
GROUP_CONCAT(related_memo_id || ':' || type)
GROUP_CONCAT(
memo_id || ':' ||
related_memo_id || ':' || type)
FROM
memo_relation
WHERE
memo_relation.memo_id = memo.id
GROUP BY
memo_relation.memo_id
memo_relation.memo_id = memo.id OR memo_relation.related_memo_id = memo.id
) AS relation_list
FROM
memo
...
...
@@ -169,21 +167,25 @@ func (d *Driver) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.
relatedMemoTypeList
:=
strings
.
Split
(
memoRelationList
.
String
,
","
)
for
_
,
relatedMemoType
:=
range
relatedMemoTypeList
{
relatedMemoTypeList
:=
strings
.
Split
(
relatedMemoType
,
":"
)
if
len
(
relatedMemoTypeList
)
!=
2
{
if
len
(
relatedMemoTypeList
)
!=
3
{
return
nil
,
errors
.
New
(
"invalid relation format"
)
}
relatedM
emoID
,
err
:=
util
.
ConvertStringToInt32
(
relatedMemoTypeList
[
0
])
m
emoID
,
err
:=
util
.
ConvertStringToInt32
(
relatedMemoTypeList
[
0
])
if
err
!=
nil
{
return
nil
,
err
}
relationType
:=
store
.
MemoRelationType
(
relatedMemoTypeList
[
1
])
relatedMemoID
,
err
:=
util
.
ConvertStringToInt32
(
relatedMemoTypeList
[
1
])
if
err
!=
nil
{
return
nil
,
err
}
relationType
:=
store
.
MemoRelationType
(
relatedMemoTypeList
[
2
])
memo
.
RelationList
=
append
(
memo
.
RelationList
,
&
store
.
MemoRelation
{
MemoID
:
memo
.
ID
,
MemoID
:
memoID
,
RelatedMemoID
:
relatedMemoID
,
Type
:
relationType
,
})
// Set the first parent ID if relation type is comment.
if
memo
.
ParentID
==
nil
&&
relationType
==
store
.
MemoRelationComment
{
if
memo
.
ParentID
==
nil
&&
memoID
==
memo
.
ID
&&
relationType
==
store
.
MemoRelationComment
{
memo
.
ParentID
=
&
relatedMemoID
}
}
...
...
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