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
a620d140
Commit
a620d140
authored
Jan 21, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update embedded content renderers
parent
370054e0
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
512 additions
and
140 deletions
+512
-140
resource_service.go
api/v2/resource_service.go
+17
-1
embedded_content_test.go
plugin/gomark/parser/embedded_content_test.go
+7
-0
resource_service.proto
proto/api/v2/resource_service.proto
+12
-0
README.md
proto/gen/api/v2/README.md
+33
-0
resource_service.pb.go
proto/gen/api/v2/resource_service.pb.go
+259
-119
resource_service.pb.gw.go
proto/gen/api/v2/resource_service.pb.gw.go
+103
-0
resource_service_grpc.pb.go
proto/gen/api/v2/resource_service_grpc.pb.go
+42
-5
version.go
server/version/version.go
+1
-1
EmbeddedMemo.tsx
...c/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
+9
-9
EmbeddedResource.tsx
...mponents/MemoContent/EmbeddedContent/EmbeddedResource.tsx
+3
-3
index.tsx
web/src/components/MemoContent/EmbeddedContent/index.tsx
+2
-2
resource.ts
web/src/store/v1/resource.ts
+24
-0
No files found.
api/v2/resource_service.go
View file @
a620d140
...
@@ -73,7 +73,7 @@ func (s *APIV2Service) GetResource(ctx context.Context, request *apiv2pb.GetReso
...
@@ -73,7 +73,7 @@ func (s *APIV2Service) GetResource(ctx context.Context, request *apiv2pb.GetReso
ID
:
&
request
.
Id
,
ID
:
&
request
.
Id
,
})
})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to
list resources
: %v"
,
err
)
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to
get resource
: %v"
,
err
)
}
}
if
resource
==
nil
{
if
resource
==
nil
{
return
nil
,
status
.
Errorf
(
codes
.
NotFound
,
"resource not found"
)
return
nil
,
status
.
Errorf
(
codes
.
NotFound
,
"resource not found"
)
...
@@ -84,6 +84,22 @@ func (s *APIV2Service) GetResource(ctx context.Context, request *apiv2pb.GetReso
...
@@ -84,6 +84,22 @@ func (s *APIV2Service) GetResource(ctx context.Context, request *apiv2pb.GetReso
},
nil
},
nil
}
}
func
(
s
*
APIV2Service
)
GetResourceByName
(
ctx
context
.
Context
,
request
*
apiv2pb
.
GetResourceByNameRequest
)
(
*
apiv2pb
.
GetResourceByNameResponse
,
error
)
{
resource
,
err
:=
s
.
Store
.
GetResource
(
ctx
,
&
store
.
FindResource
{
ResourceName
:
&
request
.
Name
,
})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get resource: %v"
,
err
)
}
if
resource
==
nil
{
return
nil
,
status
.
Errorf
(
codes
.
NotFound
,
"resource not found"
)
}
return
&
apiv2pb
.
GetResourceByNameResponse
{
Resource
:
s
.
convertResourceFromStore
(
ctx
,
resource
),
},
nil
}
func
(
s
*
APIV2Service
)
UpdateResource
(
ctx
context
.
Context
,
request
*
apiv2pb
.
UpdateResourceRequest
)
(
*
apiv2pb
.
UpdateResourceResponse
,
error
)
{
func
(
s
*
APIV2Service
)
UpdateResource
(
ctx
context
.
Context
,
request
*
apiv2pb
.
UpdateResourceRequest
)
(
*
apiv2pb
.
UpdateResourceResponse
,
error
)
{
if
request
.
UpdateMask
==
nil
||
len
(
request
.
UpdateMask
.
Paths
)
==
0
{
if
request
.
UpdateMask
==
nil
||
len
(
request
.
UpdateMask
.
Paths
)
==
0
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"update mask is required"
)
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"update mask is required"
)
...
...
plugin/gomark/parser/embedded_content_test.go
View file @
a620d140
...
@@ -48,6 +48,13 @@ func TestEmbeddedContentParser(t *testing.T) {
...
@@ -48,6 +48,13 @@ func TestEmbeddedContentParser(t *testing.T) {
Params
:
"align=center"
,
Params
:
"align=center"
,
},
},
},
},
{
text
:
"![[resources/6uxnhT98q8vN8anBbUbRGu?align=center]]"
,
embeddedContent
:
&
ast
.
EmbeddedContent
{
ResourceName
:
"resources/6uxnhT98q8vN8anBbUbRGu"
,
Params
:
"align=center"
,
},
},
}
}
for
_
,
test
:=
range
tests
{
for
_
,
test
:=
range
tests
{
...
...
proto/api/v2/resource_service.proto
View file @
a620d140
...
@@ -20,6 +20,10 @@ service ResourceService {
...
@@ -20,6 +20,10 @@ service ResourceService {
option
(
google.api.http
)
=
{
get
:
"/api/v2/resources/{id}"
};
option
(
google.api.http
)
=
{
get
:
"/api/v2/resources/{id}"
};
option
(
google.api.method_signature
)
=
"id"
;
option
(
google.api.method_signature
)
=
"id"
;
}
}
rpc
GetResourceByName
(
GetResourceByNameRequest
)
returns
(
GetResourceByNameResponse
)
{
option
(
google.api.http
)
=
{
get
:
"/api/v2/resources/{name}"
};
option
(
google.api.method_signature
)
=
"name"
;
}
rpc
UpdateResource
(
UpdateResourceRequest
)
returns
(
UpdateResourceResponse
)
{
rpc
UpdateResource
(
UpdateResourceRequest
)
returns
(
UpdateResourceResponse
)
{
option
(
google.api.http
)
=
{
option
(
google.api.http
)
=
{
patch
:
"/api/v2/resources/{resource.id}"
,
patch
:
"/api/v2/resources/{resource.id}"
,
...
@@ -78,6 +82,14 @@ message GetResourceResponse {
...
@@ -78,6 +82,14 @@ message GetResourceResponse {
Resource
resource
=
1
;
Resource
resource
=
1
;
}
}
message
GetResourceByNameRequest
{
string
name
=
1
;
}
message
GetResourceByNameResponse
{
Resource
resource
=
1
;
}
message
UpdateResourceRequest
{
message
UpdateResourceRequest
{
Resource
resource
=
1
;
Resource
resource
=
1
;
...
...
proto/gen/api/v2/README.md
View file @
a620d140
...
@@ -112,6 +112,8 @@
...
@@ -112,6 +112,8 @@
-
[
CreateResourceResponse
](
#memos-api-v2-CreateResourceResponse
)
-
[
CreateResourceResponse
](
#memos-api-v2-CreateResourceResponse
)
-
[
DeleteResourceRequest
](
#memos-api-v2-DeleteResourceRequest
)
-
[
DeleteResourceRequest
](
#memos-api-v2-DeleteResourceRequest
)
-
[
DeleteResourceResponse
](
#memos-api-v2-DeleteResourceResponse
)
-
[
DeleteResourceResponse
](
#memos-api-v2-DeleteResourceResponse
)
-
[
GetResourceByNameRequest
](
#memos-api-v2-GetResourceByNameRequest
)
-
[
GetResourceByNameResponse
](
#memos-api-v2-GetResourceByNameResponse
)
-
[
GetResourceRequest
](
#memos-api-v2-GetResourceRequest
)
-
[
GetResourceRequest
](
#memos-api-v2-GetResourceRequest
)
-
[
GetResourceResponse
](
#memos-api-v2-GetResourceResponse
)
-
[
GetResourceResponse
](
#memos-api-v2-GetResourceResponse
)
-
[
ListResourcesRequest
](
#memos-api-v2-ListResourcesRequest
)
-
[
ListResourcesRequest
](
#memos-api-v2-ListResourcesRequest
)
...
@@ -1642,6 +1644,36 @@
...
@@ -1642,6 +1644,36 @@
<a
name=
"memos-api-v2-GetResourceByNameRequest"
></a>
### GetResourceByNameRequest
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| name |
[
string
](
#string
)
| | |
<a
name=
"memos-api-v2-GetResourceByNameResponse"
></a>
### GetResourceByNameResponse
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| resource |
[
Resource
](
#memos-api-v2-Resource
)
| | |
<a
name=
"memos-api-v2-GetResourceRequest"
></a>
<a
name=
"memos-api-v2-GetResourceRequest"
></a>
### GetResourceRequest
### GetResourceRequest
...
@@ -1766,6 +1798,7 @@
...
@@ -1766,6 +1798,7 @@
| CreateResource |
[
CreateResourceRequest
](
#memos-api-v2-CreateResourceRequest
)
|
[
CreateResourceResponse
](
#memos-api-v2-CreateResourceResponse
)
| |
| CreateResource |
[
CreateResourceRequest
](
#memos-api-v2-CreateResourceRequest
)
|
[
CreateResourceResponse
](
#memos-api-v2-CreateResourceResponse
)
| |
| ListResources |
[
ListResourcesRequest
](
#memos-api-v2-ListResourcesRequest
)
|
[
ListResourcesResponse
](
#memos-api-v2-ListResourcesResponse
)
| |
| ListResources |
[
ListResourcesRequest
](
#memos-api-v2-ListResourcesRequest
)
|
[
ListResourcesResponse
](
#memos-api-v2-ListResourcesResponse
)
| |
| GetResource |
[
GetResourceRequest
](
#memos-api-v2-GetResourceRequest
)
|
[
GetResourceResponse
](
#memos-api-v2-GetResourceResponse
)
| |
| GetResource |
[
GetResourceRequest
](
#memos-api-v2-GetResourceRequest
)
|
[
GetResourceResponse
](
#memos-api-v2-GetResourceResponse
)
| |
| GetResourceByName |
[
GetResourceByNameRequest
](
#memos-api-v2-GetResourceByNameRequest
)
|
[
GetResourceByNameResponse
](
#memos-api-v2-GetResourceByNameResponse
)
| |
| UpdateResource |
[
UpdateResourceRequest
](
#memos-api-v2-UpdateResourceRequest
)
|
[
UpdateResourceResponse
](
#memos-api-v2-UpdateResourceResponse
)
| |
| UpdateResource |
[
UpdateResourceRequest
](
#memos-api-v2-UpdateResourceRequest
)
|
[
UpdateResourceResponse
](
#memos-api-v2-UpdateResourceResponse
)
| |
| DeleteResource |
[
DeleteResourceRequest
](
#memos-api-v2-DeleteResourceRequest
)
|
[
DeleteResourceResponse
](
#memos-api-v2-DeleteResourceResponse
)
| |
| DeleteResource |
[
DeleteResourceRequest
](
#memos-api-v2-DeleteResourceRequest
)
|
[
DeleteResourceResponse
](
#memos-api-v2-DeleteResourceResponse
)
| |
...
...
proto/gen/api/v2/resource_service.pb.go
View file @
a620d140
This diff is collapsed.
Click to expand it.
proto/gen/api/v2/resource_service.pb.gw.go
View file @
a620d140
...
@@ -137,6 +137,58 @@ func local_request_ResourceService_GetResource_0(ctx context.Context, marshaler
...
@@ -137,6 +137,58 @@ func local_request_ResourceService_GetResource_0(ctx context.Context, marshaler
}
}
func
request_ResourceService_GetResourceByName_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
client
ResourceServiceClient
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
protoReq
GetResourceByNameRequest
var
metadata
runtime
.
ServerMetadata
var
(
val
string
ok
bool
err
error
_
=
err
)
val
,
ok
=
pathParams
[
"name"
]
if
!
ok
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"missing parameter %s"
,
"name"
)
}
protoReq
.
Name
,
err
=
runtime
.
String
(
val
)
if
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"type mismatch, parameter: %s, error: %v"
,
"name"
,
err
)
}
msg
,
err
:=
client
.
GetResourceByName
(
ctx
,
&
protoReq
,
grpc
.
Header
(
&
metadata
.
HeaderMD
),
grpc
.
Trailer
(
&
metadata
.
TrailerMD
))
return
msg
,
metadata
,
err
}
func
local_request_ResourceService_GetResourceByName_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
server
ResourceServiceServer
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
protoReq
GetResourceByNameRequest
var
metadata
runtime
.
ServerMetadata
var
(
val
string
ok
bool
err
error
_
=
err
)
val
,
ok
=
pathParams
[
"name"
]
if
!
ok
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"missing parameter %s"
,
"name"
)
}
protoReq
.
Name
,
err
=
runtime
.
String
(
val
)
if
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"type mismatch, parameter: %s, error: %v"
,
"name"
,
err
)
}
msg
,
err
:=
server
.
GetResourceByName
(
ctx
,
&
protoReq
)
return
msg
,
metadata
,
err
}
var
(
var
(
filter_ResourceService_UpdateResource_0
=
&
utilities
.
DoubleArray
{
Encoding
:
map
[
string
]
int
{
"resource"
:
0
,
"id"
:
1
},
Base
:
[]
int
{
1
,
4
,
5
,
2
,
0
,
0
,
0
,
0
},
Check
:
[]
int
{
0
,
1
,
1
,
2
,
4
,
2
,
2
,
3
}}
filter_ResourceService_UpdateResource_0
=
&
utilities
.
DoubleArray
{
Encoding
:
map
[
string
]
int
{
"resource"
:
0
,
"id"
:
1
},
Base
:
[]
int
{
1
,
4
,
5
,
2
,
0
,
0
,
0
,
0
},
Check
:
[]
int
{
0
,
1
,
1
,
2
,
4
,
2
,
2
,
3
}}
)
)
...
@@ -370,6 +422,31 @@ func RegisterResourceServiceHandlerServer(ctx context.Context, mux *runtime.Serv
...
@@ -370,6 +422,31 @@ func RegisterResourceServiceHandlerServer(ctx context.Context, mux *runtime.Serv
})
})
mux
.
Handle
(
"GET"
,
pattern_ResourceService_GetResourceByName_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
var
stream
runtime
.
ServerTransportStream
ctx
=
grpc
.
NewContextWithServerTransportStream
(
ctx
,
&
stream
)
inboundMarshaler
,
outboundMarshaler
:=
runtime
.
MarshalerForRequest
(
mux
,
req
)
var
err
error
var
annotatedContext
context
.
Context
annotatedContext
,
err
=
runtime
.
AnnotateIncomingContext
(
ctx
,
mux
,
req
,
"/memos.api.v2.ResourceService/GetResourceByName"
,
runtime
.
WithHTTPPathPattern
(
"/api/v2/resources/{name}"
))
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
resp
,
md
,
err
:=
local_request_ResourceService_GetResourceByName_0
(
annotatedContext
,
inboundMarshaler
,
server
,
req
,
pathParams
)
md
.
HeaderMD
,
md
.
TrailerMD
=
metadata
.
Join
(
md
.
HeaderMD
,
stream
.
Header
()),
metadata
.
Join
(
md
.
TrailerMD
,
stream
.
Trailer
())
annotatedContext
=
runtime
.
NewServerMetadataContext
(
annotatedContext
,
md
)
if
err
!=
nil
{
runtime
.
HTTPError
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
forward_ResourceService_GetResourceByName_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
mux
.
Handle
(
"PATCH"
,
pattern_ResourceService_UpdateResource_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
mux
.
Handle
(
"PATCH"
,
pattern_ResourceService_UpdateResource_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
defer
cancel
()
...
@@ -527,6 +604,28 @@ func RegisterResourceServiceHandlerClient(ctx context.Context, mux *runtime.Serv
...
@@ -527,6 +604,28 @@ func RegisterResourceServiceHandlerClient(ctx context.Context, mux *runtime.Serv
})
})
mux
.
Handle
(
"GET"
,
pattern_ResourceService_GetResourceByName_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
inboundMarshaler
,
outboundMarshaler
:=
runtime
.
MarshalerForRequest
(
mux
,
req
)
var
err
error
var
annotatedContext
context
.
Context
annotatedContext
,
err
=
runtime
.
AnnotateContext
(
ctx
,
mux
,
req
,
"/memos.api.v2.ResourceService/GetResourceByName"
,
runtime
.
WithHTTPPathPattern
(
"/api/v2/resources/{name}"
))
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
resp
,
md
,
err
:=
request_ResourceService_GetResourceByName_0
(
annotatedContext
,
inboundMarshaler
,
client
,
req
,
pathParams
)
annotatedContext
=
runtime
.
NewServerMetadataContext
(
annotatedContext
,
md
)
if
err
!=
nil
{
runtime
.
HTTPError
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
forward_ResourceService_GetResourceByName_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
mux
.
Handle
(
"PATCH"
,
pattern_ResourceService_UpdateResource_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
mux
.
Handle
(
"PATCH"
,
pattern_ResourceService_UpdateResource_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
defer
cancel
()
...
@@ -581,6 +680,8 @@ var (
...
@@ -581,6 +680,8 @@ var (
pattern_ResourceService_GetResource_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"id"
},
""
))
pattern_ResourceService_GetResource_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"id"
},
""
))
pattern_ResourceService_GetResourceByName_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"name"
},
""
))
pattern_ResourceService_UpdateResource_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"resource.id"
},
""
))
pattern_ResourceService_UpdateResource_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"resource.id"
},
""
))
pattern_ResourceService_DeleteResource_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"id"
},
""
))
pattern_ResourceService_DeleteResource_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
1
,
5
,
3
},
[]
string
{
"api"
,
"v2"
,
"resources"
,
"id"
},
""
))
...
@@ -593,6 +694,8 @@ var (
...
@@ -593,6 +694,8 @@ var (
forward_ResourceService_GetResource_0
=
runtime
.
ForwardResponseMessage
forward_ResourceService_GetResource_0
=
runtime
.
ForwardResponseMessage
forward_ResourceService_GetResourceByName_0
=
runtime
.
ForwardResponseMessage
forward_ResourceService_UpdateResource_0
=
runtime
.
ForwardResponseMessage
forward_ResourceService_UpdateResource_0
=
runtime
.
ForwardResponseMessage
forward_ResourceService_DeleteResource_0
=
runtime
.
ForwardResponseMessage
forward_ResourceService_DeleteResource_0
=
runtime
.
ForwardResponseMessage
...
...
proto/gen/api/v2/resource_service_grpc.pb.go
View file @
a620d140
...
@@ -19,11 +19,12 @@ import (
...
@@ -19,11 +19,12 @@ import (
const
_
=
grpc
.
SupportPackageIsVersion7
const
_
=
grpc
.
SupportPackageIsVersion7
const
(
const
(
ResourceService_CreateResource_FullMethodName
=
"/memos.api.v2.ResourceService/CreateResource"
ResourceService_CreateResource_FullMethodName
=
"/memos.api.v2.ResourceService/CreateResource"
ResourceService_ListResources_FullMethodName
=
"/memos.api.v2.ResourceService/ListResources"
ResourceService_ListResources_FullMethodName
=
"/memos.api.v2.ResourceService/ListResources"
ResourceService_GetResource_FullMethodName
=
"/memos.api.v2.ResourceService/GetResource"
ResourceService_GetResource_FullMethodName
=
"/memos.api.v2.ResourceService/GetResource"
ResourceService_UpdateResource_FullMethodName
=
"/memos.api.v2.ResourceService/UpdateResource"
ResourceService_GetResourceByName_FullMethodName
=
"/memos.api.v2.ResourceService/GetResourceByName"
ResourceService_DeleteResource_FullMethodName
=
"/memos.api.v2.ResourceService/DeleteResource"
ResourceService_UpdateResource_FullMethodName
=
"/memos.api.v2.ResourceService/UpdateResource"
ResourceService_DeleteResource_FullMethodName
=
"/memos.api.v2.ResourceService/DeleteResource"
)
)
// ResourceServiceClient is the client API for ResourceService service.
// ResourceServiceClient is the client API for ResourceService service.
...
@@ -33,6 +34,7 @@ type ResourceServiceClient interface {
...
@@ -33,6 +34,7 @@ type ResourceServiceClient interface {
CreateResource
(
ctx
context
.
Context
,
in
*
CreateResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
CreateResourceResponse
,
error
)
CreateResource
(
ctx
context
.
Context
,
in
*
CreateResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
CreateResourceResponse
,
error
)
ListResources
(
ctx
context
.
Context
,
in
*
ListResourcesRequest
,
opts
...
grpc
.
CallOption
)
(
*
ListResourcesResponse
,
error
)
ListResources
(
ctx
context
.
Context
,
in
*
ListResourcesRequest
,
opts
...
grpc
.
CallOption
)
(
*
ListResourcesResponse
,
error
)
GetResource
(
ctx
context
.
Context
,
in
*
GetResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
GetResourceResponse
,
error
)
GetResource
(
ctx
context
.
Context
,
in
*
GetResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
GetResourceResponse
,
error
)
GetResourceByName
(
ctx
context
.
Context
,
in
*
GetResourceByNameRequest
,
opts
...
grpc
.
CallOption
)
(
*
GetResourceByNameResponse
,
error
)
UpdateResource
(
ctx
context
.
Context
,
in
*
UpdateResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
UpdateResourceResponse
,
error
)
UpdateResource
(
ctx
context
.
Context
,
in
*
UpdateResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
UpdateResourceResponse
,
error
)
DeleteResource
(
ctx
context
.
Context
,
in
*
DeleteResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
DeleteResourceResponse
,
error
)
DeleteResource
(
ctx
context
.
Context
,
in
*
DeleteResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
DeleteResourceResponse
,
error
)
}
}
...
@@ -72,6 +74,15 @@ func (c *resourceServiceClient) GetResource(ctx context.Context, in *GetResource
...
@@ -72,6 +74,15 @@ func (c *resourceServiceClient) GetResource(ctx context.Context, in *GetResource
return
out
,
nil
return
out
,
nil
}
}
func
(
c
*
resourceServiceClient
)
GetResourceByName
(
ctx
context
.
Context
,
in
*
GetResourceByNameRequest
,
opts
...
grpc
.
CallOption
)
(
*
GetResourceByNameResponse
,
error
)
{
out
:=
new
(
GetResourceByNameResponse
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
ResourceService_GetResourceByName_FullMethodName
,
in
,
out
,
opts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
resourceServiceClient
)
UpdateResource
(
ctx
context
.
Context
,
in
*
UpdateResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
UpdateResourceResponse
,
error
)
{
func
(
c
*
resourceServiceClient
)
UpdateResource
(
ctx
context
.
Context
,
in
*
UpdateResourceRequest
,
opts
...
grpc
.
CallOption
)
(
*
UpdateResourceResponse
,
error
)
{
out
:=
new
(
UpdateResourceResponse
)
out
:=
new
(
UpdateResourceResponse
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
ResourceService_UpdateResource_FullMethodName
,
in
,
out
,
opts
...
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
ResourceService_UpdateResource_FullMethodName
,
in
,
out
,
opts
...
)
...
@@ -97,6 +108,7 @@ type ResourceServiceServer interface {
...
@@ -97,6 +108,7 @@ type ResourceServiceServer interface {
CreateResource
(
context
.
Context
,
*
CreateResourceRequest
)
(
*
CreateResourceResponse
,
error
)
CreateResource
(
context
.
Context
,
*
CreateResourceRequest
)
(
*
CreateResourceResponse
,
error
)
ListResources
(
context
.
Context
,
*
ListResourcesRequest
)
(
*
ListResourcesResponse
,
error
)
ListResources
(
context
.
Context
,
*
ListResourcesRequest
)
(
*
ListResourcesResponse
,
error
)
GetResource
(
context
.
Context
,
*
GetResourceRequest
)
(
*
GetResourceResponse
,
error
)
GetResource
(
context
.
Context
,
*
GetResourceRequest
)
(
*
GetResourceResponse
,
error
)
GetResourceByName
(
context
.
Context
,
*
GetResourceByNameRequest
)
(
*
GetResourceByNameResponse
,
error
)
UpdateResource
(
context
.
Context
,
*
UpdateResourceRequest
)
(
*
UpdateResourceResponse
,
error
)
UpdateResource
(
context
.
Context
,
*
UpdateResourceRequest
)
(
*
UpdateResourceResponse
,
error
)
DeleteResource
(
context
.
Context
,
*
DeleteResourceRequest
)
(
*
DeleteResourceResponse
,
error
)
DeleteResource
(
context
.
Context
,
*
DeleteResourceRequest
)
(
*
DeleteResourceResponse
,
error
)
mustEmbedUnimplementedResourceServiceServer
()
mustEmbedUnimplementedResourceServiceServer
()
...
@@ -115,6 +127,9 @@ func (UnimplementedResourceServiceServer) ListResources(context.Context, *ListRe
...
@@ -115,6 +127,9 @@ func (UnimplementedResourceServiceServer) ListResources(context.Context, *ListRe
func
(
UnimplementedResourceServiceServer
)
GetResource
(
context
.
Context
,
*
GetResourceRequest
)
(
*
GetResourceResponse
,
error
)
{
func
(
UnimplementedResourceServiceServer
)
GetResource
(
context
.
Context
,
*
GetResourceRequest
)
(
*
GetResourceResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method GetResource not implemented"
)
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method GetResource not implemented"
)
}
}
func
(
UnimplementedResourceServiceServer
)
GetResourceByName
(
context
.
Context
,
*
GetResourceByNameRequest
)
(
*
GetResourceByNameResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method GetResourceByName not implemented"
)
}
func
(
UnimplementedResourceServiceServer
)
UpdateResource
(
context
.
Context
,
*
UpdateResourceRequest
)
(
*
UpdateResourceResponse
,
error
)
{
func
(
UnimplementedResourceServiceServer
)
UpdateResource
(
context
.
Context
,
*
UpdateResourceRequest
)
(
*
UpdateResourceResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method UpdateResource not implemented"
)
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method UpdateResource not implemented"
)
}
}
...
@@ -188,6 +203,24 @@ func _ResourceService_GetResource_Handler(srv interface{}, ctx context.Context,
...
@@ -188,6 +203,24 @@ func _ResourceService_GetResource_Handler(srv interface{}, ctx context.Context,
return
interceptor
(
ctx
,
in
,
info
,
handler
)
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
}
func
_ResourceService_GetResourceByName_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
GetResourceByNameRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
ResourceServiceServer
)
.
GetResourceByName
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
ResourceService_GetResourceByName_FullMethodName
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
ResourceServiceServer
)
.
GetResourceByName
(
ctx
,
req
.
(
*
GetResourceByNameRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_ResourceService_UpdateResource_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
func
_ResourceService_UpdateResource_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
UpdateResourceRequest
)
in
:=
new
(
UpdateResourceRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
if
err
:=
dec
(
in
);
err
!=
nil
{
...
@@ -243,6 +276,10 @@ var ResourceService_ServiceDesc = grpc.ServiceDesc{
...
@@ -243,6 +276,10 @@ var ResourceService_ServiceDesc = grpc.ServiceDesc{
MethodName
:
"GetResource"
,
MethodName
:
"GetResource"
,
Handler
:
_ResourceService_GetResource_Handler
,
Handler
:
_ResourceService_GetResource_Handler
,
},
},
{
MethodName
:
"GetResourceByName"
,
Handler
:
_ResourceService_GetResourceByName_Handler
,
},
{
{
MethodName
:
"UpdateResource"
,
MethodName
:
"UpdateResource"
,
Handler
:
_ResourceService_UpdateResource_Handler
,
Handler
:
_ResourceService_UpdateResource_Handler
,
...
...
server/version/version.go
View file @
a620d140
...
@@ -9,7 +9,7 @@ import (
...
@@ -9,7 +9,7 @@ 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
8.2
"
var
Version
=
"0.1
9.0
"
// DevVersion is the service current development version.
// DevVersion is the service current development version.
var
DevVersion
=
"0.18.2"
var
DevVersion
=
"0.18.2"
...
...
web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
View file @
a620d140
...
@@ -7,28 +7,28 @@ import { RendererContext } from "../types";
...
@@ -7,28 +7,28 @@ import { RendererContext } from "../types";
import
Error
from
"./Error"
;
import
Error
from
"./Error"
;
interface
Props
{
interface
Props
{
memoId
:
number
;
resourceId
:
string
;
params
:
string
;
params
:
string
;
}
}
const
EmbeddedMemo
=
({
memo
Id
}:
Props
)
=>
{
const
EmbeddedMemo
=
({
resource
Id
}:
Props
)
=>
{
const
context
=
useContext
(
RendererContext
);
const
context
=
useContext
(
RendererContext
);
const
loadingState
=
useLoading
();
const
loadingState
=
useLoading
();
const
memoStore
=
useMemoStore
();
const
memoStore
=
useMemoStore
();
const
memo
=
memoStore
.
getMemoBy
Id
(
memo
Id
);
const
memo
=
memoStore
.
getMemoBy
Name
(
resource
Id
);
const
resourceName
=
`memos/
${
memo
Id
}
`
;
const
resourceName
=
`memos/
${
resource
Id
}
`
;
useEffect
(()
=>
{
useEffect
(()
=>
{
memoStore
.
getOrFetchMemoBy
Id
(
memo
Id
).
finally
(()
=>
loadingState
.
setFinish
());
memoStore
.
getOrFetchMemoBy
Name
(
resource
Id
).
finally
(()
=>
loadingState
.
setFinish
());
},
[
memo
Id
]);
},
[
resource
Id
]);
if
(
loadingState
.
isLoading
)
{
if
(
loadingState
.
isLoading
)
{
return
null
;
return
null
;
}
}
if
(
!
memo
)
{
if
(
!
memo
)
{
return
<
Error
message=
{
`Memo not found: ${
memo
Id}`
}
/>;
return
<
Error
message=
{
`Memo not found: ${
resource
Id}`
}
/>;
}
}
if
(
memo
I
d
===
context
.
memoId
||
context
.
embeddedMemos
.
has
(
resourceName
))
{
if
(
memo
.
i
d
===
context
.
memoId
||
context
.
embeddedMemos
.
has
(
resourceName
))
{
return
<
Error
message=
{
`Nested Rendering Error: ![[${resourceName}]]`
}
/>;
return
<
Error
message=
{
`Nested Rendering Error: ![[${resourceName}]]`
}
/>;
}
}
...
@@ -36,7 +36,7 @@ const EmbeddedMemo = ({ memoId }: Props) => {
...
@@ -36,7 +36,7 @@ const EmbeddedMemo = ({ memoId }: Props) => {
context
.
embeddedMemos
.
add
(
resourceName
);
context
.
embeddedMemos
.
add
(
resourceName
);
return
(
return
(
<
div
className=
"w-full"
>
<
div
className=
"w-full"
>
<
MemoContent
nodes=
{
memo
.
nodes
}
memoId=
{
memo
I
d
}
embeddedMemos=
{
context
.
embeddedMemos
}
/>
<
MemoContent
nodes=
{
memo
.
nodes
}
memoId=
{
memo
.
i
d
}
embeddedMemos=
{
context
.
embeddedMemos
}
/>
<
MemoResourceListView
resources=
{
memo
.
resources
}
/>
<
MemoResourceListView
resources=
{
memo
.
resources
}
/>
</
div
>
</
div
>
);
);
...
...
web/src/components/MemoContent/EmbeddedContent/EmbeddedResource.tsx
View file @
a620d140
...
@@ -6,7 +6,7 @@ import { useResourceStore } from "@/store/v1";
...
@@ -6,7 +6,7 @@ import { useResourceStore } from "@/store/v1";
import
Error
from
"./Error"
;
import
Error
from
"./Error"
;
interface
Props
{
interface
Props
{
resourceId
:
number
;
resourceId
:
string
;
params
:
string
;
params
:
string
;
}
}
...
@@ -38,11 +38,11 @@ const getAdditionalClassNameWithParams = (params: URLSearchParams) => {
...
@@ -38,11 +38,11 @@ const getAdditionalClassNameWithParams = (params: URLSearchParams) => {
const
EmbeddedResource
=
({
resourceId
,
params
:
paramsStr
}:
Props
)
=>
{
const
EmbeddedResource
=
({
resourceId
,
params
:
paramsStr
}:
Props
)
=>
{
const
loadingState
=
useLoading
();
const
loadingState
=
useLoading
();
const
resourceStore
=
useResourceStore
();
const
resourceStore
=
useResourceStore
();
const
resource
=
resourceStore
.
getResourceBy
Id
(
resourceId
);
const
resource
=
resourceStore
.
getResourceBy
Name
(
resourceId
);
const
params
=
new
URLSearchParams
(
paramsStr
);
const
params
=
new
URLSearchParams
(
paramsStr
);
useEffect
(()
=>
{
useEffect
(()
=>
{
resourceStore
.
getOrFetchResourceBy
Id
(
resourceId
).
finally
(()
=>
loadingState
.
setFinish
());
resourceStore
.
getOrFetchResourceBy
Name
(
resourceId
).
finally
(()
=>
loadingState
.
setFinish
());
},
[
resourceId
]);
},
[
resourceId
]);
if
(
loadingState
.
isLoading
)
{
if
(
loadingState
.
isLoading
)
{
...
...
web/src/components/MemoContent/EmbeddedContent/index.tsx
View file @
a620d140
...
@@ -15,9 +15,9 @@ const extractResourceTypeAndId = (resourceName: string) => {
...
@@ -15,9 +15,9 @@ const extractResourceTypeAndId = (resourceName: string) => {
const
EmbeddedContent
=
({
resourceName
,
params
}:
Props
)
=>
{
const
EmbeddedContent
=
({
resourceName
,
params
}:
Props
)
=>
{
const
{
resourceType
,
resourceId
}
=
extractResourceTypeAndId
(
resourceName
);
const
{
resourceType
,
resourceId
}
=
extractResourceTypeAndId
(
resourceName
);
if
(
resourceType
===
"memos"
)
{
if
(
resourceType
===
"memos"
)
{
return
<
EmbeddedMemo
memoId=
{
Number
(
resourceId
)
}
params=
{
params
}
/>;
return
<
EmbeddedMemo
resourceId=
{
resourceId
}
params=
{
params
}
/>;
}
else
if
(
resourceType
===
"resources"
)
{
}
else
if
(
resourceType
===
"resources"
)
{
return
<
EmbeddedResource
resourceId=
{
Number
(
resourceId
)
}
params=
{
params
}
/>;
return
<
EmbeddedResource
resourceId=
{
resourceId
}
params=
{
params
}
/>;
}
}
return
<
Error
message=
{
`Unknown resource: ${resourceName}`
}
/>;
return
<
Error
message=
{
`Unknown resource: ${resourceName}`
}
/>;
};
};
...
...
web/src/store/v1/resource.ts
View file @
a620d140
...
@@ -38,5 +38,29 @@ export const useResourceStore = create(
...
@@ -38,5 +38,29 @@ export const useResourceStore = create(
getResourceById
:
(
id
:
number
)
=>
{
getResourceById
:
(
id
:
number
)
=>
{
return
get
().
resourceMapById
[
id
];
return
get
().
resourceMapById
[
id
];
},
},
getOrFetchResourceByName
:
async
(
name
:
string
,
options
?:
{
skipCache
?:
boolean
;
skipStore
?:
boolean
})
=>
{
const
resourceMap
=
get
().
resourceMapById
;
const
cachedResource
=
Object
.
values
(
resourceMap
).
find
((
r
)
=>
r
.
name
===
name
);
if
(
cachedResource
&&
!
options
?.
skipCache
)
{
return
cachedResource
;
}
const
{
resource
}
=
await
resourceServiceClient
.
getResourceByName
({
name
,
});
if
(
!
resource
)
{
throw
new
Error
(
"Resource not found"
);
}
if
(
!
options
?.
skipStore
)
{
resourceMap
[
resource
.
id
]
=
resource
;
set
({
resourceMapById
:
resourceMap
});
}
return
resource
;
},
getResourceByName
:
(
name
:
string
)
=>
{
const
resourceMap
=
get
().
resourceMapById
;
return
Object
.
values
(
resourceMap
).
find
((
r
)
=>
r
.
name
===
name
);
},
}))
}))
);
);
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