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
1d7627dd
Unverified
Commit
1d7627dd
authored
May 20, 2023
by
boojack
Committed by
GitHub
May 20, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: upgrade version `0.13.0` (#1685)
* chore: upgrade version `0.13.0` * chore: update
parent
d80aa67c
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
81 additions
and
62 deletions
+81
-62
build-artifacts.yml
.github/workflows/build-artifacts.yml
+4
-3
memo_organizer.go
api/memo_organizer.go
+0
-2
memo.go
server/memo.go
+32
-36
version.go
server/version/version.go
+2
-2
LATEST__SCHEMA.sql
store/db/migration/dev/LATEST__SCHEMA.sql
+0
-1
00__memo_relation.sql
store/db/migration/prod/0.13/00__memo_relation.sql
+7
-0
01__remove_memo_organizer_id.sql
...e/db/migration/prod/0.13/01__remove_memo_organizer_id.sql
+22
-0
LATEST__SCHEMA.sql
store/db/migration/prod/LATEST__SCHEMA.sql
+8
-1
memo.go
store/memo.go
+2
-4
memo_organizer.go
store/memo_organizer.go
+1
-8
store.go
store/store.go
+3
-5
No files found.
.github/workflows/build-artifacts.yml
View file @
1d7627dd
name
:
Memos Build
name
:
build-artifacts
on
:
on
:
push
:
push
:
branches
:
branches
:
-
main
# Run on pushing branches like `release/1.0.0`
-
"
release/*.*.*"
jobs
:
jobs
:
build
:
build
-artifacts
:
runs-on
:
${{ matrix.os }}
runs-on
:
${{ matrix.os }}
strategy
:
strategy
:
matrix
:
matrix
:
...
...
api/memo_organizer.go
View file @
1d7627dd
package
api
package
api
type
MemoOrganizer
struct
{
type
MemoOrganizer
struct
{
ID
int
// Domain specific fields
// Domain specific fields
MemoID
int
MemoID
int
UserID
int
UserID
int
...
...
server/memo.go
View file @
1d7627dd
...
@@ -102,7 +102,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
...
@@ -102,7 +102,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
}
}
}
}
if
s
.
Profile
.
IsDev
()
{
for
_
,
memoRelationUpsert
:=
range
memoCreate
.
RelationList
{
for
_
,
memoRelationUpsert
:=
range
memoCreate
.
RelationList
{
if
_
,
err
:=
s
.
Store
.
UpsertMemoRelation
(
ctx
,
&
store
.
MemoRelationMessage
{
if
_
,
err
:=
s
.
Store
.
UpsertMemoRelation
(
ctx
,
&
store
.
MemoRelationMessage
{
MemoID
:
memo
.
ID
,
MemoID
:
memo
.
ID
,
...
@@ -112,7 +111,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
...
@@ -112,7 +111,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
return
echo
.
NewHTTPError
(
http
.
StatusInternalServerError
,
"Failed to upsert memo relation"
)
.
SetInternal
(
err
)
return
echo
.
NewHTTPError
(
http
.
StatusInternalServerError
,
"Failed to upsert memo relation"
)
.
SetInternal
(
err
)
}
}
}
}
}
memo
,
err
=
s
.
Store
.
ComposeMemo
(
ctx
,
memo
)
memo
,
err
=
s
.
Store
.
ComposeMemo
(
ctx
,
memo
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -187,7 +185,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
...
@@ -187,7 +185,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
}
}
}
}
if
s
.
Profile
.
IsDev
()
{
patchMemoRelationList
:=
make
([]
*
api
.
MemoRelation
,
0
)
patchMemoRelationList
:=
make
([]
*
api
.
MemoRelation
,
0
)
for
_
,
memoRelationUpsert
:=
range
memoPatch
.
RelationList
{
for
_
,
memoRelationUpsert
:=
range
memoPatch
.
RelationList
{
patchMemoRelationList
=
append
(
patchMemoRelationList
,
&
api
.
MemoRelation
{
patchMemoRelationList
=
append
(
patchMemoRelationList
,
&
api
.
MemoRelation
{
...
@@ -216,7 +213,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
...
@@ -216,7 +213,6 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
return
echo
.
NewHTTPError
(
http
.
StatusInternalServerError
,
"Failed to delete memo relation"
)
.
SetInternal
(
err
)
return
echo
.
NewHTTPError
(
http
.
StatusInternalServerError
,
"Failed to delete memo relation"
)
.
SetInternal
(
err
)
}
}
}
}
}
// After patching memo resources and relations, we need to re-compose it to get the latest data.
// After patching memo resources and relations, we need to re-compose it to get the latest data.
memo
,
err
=
s
.
Store
.
ComposeMemo
(
ctx
,
memo
)
memo
,
err
=
s
.
Store
.
ComposeMemo
(
ctx
,
memo
)
...
...
server/version/version.go
View file @
1d7627dd
...
@@ -9,10 +9,10 @@ import (
...
@@ -9,10 +9,10 @@ import (
// Version is the service current released version.
// Version is the service current released version.
// Semantic versioning: https://semver.org/
// Semantic versioning: https://semver.org/
var
Version
=
"0.1
2.2
"
var
Version
=
"0.1
3.0
"
// DevVersion is the service current development version.
// DevVersion is the service current development version.
var
DevVersion
=
"0.1
2.2
"
var
DevVersion
=
"0.1
3.0
"
func
GetCurrentVersion
(
mode
string
)
string
{
func
GetCurrentVersion
(
mode
string
)
string
{
if
mode
==
"dev"
||
mode
==
"demo"
{
if
mode
==
"dev"
||
mode
==
"demo"
{
...
...
store/db/migration/dev/LATEST__SCHEMA.sql
View file @
1d7627dd
...
@@ -48,7 +48,6 @@ CREATE TABLE memo (
...
@@ -48,7 +48,6 @@ CREATE TABLE memo (
-- memo_organizer
-- memo_organizer
CREATE
TABLE
memo_organizer
(
CREATE
TABLE
memo_organizer
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
memo_id
INTEGER
NOT
NULL
,
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
...
...
store/db/migration/prod/0.13/00__memo_relation.sql
0 → 100644
View file @
1d7627dd
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
\ No newline at end of file
store/db/migration/prod/0.13/01__remove_memo_organizer_id.sql
0 → 100644
View file @
1d7627dd
DROP
TABLE
IF
EXISTS
memo_organizer_temp
;
CREATE
TABLE
memo_organizer_temp
(
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
UNIQUE
(
memo_id
,
user_id
)
);
INSERT
INTO
memo_organizer_temp
(
memo_id
,
user_id
,
pinned
)
SELECT
memo_id
,
user_id
,
pinned
FROM
memo_organizer
;
DROP
TABLE
memo_organizer
;
ALTER
TABLE
memo_organizer_temp
RENAME
TO
memo_organizer
;
\ No newline at end of file
store/db/migration/prod/LATEST__SCHEMA.sql
View file @
1d7627dd
...
@@ -48,7 +48,6 @@ CREATE TABLE memo (
...
@@ -48,7 +48,6 @@ CREATE TABLE memo (
-- memo_organizer
-- memo_organizer
CREATE
TABLE
memo_organizer
(
CREATE
TABLE
memo_organizer
(
id
INTEGER
PRIMARY
KEY
AUTOINCREMENT
,
memo_id
INTEGER
NOT
NULL
,
memo_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
user_id
INTEGER
NOT
NULL
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
pinned
INTEGER
NOT
NULL
CHECK
(
pinned
IN
(
0
,
1
))
DEFAULT
0
,
...
@@ -124,3 +123,11 @@ CREATE TABLE idp (
...
@@ -124,3 +123,11 @@ CREATE TABLE idp (
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
identifier_filter
TEXT
NOT
NULL
DEFAULT
''
,
config
TEXT
NOT
NULL
DEFAULT
'{}'
config
TEXT
NOT
NULL
DEFAULT
'{}'
);
);
-- memo_relation
CREATE
TABLE
memo_relation
(
memo_id
INTEGER
NOT
NULL
,
related_memo_id
INTEGER
NOT
NULL
,
type
TEXT
NOT
NULL
,
UNIQUE
(
memo_id
,
related_memo_id
,
type
)
);
\ No newline at end of file
store/memo.go
View file @
1d7627dd
...
@@ -55,11 +55,9 @@ func (s *Store) ComposeMemo(ctx context.Context, memo *api.Memo) (*api.Memo, err
...
@@ -55,11 +55,9 @@ func (s *Store) ComposeMemo(ctx context.Context, memo *api.Memo) (*api.Memo, err
if
err
:=
s
.
ComposeMemoResourceList
(
ctx
,
memo
);
err
!=
nil
{
if
err
:=
s
.
ComposeMemoResourceList
(
ctx
,
memo
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
if
s
.
Profile
.
IsDev
()
{
if
err
:=
s
.
ComposeMemoRelationList
(
ctx
,
memo
);
err
!=
nil
{
if
err
:=
s
.
ComposeMemoRelationList
(
ctx
,
memo
);
err
!=
nil
{
return
nil
,
err
return
nil
,
err
}
}
}
return
memo
,
nil
return
memo
,
nil
}
}
...
...
store/memo_organizer.go
View file @
1d7627dd
...
@@ -13,8 +13,6 @@ import (
...
@@ -13,8 +13,6 @@ import (
// memoOrganizerRaw is the store model for an MemoOrganizer.
// memoOrganizerRaw is the store model for an MemoOrganizer.
// Fields have exactly the same meanings as MemoOrganizer.
// Fields have exactly the same meanings as MemoOrganizer.
type
memoOrganizerRaw
struct
{
type
memoOrganizerRaw
struct
{
ID
int
// Domain specific fields
// Domain specific fields
MemoID
int
MemoID
int
UserID
int
UserID
int
...
@@ -23,8 +21,6 @@ type memoOrganizerRaw struct {
...
@@ -23,8 +21,6 @@ type memoOrganizerRaw struct {
func
(
raw
*
memoOrganizerRaw
)
toMemoOrganizer
()
*
api
.
MemoOrganizer
{
func
(
raw
*
memoOrganizerRaw
)
toMemoOrganizer
()
*
api
.
MemoOrganizer
{
return
&
api
.
MemoOrganizer
{
return
&
api
.
MemoOrganizer
{
ID
:
raw
.
ID
,
MemoID
:
raw
.
MemoID
,
MemoID
:
raw
.
MemoID
,
UserID
:
raw
.
UserID
,
UserID
:
raw
.
UserID
,
Pinned
:
raw
.
Pinned
,
Pinned
:
raw
.
Pinned
,
...
@@ -87,7 +83,6 @@ func (s *Store) DeleteMemoOrganizer(ctx context.Context, delete *api.MemoOrganiz
...
@@ -87,7 +83,6 @@ func (s *Store) DeleteMemoOrganizer(ctx context.Context, delete *api.MemoOrganiz
func
findMemoOrganizer
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
,
find
*
api
.
MemoOrganizerFind
)
(
*
memoOrganizerRaw
,
error
)
{
func
findMemoOrganizer
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
,
find
*
api
.
MemoOrganizerFind
)
(
*
memoOrganizerRaw
,
error
)
{
query
:=
`
query
:=
`
SELECT
SELECT
id,
memo_id,
memo_id,
user_id,
user_id,
pinned
pinned
...
@@ -106,7 +101,6 @@ func findMemoOrganizer(ctx context.Context, tx *sql.Tx, find *api.MemoOrganizerF
...
@@ -106,7 +101,6 @@ func findMemoOrganizer(ctx context.Context, tx *sql.Tx, find *api.MemoOrganizerF
var
memoOrganizerRaw
memoOrganizerRaw
var
memoOrganizerRaw
memoOrganizerRaw
if
err
:=
row
.
Scan
(
if
err
:=
row
.
Scan
(
&
memoOrganizerRaw
.
ID
,
&
memoOrganizerRaw
.
MemoID
,
&
memoOrganizerRaw
.
MemoID
,
&
memoOrganizerRaw
.
UserID
,
&
memoOrganizerRaw
.
UserID
,
&
memoOrganizerRaw
.
Pinned
,
&
memoOrganizerRaw
.
Pinned
,
...
@@ -132,11 +126,10 @@ func upsertMemoOrganizer(ctx context.Context, tx *sql.Tx, upsert *api.MemoOrgani
...
@@ -132,11 +126,10 @@ func upsertMemoOrganizer(ctx context.Context, tx *sql.Tx, upsert *api.MemoOrgani
ON CONFLICT(memo_id, user_id) DO UPDATE
ON CONFLICT(memo_id, user_id) DO UPDATE
SET
SET
pinned = EXCLUDED.pinned
pinned = EXCLUDED.pinned
RETURNING
id,
memo_id, user_id, pinned
RETURNING memo_id, user_id, pinned
`
`
var
memoOrganizer
api
.
MemoOrganizer
var
memoOrganizer
api
.
MemoOrganizer
if
err
:=
tx
.
QueryRowContext
(
ctx
,
query
,
upsert
.
MemoID
,
upsert
.
UserID
,
upsert
.
Pinned
)
.
Scan
(
if
err
:=
tx
.
QueryRowContext
(
ctx
,
query
,
upsert
.
MemoID
,
upsert
.
UserID
,
upsert
.
Pinned
)
.
Scan
(
&
memoOrganizer
.
ID
,
&
memoOrganizer
.
MemoID
,
&
memoOrganizer
.
MemoID
,
&
memoOrganizer
.
UserID
,
&
memoOrganizer
.
UserID
,
&
memoOrganizer
.
Pinned
,
&
memoOrganizer
.
Pinned
,
...
...
store/store.go
View file @
1d7627dd
...
@@ -51,7 +51,7 @@ func (s *Store) Vacuum(ctx context.Context) error {
...
@@ -51,7 +51,7 @@ func (s *Store) Vacuum(ctx context.Context) error {
return
nil
return
nil
}
}
func
(
s
*
Store
)
vacuumImpl
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
)
error
{
func
(
*
Store
)
vacuumImpl
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
)
error
{
if
err
:=
vacuumMemo
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumMemo
(
ctx
,
tx
);
err
!=
nil
{
return
err
return
err
}
}
...
@@ -70,11 +70,9 @@ func (s *Store) vacuumImpl(ctx context.Context, tx *sql.Tx) error {
...
@@ -70,11 +70,9 @@ func (s *Store) vacuumImpl(ctx context.Context, tx *sql.Tx) error {
if
err
:=
vacuumMemoResource
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumMemoResource
(
ctx
,
tx
);
err
!=
nil
{
return
err
return
err
}
}
if
s
.
Profile
.
IsDev
()
{
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
return
err
return
err
}
}
}
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
// Prevent revive warning.
// Prevent revive warning.
return
err
return
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