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
292861be
Commit
292861be
authored
May 08, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: retire tag store
parent
d0655ece
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
0 additions
and
289 deletions
+0
-289
tag.go
store/db/mysql/tag.go
+0
-64
tag.go
store/db/postgres/tag.go
+0
-70
tag.go
store/db/sqlite/tag.go
+0
-80
driver.go
store/driver.go
+0
-5
tag.go
store/tag.go
+0
-31
tag_test.go
test/store/tag_test.go
+0
-39
No files found.
store/db/mysql/tag.go
deleted
100644 → 0
View file @
d0655ece
package
mysql
import
(
"context"
"strings"
"github.com/usememos/memos/store"
)
func
(
d
*
DB
)
UpsertTag
(
ctx
context
.
Context
,
upsert
*
store
.
Tag
)
(
*
store
.
Tag
,
error
)
{
stmt
:=
"INSERT INTO `tag` (`name`, `creator_id`) VALUES (?, ?) ON DUPLICATE KEY UPDATE `name` = ?"
if
_
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
upsert
.
Name
,
upsert
.
CreatorID
,
upsert
.
Name
);
err
!=
nil
{
return
nil
,
err
}
return
upsert
,
nil
}
func
(
d
*
DB
)
ListTags
(
ctx
context
.
Context
,
find
*
store
.
FindTag
)
([]
*
store
.
Tag
,
error
)
{
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
if
find
.
CreatorID
!=
0
{
where
,
args
=
append
(
where
,
"`creator_id` = ?"
),
append
(
args
,
find
.
CreatorID
)
}
query
:=
"SELECT `name`, `creator_id` FROM `tag` WHERE "
+
strings
.
Join
(
where
,
" AND "
)
+
" ORDER BY name ASC"
rows
,
err
:=
d
.
db
.
QueryContext
(
ctx
,
query
,
args
...
)
if
err
!=
nil
{
return
nil
,
err
}
defer
rows
.
Close
()
list
:=
[]
*
store
.
Tag
{}
for
rows
.
Next
()
{
tag
:=
&
store
.
Tag
{}
if
err
:=
rows
.
Scan
(
&
tag
.
Name
,
&
tag
.
CreatorID
,
);
err
!=
nil
{
return
nil
,
err
}
list
=
append
(
list
,
tag
)
}
if
err
:=
rows
.
Err
();
err
!=
nil
{
return
nil
,
err
}
return
list
,
nil
}
func
(
d
*
DB
)
DeleteTag
(
ctx
context
.
Context
,
delete
*
store
.
DeleteTag
)
error
{
where
,
args
:=
[]
string
{
"`name` = ?"
,
"`creator_id` = ?"
},
[]
any
{
delete
.
Name
,
delete
.
CreatorID
}
stmt
:=
"DELETE FROM `tag` WHERE "
+
strings
.
Join
(
where
,
" AND "
)
result
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
args
...
)
if
err
!=
nil
{
return
err
}
if
_
,
err
=
result
.
RowsAffected
();
err
!=
nil
{
return
err
}
return
nil
}
store/db/postgres/tag.go
deleted
100644 → 0
View file @
d0655ece
package
postgres
import
(
"context"
"strings"
"github.com/usememos/memos/store"
)
func
(
d
*
DB
)
UpsertTag
(
ctx
context
.
Context
,
upsert
*
store
.
Tag
)
(
*
store
.
Tag
,
error
)
{
stmt
:=
"INSERT INTO tag (name, creator_id) VALUES ($1, $2) ON CONFLICT (name, creator_id) DO UPDATE SET name = $3"
if
_
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
upsert
.
Name
,
upsert
.
CreatorID
,
upsert
.
Name
);
err
!=
nil
{
return
nil
,
err
}
return
upsert
,
nil
}
func
(
d
*
DB
)
ListTags
(
ctx
context
.
Context
,
find
*
store
.
FindTag
)
([]
*
store
.
Tag
,
error
)
{
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
if
find
.
CreatorID
!=
0
{
where
,
args
=
append
(
where
,
"creator_id = "
+
placeholder
(
len
(
args
)
+
1
)),
append
(
args
,
find
.
CreatorID
)
}
query
:=
`
SELECT
name,
creator_id
FROM tag
WHERE `
+
strings
.
Join
(
where
,
" AND "
)
+
`
ORDER BY name ASC
`
rows
,
err
:=
d
.
db
.
QueryContext
(
ctx
,
query
,
args
...
)
if
err
!=
nil
{
return
nil
,
err
}
defer
rows
.
Close
()
list
:=
[]
*
store
.
Tag
{}
for
rows
.
Next
()
{
tag
:=
&
store
.
Tag
{}
if
err
:=
rows
.
Scan
(
&
tag
.
Name
,
&
tag
.
CreatorID
,
);
err
!=
nil
{
return
nil
,
err
}
list
=
append
(
list
,
tag
)
}
if
err
:=
rows
.
Err
();
err
!=
nil
{
return
nil
,
err
}
return
list
,
nil
}
func
(
d
*
DB
)
DeleteTag
(
ctx
context
.
Context
,
delete
*
store
.
DeleteTag
)
error
{
where
,
args
:=
[]
string
{
"name = $1"
,
"creator_id = $2"
},
[]
any
{
delete
.
Name
,
delete
.
CreatorID
}
stmt
:=
`DELETE FROM tag WHERE `
+
strings
.
Join
(
where
,
" AND "
)
result
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
args
...
)
if
err
!=
nil
{
return
err
}
if
_
,
err
=
result
.
RowsAffected
();
err
!=
nil
{
return
err
}
return
nil
}
store/db/sqlite/tag.go
deleted
100644 → 0
View file @
d0655ece
package
sqlite
import
(
"context"
"strings"
"github.com/usememos/memos/store"
)
func
(
d
*
DB
)
UpsertTag
(
ctx
context
.
Context
,
upsert
*
store
.
Tag
)
(
*
store
.
Tag
,
error
)
{
stmt
:=
`
INSERT INTO tag (
name, creator_id
)
VALUES (?, ?)
ON CONFLICT(name, creator_id) DO UPDATE
SET
name = EXCLUDED.name
`
if
_
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
upsert
.
Name
,
upsert
.
CreatorID
);
err
!=
nil
{
return
nil
,
err
}
tag
:=
upsert
return
tag
,
nil
}
func
(
d
*
DB
)
ListTags
(
ctx
context
.
Context
,
find
*
store
.
FindTag
)
([]
*
store
.
Tag
,
error
)
{
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
if
find
.
CreatorID
!=
0
{
where
,
args
=
append
(
where
,
"`creator_id` = ?"
),
append
(
args
,
find
.
CreatorID
)
}
query
:=
`
SELECT
name,
creator_id
FROM tag
WHERE `
+
strings
.
Join
(
where
,
" AND "
)
+
`
ORDER BY name ASC
`
rows
,
err
:=
d
.
db
.
QueryContext
(
ctx
,
query
,
args
...
)
if
err
!=
nil
{
return
nil
,
err
}
defer
rows
.
Close
()
list
:=
[]
*
store
.
Tag
{}
for
rows
.
Next
()
{
tag
:=
&
store
.
Tag
{}
if
err
:=
rows
.
Scan
(
&
tag
.
Name
,
&
tag
.
CreatorID
,
);
err
!=
nil
{
return
nil
,
err
}
list
=
append
(
list
,
tag
)
}
if
err
:=
rows
.
Err
();
err
!=
nil
{
return
nil
,
err
}
return
list
,
nil
}
func
(
d
*
DB
)
DeleteTag
(
ctx
context
.
Context
,
delete
*
store
.
DeleteTag
)
error
{
where
,
args
:=
[]
string
{
"name = ?"
,
"creator_id = ?"
},
[]
any
{
delete
.
Name
,
delete
.
CreatorID
}
stmt
:=
`DELETE FROM tag WHERE `
+
strings
.
Join
(
where
,
" AND "
)
result
,
err
:=
d
.
db
.
ExecContext
(
ctx
,
stmt
,
args
...
)
if
err
!=
nil
{
return
err
}
if
_
,
err
=
result
.
RowsAffected
();
err
!=
nil
{
return
err
}
return
nil
}
store/driver.go
View file @
292861be
...
@@ -67,11 +67,6 @@ type Driver interface {
...
@@ -67,11 +67,6 @@ type Driver interface {
UpdateIdentityProvider
(
ctx
context
.
Context
,
update
*
UpdateIdentityProvider
)
(
*
IdentityProvider
,
error
)
UpdateIdentityProvider
(
ctx
context
.
Context
,
update
*
UpdateIdentityProvider
)
(
*
IdentityProvider
,
error
)
DeleteIdentityProvider
(
ctx
context
.
Context
,
delete
*
DeleteIdentityProvider
)
error
DeleteIdentityProvider
(
ctx
context
.
Context
,
delete
*
DeleteIdentityProvider
)
error
// Tag model related methods.
UpsertTag
(
ctx
context
.
Context
,
upsert
*
Tag
)
(
*
Tag
,
error
)
ListTags
(
ctx
context
.
Context
,
find
*
FindTag
)
([]
*
Tag
,
error
)
DeleteTag
(
ctx
context
.
Context
,
delete
*
DeleteTag
)
error
// Inbox model related methods.
// Inbox model related methods.
CreateInbox
(
ctx
context
.
Context
,
create
*
Inbox
)
(
*
Inbox
,
error
)
CreateInbox
(
ctx
context
.
Context
,
create
*
Inbox
)
(
*
Inbox
,
error
)
ListInboxes
(
ctx
context
.
Context
,
find
*
FindInbox
)
([]
*
Inbox
,
error
)
ListInboxes
(
ctx
context
.
Context
,
find
*
FindInbox
)
([]
*
Inbox
,
error
)
...
...
store/tag.go
deleted
100644 → 0
View file @
d0655ece
package
store
import
(
"context"
)
type
Tag
struct
{
Name
string
CreatorID
int32
}
type
FindTag
struct
{
CreatorID
int32
}
type
DeleteTag
struct
{
Name
string
CreatorID
int32
}
func
(
s
*
Store
)
UpsertTag
(
ctx
context
.
Context
,
upsert
*
Tag
)
(
*
Tag
,
error
)
{
return
s
.
driver
.
UpsertTag
(
ctx
,
upsert
)
}
func
(
s
*
Store
)
ListTags
(
ctx
context
.
Context
,
find
*
FindTag
)
([]
*
Tag
,
error
)
{
return
s
.
driver
.
ListTags
(
ctx
,
find
)
}
func
(
s
*
Store
)
DeleteTag
(
ctx
context
.
Context
,
delete
*
DeleteTag
)
error
{
return
s
.
driver
.
DeleteTag
(
ctx
,
delete
)
}
test/store/tag_test.go
deleted
100644 → 0
View file @
d0655ece
package
teststore
import
(
"context"
"testing"
"github.com/stretchr/testify/require"
"github.com/usememos/memos/store"
)
func
TestTagStore
(
t
*
testing
.
T
)
{
ctx
:=
context
.
Background
()
ts
:=
NewTestingStore
(
ctx
,
t
)
user
,
err
:=
createTestingHostUser
(
ctx
,
ts
)
require
.
NoError
(
t
,
err
)
tag
,
err
:=
ts
.
UpsertTag
(
ctx
,
&
store
.
Tag
{
CreatorID
:
user
.
ID
,
Name
:
"test_tag"
,
})
require
.
NoError
(
t
,
err
)
require
.
Equal
(
t
,
"test_tag"
,
tag
.
Name
)
require
.
Equal
(
t
,
user
.
ID
,
tag
.
CreatorID
)
tags
,
err
:=
ts
.
ListTags
(
ctx
,
&
store
.
FindTag
{
CreatorID
:
user
.
ID
,
})
require
.
NoError
(
t
,
err
)
require
.
Equal
(
t
,
1
,
len
(
tags
))
require
.
Equal
(
t
,
tag
,
tags
[
0
])
err
=
ts
.
DeleteTag
(
ctx
,
&
store
.
DeleteTag
{
Name
:
"test_tag"
,
CreatorID
:
user
.
ID
,
})
require
.
NoError
(
t
,
err
)
tags
,
err
=
ts
.
ListTags
(
ctx
,
&
store
.
FindTag
{})
require
.
NoError
(
t
,
err
)
require
.
Equal
(
t
,
0
,
len
(
tags
))
ts
.
Close
()
}
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