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
cbe27923
Unverified
Commit
cbe27923
authored
Aug 03, 2023
by
boojack
Committed by
GitHub
Aug 03, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update commands (#2074)
parent
aa26cc30
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
144 additions
and
127 deletions
+144
-127
memos.go
cmd/memos.go
+0
-123
mvrss.go
cmd/mvrss.go
+94
-0
setup.go
cmd/setup.go
+50
-4
No files found.
cmd/memos.go
View file @
cbe27923
...
@@ -7,14 +7,12 @@ import (
...
@@ -7,14 +7,12 @@ import (
"os"
"os"
"os/signal"
"os/signal"
"syscall"
"syscall"
"time"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"github.com/spf13/viper"
"github.com/spf13/viper"
"github.com/usememos/memos/server"
"github.com/usememos/memos/server"
_profile
"github.com/usememos/memos/server/profile"
_profile
"github.com/usememos/memos/server/profile"
"github.com/usememos/memos/setup"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store/db"
"github.com/usememos/memos/store/db"
)
)
...
@@ -81,110 +79,6 @@ var (
...
@@ -81,110 +79,6 @@ var (
<-
ctx
.
Done
()
<-
ctx
.
Done
()
},
},
}
}
setupCmd
=
&
cobra
.
Command
{
Use
:
"setup"
,
Short
:
"Make initial setup for memos"
,
Run
:
func
(
cmd
*
cobra
.
Command
,
_
[]
string
)
{
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
10
*
time
.
Second
)
defer
cancel
()
hostUsername
,
err
:=
cmd
.
Flags
()
.
GetString
(
setupCmdFlagHostUsername
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get owner username, error: %+v
\n
"
,
err
)
return
}
hostPassword
,
err
:=
cmd
.
Flags
()
.
GetString
(
setupCmdFlagHostPassword
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get owner password, error: %+v
\n
"
,
err
)
return
}
db
:=
db
.
NewDB
(
profile
)
if
err
:=
db
.
Open
(
ctx
);
err
!=
nil
{
fmt
.
Printf
(
"failed to open db, error: %+v
\n
"
,
err
)
return
}
store
:=
store
.
New
(
db
.
DBInstance
,
profile
)
if
err
:=
setup
.
Execute
(
ctx
,
store
,
hostUsername
,
hostPassword
);
err
!=
nil
{
fmt
.
Printf
(
"failed to setup, error: %+v
\n
"
,
err
)
return
}
},
}
mvrssCmd
=
&
cobra
.
Command
{
Use
:
"mvrss"
,
// `mvrss` is a shortened for 'means move resource'
Short
:
"Move resource between storage"
,
Run
:
func
(
cmd
*
cobra
.
Command
,
_
[]
string
)
{
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
10
*
time
.
Second
)
defer
cancel
()
from
,
err
:=
cmd
.
Flags
()
.
GetString
(
mvrssCmdFlagFrom
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get from storage, error: %+v
\n
"
,
err
)
return
}
to
,
err
:=
cmd
.
Flags
()
.
GetString
(
mvrssCmdFlagTo
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get to storage, error: %+v
\n
"
,
err
)
return
}
if
from
!=
"local"
||
to
!=
"db"
{
fmt
.
Printf
(
"only local=>db be supported currently
\n
"
)
return
}
db
:=
db
.
NewDB
(
profile
)
if
err
:=
db
.
Open
(
ctx
);
err
!=
nil
{
fmt
.
Printf
(
"failed to open db, error: %+v
\n
"
,
err
)
return
}
s
:=
store
.
New
(
db
.
DBInstance
,
profile
)
resources
,
err
:=
s
.
ListResources
(
ctx
,
&
store
.
FindResource
{})
if
err
!=
nil
{
fmt
.
Printf
(
"failed to list resources, error: %+v
\n
"
,
err
)
return
}
var
emptyString
string
for
_
,
res
:=
range
resources
{
if
res
.
InternalPath
==
""
{
continue
}
buf
,
err
:=
os
.
ReadFile
(
res
.
InternalPath
)
if
err
!=
nil
{
fmt
.
Printf
(
"Resource %5d failed to read file: %s
\n
"
,
res
.
ID
,
err
)
continue
}
if
len
(
buf
)
!=
int
(
res
.
Size
)
{
fmt
.
Printf
(
"Resource %5d size of file %d != %d
\n
"
,
res
.
ID
,
len
(
buf
),
res
.
Size
)
continue
}
update
:=
store
.
UpdateResource
{
ID
:
res
.
ID
,
Blob
:
buf
,
InternalPath
:
&
emptyString
,
}
_
,
err
=
s
.
UpdateResource
(
ctx
,
&
update
)
if
err
!=
nil
{
fmt
.
Printf
(
"Resource %5d failed to update: %s
\n
"
,
res
.
ID
,
err
)
continue
}
fmt
.
Printf
(
"Resource %5d copy %12d bytes from %s
\n
"
,
res
.
ID
,
len
(
buf
),
res
.
InternalPath
)
}
fmt
.
Println
(
"done"
)
},
}
)
)
func
Execute
()
error
{
func
Execute
()
error
{
...
@@ -214,16 +108,6 @@ func init() {
...
@@ -214,16 +108,6 @@ func init() {
viper
.
SetDefault
(
"mode"
,
"demo"
)
viper
.
SetDefault
(
"mode"
,
"demo"
)
viper
.
SetDefault
(
"port"
,
8081
)
viper
.
SetDefault
(
"port"
,
8081
)
viper
.
SetEnvPrefix
(
"memos"
)
viper
.
SetEnvPrefix
(
"memos"
)
setupCmd
.
Flags
()
.
String
(
setupCmdFlagHostUsername
,
""
,
"Owner username"
)
setupCmd
.
Flags
()
.
String
(
setupCmdFlagHostPassword
,
""
,
"Owner password"
)
rootCmd
.
AddCommand
(
setupCmd
)
mvrssCmd
.
Flags
()
.
String
(
mvrssCmdFlagFrom
,
"local"
,
"From storage"
)
mvrssCmd
.
Flags
()
.
String
(
mvrssCmdFlagTo
,
"db"
,
"To Storage"
)
rootCmd
.
AddCommand
(
mvrssCmd
)
}
}
func
initConfig
()
{
func
initConfig
()
{
...
@@ -243,10 +127,3 @@ func initConfig() {
...
@@ -243,10 +127,3 @@ func initConfig() {
println
(
"version:"
,
profile
.
Version
)
println
(
"version:"
,
profile
.
Version
)
println
(
"---"
)
println
(
"---"
)
}
}
const
(
setupCmdFlagHostUsername
=
"host-username"
setupCmdFlagHostPassword
=
"host-password"
mvrssCmdFlagFrom
=
"from"
mvrssCmdFlagTo
=
"to"
)
cmd/mvrss.go
0 → 100644
View file @
cbe27923
package
cmd
import
(
"context"
"fmt"
"os"
"time"
"github.com/spf13/cobra"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store/db"
)
var
(
mvrssCmdFlagFrom
=
"from"
mvrssCmdFlagTo
=
"to"
mvrssCmd
=
&
cobra
.
Command
{
Use
:
"mvrss"
,
// `mvrss` is a shortened for 'means move resource'
Short
:
"Move resource between storage"
,
Run
:
func
(
cmd
*
cobra
.
Command
,
_
[]
string
)
{
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
10
*
time
.
Second
)
defer
cancel
()
from
,
err
:=
cmd
.
Flags
()
.
GetString
(
mvrssCmdFlagFrom
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get from storage, error: %+v
\n
"
,
err
)
return
}
to
,
err
:=
cmd
.
Flags
()
.
GetString
(
mvrssCmdFlagTo
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get to storage, error: %+v
\n
"
,
err
)
return
}
if
from
!=
"local"
||
to
!=
"db"
{
fmt
.
Printf
(
"only local=>db be supported currently
\n
"
)
return
}
db
:=
db
.
NewDB
(
profile
)
if
err
:=
db
.
Open
(
ctx
);
err
!=
nil
{
fmt
.
Printf
(
"failed to open db, error: %+v
\n
"
,
err
)
return
}
s
:=
store
.
New
(
db
.
DBInstance
,
profile
)
resources
,
err
:=
s
.
ListResources
(
ctx
,
&
store
.
FindResource
{})
if
err
!=
nil
{
fmt
.
Printf
(
"failed to list resources, error: %+v
\n
"
,
err
)
return
}
var
emptyString
string
for
_
,
res
:=
range
resources
{
if
res
.
InternalPath
==
""
{
continue
}
buf
,
err
:=
os
.
ReadFile
(
res
.
InternalPath
)
if
err
!=
nil
{
fmt
.
Printf
(
"Resource %5d failed to read file: %s
\n
"
,
res
.
ID
,
err
)
continue
}
if
len
(
buf
)
!=
int
(
res
.
Size
)
{
fmt
.
Printf
(
"Resource %5d size of file %d != %d
\n
"
,
res
.
ID
,
len
(
buf
),
res
.
Size
)
continue
}
update
:=
store
.
UpdateResource
{
ID
:
res
.
ID
,
Blob
:
buf
,
InternalPath
:
&
emptyString
,
}
_
,
err
=
s
.
UpdateResource
(
ctx
,
&
update
)
if
err
!=
nil
{
fmt
.
Printf
(
"Resource %5d failed to update: %s
\n
"
,
res
.
ID
,
err
)
continue
}
fmt
.
Printf
(
"Resource %5d copy %12d bytes from %s
\n
"
,
res
.
ID
,
len
(
buf
),
res
.
InternalPath
)
}
fmt
.
Println
(
"done"
)
},
}
)
func
init
()
{
mvrssCmd
.
Flags
()
.
String
(
mvrssCmdFlagFrom
,
"local"
,
"From storage"
)
mvrssCmd
.
Flags
()
.
String
(
mvrssCmdFlagTo
,
"db"
,
"To Storage"
)
rootCmd
.
AddCommand
(
mvrssCmd
)
}
setup
/setup.go
→
cmd
/setup.go
View file @
cbe27923
package
setup
package
cmd
import
(
import
(
"context"
"context"
"errors"
"errors"
"fmt"
"fmt"
"time"
"golang.org/x/crypto/bcrypt"
"github.com/spf13/cobra"
"github.com/usememos/memos/common/util"
"github.com/usememos/memos/common/util"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store/db"
"golang.org/x/crypto/bcrypt"
)
)
func
Execute
(
ctx
context
.
Context
,
store
*
store
.
Store
,
hostUsername
,
hostPassword
string
)
error
{
var
(
setupCmdFlagHostUsername
=
"host-username"
setupCmdFlagHostPassword
=
"host-password"
setupCmd
=
&
cobra
.
Command
{
Use
:
"setup"
,
Short
:
"Make initial setup for memos"
,
Run
:
func
(
cmd
*
cobra
.
Command
,
_
[]
string
)
{
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
10
*
time
.
Second
)
defer
cancel
()
hostUsername
,
err
:=
cmd
.
Flags
()
.
GetString
(
setupCmdFlagHostUsername
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get owner username, error: %+v
\n
"
,
err
)
return
}
hostPassword
,
err
:=
cmd
.
Flags
()
.
GetString
(
setupCmdFlagHostPassword
)
if
err
!=
nil
{
fmt
.
Printf
(
"failed to get owner password, error: %+v
\n
"
,
err
)
return
}
db
:=
db
.
NewDB
(
profile
)
if
err
:=
db
.
Open
(
ctx
);
err
!=
nil
{
fmt
.
Printf
(
"failed to open db, error: %+v
\n
"
,
err
)
return
}
store
:=
store
.
New
(
db
.
DBInstance
,
profile
)
if
err
:=
ExecuteSetup
(
ctx
,
store
,
hostUsername
,
hostPassword
);
err
!=
nil
{
fmt
.
Printf
(
"failed to setup, error: %+v
\n
"
,
err
)
return
}
},
}
)
func
init
()
{
setupCmd
.
Flags
()
.
String
(
setupCmdFlagHostUsername
,
""
,
"Owner username"
)
setupCmd
.
Flags
()
.
String
(
setupCmdFlagHostPassword
,
""
,
"Owner password"
)
rootCmd
.
AddCommand
(
setupCmd
)
}
func
ExecuteSetup
(
ctx
context
.
Context
,
store
*
store
.
Store
,
hostUsername
,
hostPassword
string
)
error
{
s
:=
setupService
{
store
:
store
}
s
:=
setupService
{
store
:
store
}
return
s
.
Setup
(
ctx
,
hostUsername
,
hostPassword
)
return
s
.
Setup
(
ctx
,
hostUsername
,
hostPassword
)
}
}
...
...
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