Commit 44e56844 authored by Steven's avatar Steven

chore: tweak search resources

parent 95fa1456
...@@ -435,29 +435,6 @@ paths: ...@@ -435,29 +435,6 @@ paths:
$ref: '#/definitions/v1ExportMemosRequest' $ref: '#/definitions/v1ExportMemosRequest'
tags: tags:
- MemoService - MemoService
/api/v1/memos:search:
get:
summary: SearchMemos searches memos.
operationId: MemoService_SearchMemos
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/v1SearchMemosResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: filter
description: |-
Filter is used to filter memos returned.
Format: "creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']"
in: query
required: false
type: string
tags:
- MemoService
/api/v1/reactions/{reactionId}: /api/v1/reactions/{reactionId}:
delete: delete:
summary: DeleteMemoReaction deletes a reaction for a memo. summary: DeleteMemoReaction deletes a reaction for a memo.
...@@ -536,26 +513,6 @@ paths: ...@@ -536,26 +513,6 @@ paths:
type: string type: string
tags: tags:
- ResourceService - ResourceService
/api/v1/resources:search:
get:
summary: SearchResources searches memos.
operationId: ResourceService_SearchResources
responses:
"200":
description: A successful response.
schema:
$ref: '#/definitions/v1SearchResourcesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/googlerpcStatus'
parameters:
- name: filter
in: query
required: false
type: string
tags:
- ResourceService
/api/v1/users: /api/v1/users:
get: get:
summary: ListUsers returns a list of users. summary: ListUsers returns a list of users.
...@@ -3035,22 +2992,6 @@ definitions: ...@@ -3035,22 +2992,6 @@ definitions:
- ACTIVE - ACTIVE
- ARCHIVED - ARCHIVED
default: ROW_STATUS_UNSPECIFIED default: ROW_STATUS_UNSPECIFIED
v1SearchMemosResponse:
type: object
properties:
memos:
type: array
items:
type: object
$ref: '#/definitions/v1Memo'
v1SearchResourcesResponse:
type: object
properties:
resources:
type: array
items:
type: object
$ref: '#/definitions/v1Resource'
v1SearchUsersResponse: v1SearchUsersResponse:
type: object type: object
properties: properties:
......
...@@ -28,10 +28,6 @@ service MemoService { ...@@ -28,10 +28,6 @@ service MemoService {
rpc ListMemos(ListMemosRequest) returns (ListMemosResponse) { rpc ListMemos(ListMemosRequest) returns (ListMemosResponse) {
option (google.api.http) = {get: "/api/v1/memos"}; option (google.api.http) = {get: "/api/v1/memos"};
} }
// SearchMemos searches memos.
rpc SearchMemos(SearchMemosRequest) returns (SearchMemosResponse) {
option (google.api.http) = {get: "/api/v1/memos:search"};
}
// GetMemo gets a memo. // GetMemo gets a memo.
rpc GetMemo(GetMemoRequest) returns (Memo) { rpc GetMemo(GetMemoRequest) returns (Memo) {
option (google.api.http) = {get: "/api/v1/{name=memos/*}"}; option (google.api.http) = {get: "/api/v1/{name=memos/*}"};
...@@ -246,16 +242,6 @@ message ListMemosResponse { ...@@ -246,16 +242,6 @@ message ListMemosResponse {
string next_page_token = 2; string next_page_token = 2;
} }
message SearchMemosRequest {
// Filter is used to filter memos returned.
// Format: "creator == 'users/{uid}' && visibilities == ['PUBLIC', 'PROTECTED']"
string filter = 1;
}
message SearchMemosResponse {
repeated Memo memos = 1;
}
message GetMemoRequest { message GetMemoRequest {
// The name of the memo. // The name of the memo.
// Format: memos/{id} // Format: memos/{id}
......
...@@ -24,10 +24,6 @@ service ResourceService { ...@@ -24,10 +24,6 @@ service ResourceService {
rpc ListResources(ListResourcesRequest) returns (ListResourcesResponse) { rpc ListResources(ListResourcesRequest) returns (ListResourcesResponse) {
option (google.api.http) = {get: "/api/v1/resources"}; option (google.api.http) = {get: "/api/v1/resources"};
} }
// SearchResources searches memos.
rpc SearchResources(SearchResourcesRequest) returns (SearchResourcesResponse) {
option (google.api.http) = {get: "/api/v1/resources:search"};
}
// GetResource returns a resource by name. // GetResource returns a resource by name.
rpc GetResource(GetResourceRequest) returns (Resource) { rpc GetResource(GetResourceRequest) returns (Resource) {
option (google.api.http) = {get: "/api/v1/{name=resources/*}"}; option (google.api.http) = {get: "/api/v1/{name=resources/*}"};
...@@ -94,14 +90,6 @@ message ListResourcesResponse { ...@@ -94,14 +90,6 @@ message ListResourcesResponse {
repeated Resource resources = 1; repeated Resource resources = 1;
} }
message SearchResourcesRequest {
string filter = 1;
}
message SearchResourcesResponse {
repeated Resource resources = 1;
}
message GetResourceRequest { message GetResourceRequest {
// The name of the resource. // The name of the resource.
// Format: resources/{id} // Format: resources/{id}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -93,42 +93,6 @@ func local_request_MemoService_ListMemos_0(ctx context.Context, marshaler runtim ...@@ -93,42 +93,6 @@ func local_request_MemoService_ListMemos_0(ctx context.Context, marshaler runtim
} }
var (
filter_MemoService_SearchMemos_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
func request_MemoService_SearchMemos_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq SearchMemosRequest
var metadata runtime.ServerMetadata
if err := req.ParseForm(); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_SearchMemos_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.SearchMemos(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_MemoService_SearchMemos_0(ctx context.Context, marshaler runtime.Marshaler, server MemoServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq SearchMemosRequest
var metadata runtime.ServerMetadata
if err := req.ParseForm(); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_SearchMemos_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.SearchMemos(ctx, &protoReq)
return msg, metadata, err
}
func request_MemoService_GetMemo_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { func request_MemoService_GetMemo_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq GetMemoRequest var protoReq GetMemoRequest
var metadata runtime.ServerMetadata var metadata runtime.ServerMetadata
...@@ -1335,31 +1299,6 @@ func RegisterMemoServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux ...@@ -1335,31 +1299,6 @@ func RegisterMemoServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
}) })
mux.Handle("GET", pattern_MemoService_SearchMemos_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.v1.MemoService/SearchMemos", runtime.WithHTTPPathPattern("/api/v1/memos:search"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_MemoService_SearchMemos_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_MemoService_SearchMemos_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_MemoService_GetMemo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_MemoService_GetMemo_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()
...@@ -1945,28 +1884,6 @@ func RegisterMemoServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux ...@@ -1945,28 +1884,6 @@ func RegisterMemoServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux
}) })
mux.Handle("GET", pattern_MemoService_SearchMemos_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.v1.MemoService/SearchMemos", runtime.WithHTTPPathPattern("/api/v1/memos:search"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_MemoService_SearchMemos_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_MemoService_SearchMemos_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_MemoService_GetMemo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_MemoService_GetMemo_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()
...@@ -2415,8 +2332,6 @@ var ( ...@@ -2415,8 +2332,6 @@ var (
pattern_MemoService_ListMemos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "memos"}, "")) pattern_MemoService_ListMemos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "memos"}, ""))
pattern_MemoService_SearchMemos_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "memos"}, "search"))
pattern_MemoService_GetMemo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 2, 5, 3}, []string{"api", "v1", "memos", "name"}, "")) pattern_MemoService_GetMemo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 2, 5, 3}, []string{"api", "v1", "memos", "name"}, ""))
pattern_MemoService_GetMemoByUid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "memos:by-uid", "uid"}, "")) pattern_MemoService_GetMemoByUid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "memos:by-uid", "uid"}, ""))
...@@ -2463,8 +2378,6 @@ var ( ...@@ -2463,8 +2378,6 @@ var (
forward_MemoService_ListMemos_0 = runtime.ForwardResponseMessage forward_MemoService_ListMemos_0 = runtime.ForwardResponseMessage
forward_MemoService_SearchMemos_0 = runtime.ForwardResponseMessage
forward_MemoService_GetMemo_0 = runtime.ForwardResponseMessage forward_MemoService_GetMemo_0 = runtime.ForwardResponseMessage
forward_MemoService_GetMemoByUid_0 = runtime.ForwardResponseMessage forward_MemoService_GetMemoByUid_0 = runtime.ForwardResponseMessage
......
...@@ -22,7 +22,6 @@ const _ = grpc.SupportPackageIsVersion8 ...@@ -22,7 +22,6 @@ const _ = grpc.SupportPackageIsVersion8
const ( const (
MemoService_CreateMemo_FullMethodName = "/memos.api.v1.MemoService/CreateMemo" MemoService_CreateMemo_FullMethodName = "/memos.api.v1.MemoService/CreateMemo"
MemoService_ListMemos_FullMethodName = "/memos.api.v1.MemoService/ListMemos" MemoService_ListMemos_FullMethodName = "/memos.api.v1.MemoService/ListMemos"
MemoService_SearchMemos_FullMethodName = "/memos.api.v1.MemoService/SearchMemos"
MemoService_GetMemo_FullMethodName = "/memos.api.v1.MemoService/GetMemo" MemoService_GetMemo_FullMethodName = "/memos.api.v1.MemoService/GetMemo"
MemoService_GetMemoByUid_FullMethodName = "/memos.api.v1.MemoService/GetMemoByUid" MemoService_GetMemoByUid_FullMethodName = "/memos.api.v1.MemoService/GetMemoByUid"
MemoService_UpdateMemo_FullMethodName = "/memos.api.v1.MemoService/UpdateMemo" MemoService_UpdateMemo_FullMethodName = "/memos.api.v1.MemoService/UpdateMemo"
...@@ -53,8 +52,6 @@ type MemoServiceClient interface { ...@@ -53,8 +52,6 @@ type MemoServiceClient interface {
CreateMemo(ctx context.Context, in *CreateMemoRequest, opts ...grpc.CallOption) (*Memo, error) CreateMemo(ctx context.Context, in *CreateMemoRequest, opts ...grpc.CallOption) (*Memo, error)
// ListMemos lists memos with pagination and filter. // ListMemos lists memos with pagination and filter.
ListMemos(ctx context.Context, in *ListMemosRequest, opts ...grpc.CallOption) (*ListMemosResponse, error) ListMemos(ctx context.Context, in *ListMemosRequest, opts ...grpc.CallOption) (*ListMemosResponse, error)
// SearchMemos searches memos.
SearchMemos(ctx context.Context, in *SearchMemosRequest, opts ...grpc.CallOption) (*SearchMemosResponse, error)
// GetMemo gets a memo. // GetMemo gets a memo.
GetMemo(ctx context.Context, in *GetMemoRequest, opts ...grpc.CallOption) (*Memo, error) GetMemo(ctx context.Context, in *GetMemoRequest, opts ...grpc.CallOption) (*Memo, error)
// GetMemoByUid gets a memo by uid // GetMemoByUid gets a memo by uid
...@@ -125,16 +122,6 @@ func (c *memoServiceClient) ListMemos(ctx context.Context, in *ListMemosRequest, ...@@ -125,16 +122,6 @@ func (c *memoServiceClient) ListMemos(ctx context.Context, in *ListMemosRequest,
return out, nil return out, nil
} }
func (c *memoServiceClient) SearchMemos(ctx context.Context, in *SearchMemosRequest, opts ...grpc.CallOption) (*SearchMemosResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SearchMemosResponse)
err := c.cc.Invoke(ctx, MemoService_SearchMemos_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *memoServiceClient) GetMemo(ctx context.Context, in *GetMemoRequest, opts ...grpc.CallOption) (*Memo, error) { func (c *memoServiceClient) GetMemo(ctx context.Context, in *GetMemoRequest, opts ...grpc.CallOption) (*Memo, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Memo) out := new(Memo)
...@@ -343,8 +330,6 @@ type MemoServiceServer interface { ...@@ -343,8 +330,6 @@ type MemoServiceServer interface {
CreateMemo(context.Context, *CreateMemoRequest) (*Memo, error) CreateMemo(context.Context, *CreateMemoRequest) (*Memo, error)
// ListMemos lists memos with pagination and filter. // ListMemos lists memos with pagination and filter.
ListMemos(context.Context, *ListMemosRequest) (*ListMemosResponse, error) ListMemos(context.Context, *ListMemosRequest) (*ListMemosResponse, error)
// SearchMemos searches memos.
SearchMemos(context.Context, *SearchMemosRequest) (*SearchMemosResponse, error)
// GetMemo gets a memo. // GetMemo gets a memo.
GetMemo(context.Context, *GetMemoRequest) (*Memo, error) GetMemo(context.Context, *GetMemoRequest) (*Memo, error)
// GetMemoByUid gets a memo by uid // GetMemoByUid gets a memo by uid
...@@ -398,9 +383,6 @@ func (UnimplementedMemoServiceServer) CreateMemo(context.Context, *CreateMemoReq ...@@ -398,9 +383,6 @@ func (UnimplementedMemoServiceServer) CreateMemo(context.Context, *CreateMemoReq
func (UnimplementedMemoServiceServer) ListMemos(context.Context, *ListMemosRequest) (*ListMemosResponse, error) { func (UnimplementedMemoServiceServer) ListMemos(context.Context, *ListMemosRequest) (*ListMemosResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListMemos not implemented") return nil, status.Errorf(codes.Unimplemented, "method ListMemos not implemented")
} }
func (UnimplementedMemoServiceServer) SearchMemos(context.Context, *SearchMemosRequest) (*SearchMemosResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SearchMemos not implemented")
}
func (UnimplementedMemoServiceServer) GetMemo(context.Context, *GetMemoRequest) (*Memo, error) { func (UnimplementedMemoServiceServer) GetMemo(context.Context, *GetMemoRequest) (*Memo, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetMemo not implemented") return nil, status.Errorf(codes.Unimplemented, "method GetMemo not implemented")
} }
...@@ -510,24 +492,6 @@ func _MemoService_ListMemos_Handler(srv interface{}, ctx context.Context, dec fu ...@@ -510,24 +492,6 @@ func _MemoService_ListMemos_Handler(srv interface{}, ctx context.Context, dec fu
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _MemoService_SearchMemos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SearchMemosRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MemoServiceServer).SearchMemos(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: MemoService_SearchMemos_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MemoServiceServer).SearchMemos(ctx, req.(*SearchMemosRequest))
}
return interceptor(ctx, in, info, handler)
}
func _MemoService_GetMemo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _MemoService_GetMemo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetMemoRequest) in := new(GetMemoRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
...@@ -903,10 +867,6 @@ var MemoService_ServiceDesc = grpc.ServiceDesc{ ...@@ -903,10 +867,6 @@ var MemoService_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListMemos", MethodName: "ListMemos",
Handler: _MemoService_ListMemos_Handler, Handler: _MemoService_ListMemos_Handler,
}, },
{
MethodName: "SearchMemos",
Handler: _MemoService_SearchMemos_Handler,
},
{ {
MethodName: "GetMemo", MethodName: "GetMemo",
Handler: _MemoService_GetMemo_Handler, Handler: _MemoService_GetMemo_Handler,
......
This diff is collapsed.
...@@ -75,42 +75,6 @@ func local_request_ResourceService_ListResources_0(ctx context.Context, marshale ...@@ -75,42 +75,6 @@ func local_request_ResourceService_ListResources_0(ctx context.Context, marshale
} }
var (
filter_ResourceService_SearchResources_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
)
func request_ResourceService_SearchResources_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq SearchResourcesRequest
var metadata runtime.ServerMetadata
if err := req.ParseForm(); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceService_SearchResources_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.SearchResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_ResourceService_SearchResources_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq SearchResourcesRequest
var metadata runtime.ServerMetadata
if err := req.ParseForm(); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceService_SearchResources_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.SearchResources(ctx, &protoReq)
return msg, metadata, err
}
func request_ResourceService_GetResource_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { func request_ResourceService_GetResource_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq GetResourceRequest var protoReq GetResourceRequest
var metadata runtime.ServerMetadata var metadata runtime.ServerMetadata
...@@ -495,31 +459,6 @@ func RegisterResourceServiceHandlerServer(ctx context.Context, mux *runtime.Serv ...@@ -495,31 +459,6 @@ func RegisterResourceServiceHandlerServer(ctx context.Context, mux *runtime.Serv
}) })
mux.Handle("GET", pattern_ResourceService_SearchResources_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.v1.ResourceService/SearchResources", runtime.WithHTTPPathPattern("/api/v1/resources:search"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_ResourceService_SearchResources_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_SearchResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_ResourceService_GetResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_ResourceService_GetResource_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()
...@@ -730,28 +669,6 @@ func RegisterResourceServiceHandlerClient(ctx context.Context, mux *runtime.Serv ...@@ -730,28 +669,6 @@ func RegisterResourceServiceHandlerClient(ctx context.Context, mux *runtime.Serv
}) })
mux.Handle("GET", pattern_ResourceService_SearchResources_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.v1.ResourceService/SearchResources", runtime.WithHTTPPathPattern("/api/v1/resources:search"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_ResourceService_SearchResources_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_SearchResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("GET", pattern_ResourceService_GetResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_ResourceService_GetResource_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()
...@@ -870,8 +787,6 @@ var ( ...@@ -870,8 +787,6 @@ var (
pattern_ResourceService_ListResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resources"}, "")) pattern_ResourceService_ListResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resources"}, ""))
pattern_ResourceService_SearchResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resources"}, "search"))
pattern_ResourceService_GetResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 2, 5, 3}, []string{"api", "v1", "resources", "name"}, "")) pattern_ResourceService_GetResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 2, 5, 3}, []string{"api", "v1", "resources", "name"}, ""))
pattern_ResourceService_GetResourceByUid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resources:by-uid", "uid"}, "")) pattern_ResourceService_GetResourceByUid_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resources:by-uid", "uid"}, ""))
...@@ -888,8 +803,6 @@ var ( ...@@ -888,8 +803,6 @@ var (
forward_ResourceService_ListResources_0 = runtime.ForwardResponseMessage forward_ResourceService_ListResources_0 = runtime.ForwardResponseMessage
forward_ResourceService_SearchResources_0 = runtime.ForwardResponseMessage
forward_ResourceService_GetResource_0 = runtime.ForwardResponseMessage forward_ResourceService_GetResource_0 = runtime.ForwardResponseMessage
forward_ResourceService_GetResourceByUid_0 = runtime.ForwardResponseMessage forward_ResourceService_GetResourceByUid_0 = runtime.ForwardResponseMessage
......
...@@ -23,7 +23,6 @@ const _ = grpc.SupportPackageIsVersion8 ...@@ -23,7 +23,6 @@ const _ = grpc.SupportPackageIsVersion8
const ( const (
ResourceService_CreateResource_FullMethodName = "/memos.api.v1.ResourceService/CreateResource" ResourceService_CreateResource_FullMethodName = "/memos.api.v1.ResourceService/CreateResource"
ResourceService_ListResources_FullMethodName = "/memos.api.v1.ResourceService/ListResources" ResourceService_ListResources_FullMethodName = "/memos.api.v1.ResourceService/ListResources"
ResourceService_SearchResources_FullMethodName = "/memos.api.v1.ResourceService/SearchResources"
ResourceService_GetResource_FullMethodName = "/memos.api.v1.ResourceService/GetResource" ResourceService_GetResource_FullMethodName = "/memos.api.v1.ResourceService/GetResource"
ResourceService_GetResourceByUid_FullMethodName = "/memos.api.v1.ResourceService/GetResourceByUid" ResourceService_GetResourceByUid_FullMethodName = "/memos.api.v1.ResourceService/GetResourceByUid"
ResourceService_GetResourceBinary_FullMethodName = "/memos.api.v1.ResourceService/GetResourceBinary" ResourceService_GetResourceBinary_FullMethodName = "/memos.api.v1.ResourceService/GetResourceBinary"
...@@ -39,8 +38,6 @@ type ResourceServiceClient interface { ...@@ -39,8 +38,6 @@ type ResourceServiceClient interface {
CreateResource(ctx context.Context, in *CreateResourceRequest, opts ...grpc.CallOption) (*Resource, error) CreateResource(ctx context.Context, in *CreateResourceRequest, opts ...grpc.CallOption) (*Resource, error)
// ListResources lists all resources. // ListResources lists all resources.
ListResources(ctx context.Context, in *ListResourcesRequest, opts ...grpc.CallOption) (*ListResourcesResponse, error) ListResources(ctx context.Context, in *ListResourcesRequest, opts ...grpc.CallOption) (*ListResourcesResponse, error)
// SearchResources searches memos.
SearchResources(ctx context.Context, in *SearchResourcesRequest, opts ...grpc.CallOption) (*SearchResourcesResponse, error)
// GetResource returns a resource by name. // GetResource returns a resource by name.
GetResource(ctx context.Context, in *GetResourceRequest, opts ...grpc.CallOption) (*Resource, error) GetResource(ctx context.Context, in *GetResourceRequest, opts ...grpc.CallOption) (*Resource, error)
// GetResourceByUid returns a resource by uid. // GetResourceByUid returns a resource by uid.
...@@ -81,16 +78,6 @@ func (c *resourceServiceClient) ListResources(ctx context.Context, in *ListResou ...@@ -81,16 +78,6 @@ func (c *resourceServiceClient) ListResources(ctx context.Context, in *ListResou
return out, nil return out, nil
} }
func (c *resourceServiceClient) SearchResources(ctx context.Context, in *SearchResourcesRequest, opts ...grpc.CallOption) (*SearchResourcesResponse, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(SearchResourcesResponse)
err := c.cc.Invoke(ctx, ResourceService_SearchResources_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resourceServiceClient) GetResource(ctx context.Context, in *GetResourceRequest, opts ...grpc.CallOption) (*Resource, error) { func (c *resourceServiceClient) GetResource(ctx context.Context, in *GetResourceRequest, opts ...grpc.CallOption) (*Resource, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(Resource) out := new(Resource)
...@@ -149,8 +136,6 @@ type ResourceServiceServer interface { ...@@ -149,8 +136,6 @@ type ResourceServiceServer interface {
CreateResource(context.Context, *CreateResourceRequest) (*Resource, error) CreateResource(context.Context, *CreateResourceRequest) (*Resource, error)
// ListResources lists all resources. // ListResources lists all resources.
ListResources(context.Context, *ListResourcesRequest) (*ListResourcesResponse, error) ListResources(context.Context, *ListResourcesRequest) (*ListResourcesResponse, error)
// SearchResources searches memos.
SearchResources(context.Context, *SearchResourcesRequest) (*SearchResourcesResponse, error)
// GetResource returns a resource by name. // GetResource returns a resource by name.
GetResource(context.Context, *GetResourceRequest) (*Resource, error) GetResource(context.Context, *GetResourceRequest) (*Resource, error)
// GetResourceByUid returns a resource by uid. // GetResourceByUid returns a resource by uid.
...@@ -174,9 +159,6 @@ func (UnimplementedResourceServiceServer) CreateResource(context.Context, *Creat ...@@ -174,9 +159,6 @@ func (UnimplementedResourceServiceServer) CreateResource(context.Context, *Creat
func (UnimplementedResourceServiceServer) ListResources(context.Context, *ListResourcesRequest) (*ListResourcesResponse, error) { func (UnimplementedResourceServiceServer) ListResources(context.Context, *ListResourcesRequest) (*ListResourcesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListResources not implemented") return nil, status.Errorf(codes.Unimplemented, "method ListResources not implemented")
} }
func (UnimplementedResourceServiceServer) SearchResources(context.Context, *SearchResourcesRequest) (*SearchResourcesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method SearchResources not implemented")
}
func (UnimplementedResourceServiceServer) GetResource(context.Context, *GetResourceRequest) (*Resource, error) { func (UnimplementedResourceServiceServer) GetResource(context.Context, *GetResourceRequest) (*Resource, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetResource not implemented") return nil, status.Errorf(codes.Unimplemented, "method GetResource not implemented")
} }
...@@ -241,24 +223,6 @@ func _ResourceService_ListResources_Handler(srv interface{}, ctx context.Context ...@@ -241,24 +223,6 @@ func _ResourceService_ListResources_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _ResourceService_SearchResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SearchResourcesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResourceServiceServer).SearchResources(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: ResourceService_SearchResources_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResourceServiceServer).SearchResources(ctx, req.(*SearchResourcesRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResourceService_GetResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _ResourceService_GetResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetResourceRequest) in := new(GetResourceRequest)
if err := dec(in); err != nil { if err := dec(in); err != nil {
...@@ -364,10 +328,6 @@ var ResourceService_ServiceDesc = grpc.ServiceDesc{ ...@@ -364,10 +328,6 @@ var ResourceService_ServiceDesc = grpc.ServiceDesc{
MethodName: "ListResources", MethodName: "ListResources",
Handler: _ResourceService_ListResources_Handler, Handler: _ResourceService_ListResources_Handler,
}, },
{
MethodName: "SearchResources",
Handler: _ResourceService_SearchResources_Handler,
},
{ {
MethodName: "GetResource", MethodName: "GetResource",
Handler: _ResourceService_GetResource_Handler, Handler: _ResourceService_GetResource_Handler,
......
...@@ -141,38 +141,6 @@ func (s *APIV1Service) ListMemos(ctx context.Context, request *v1pb.ListMemosReq ...@@ -141,38 +141,6 @@ func (s *APIV1Service) ListMemos(ctx context.Context, request *v1pb.ListMemosReq
return response, nil return response, nil
} }
func (s *APIV1Service) SearchMemos(ctx context.Context, request *v1pb.SearchMemosRequest) (*v1pb.SearchMemosResponse, error) {
defaultSearchLimit := 10
memoFind := &store.FindMemo{
// Exclude comments by default.
ExcludeComments: true,
Limit: &defaultSearchLimit,
}
err := s.buildMemoFindWithFilter(ctx, memoFind, request.Filter)
if err != nil {
return nil, status.Errorf(codes.InvalidArgument, "failed to build find memos with filter: %v", err)
}
memos, err := s.Store.ListMemos(ctx, memoFind)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to search memos: %v", err)
}
memoMessages := []*v1pb.Memo{}
for _, memo := range memos {
memoMessage, err := s.convertMemoFromStore(ctx, memo)
if err != nil {
return nil, errors.Wrap(err, "failed to convert memo")
}
memoMessages = append(memoMessages, memoMessage)
}
response := &v1pb.SearchMemosResponse{
Memos: memoMessages,
}
return response, nil
}
func (s *APIV1Service) GetMemo(ctx context.Context, request *v1pb.GetMemoRequest) (*v1pb.Memo, error) { func (s *APIV1Service) GetMemo(ctx context.Context, request *v1pb.GetMemoRequest) (*v1pb.Memo, error) {
id, err := ExtractMemoIDFromName(request.Name) id, err := ExtractMemoIDFromName(request.Name)
if err != nil { if err != nil {
...@@ -950,7 +918,7 @@ func (s *APIV1Service) buildMemoFindWithFilter(ctx context.Context, find *store. ...@@ -950,7 +918,7 @@ func (s *APIV1Service) buildMemoFindWithFilter(ctx context.Context, find *store.
find.PayloadFind = &store.FindMemoPayload{} find.PayloadFind = &store.FindMemoPayload{}
} }
if filter != "" { if filter != "" {
filter, err := parseSearchMemosFilter(filter) filter, err := parseMemoFilter(filter)
if err != nil { if err != nil {
return status.Errorf(codes.InvalidArgument, "invalid filter: %v", err) return status.Errorf(codes.InvalidArgument, "invalid filter: %v", err)
} }
...@@ -1067,8 +1035,8 @@ func (s *APIV1Service) getContentLengthLimit(ctx context.Context) (int, error) { ...@@ -1067,8 +1035,8 @@ func (s *APIV1Service) getContentLengthLimit(ctx context.Context) (int, error) {
return int(workspaceMemoRelatedSetting.ContentLengthLimit), nil return int(workspaceMemoRelatedSetting.ContentLengthLimit), nil
} }
// SearchMemosFilterCELAttributes are the CEL attributes. // MemoFilterCELAttributes are the CEL attributes.
var SearchMemosFilterCELAttributes = []cel.EnvOption{ var MemoFilterCELAttributes = []cel.EnvOption{
cel.Variable("content_search", cel.ListType(cel.StringType)), cel.Variable("content_search", cel.ListType(cel.StringType)),
cel.Variable("visibilities", cel.ListType(cel.StringType)), cel.Variable("visibilities", cel.ListType(cel.StringType)),
cel.Variable("tag", cel.StringType), cel.Variable("tag", cel.StringType),
...@@ -1087,7 +1055,7 @@ var SearchMemosFilterCELAttributes = []cel.EnvOption{ ...@@ -1087,7 +1055,7 @@ var SearchMemosFilterCELAttributes = []cel.EnvOption{
cel.Variable("has_incomplete_tasks", cel.BoolType), cel.Variable("has_incomplete_tasks", cel.BoolType),
} }
type SearchMemosFilter struct { type MemoFilter struct {
ContentSearch []string ContentSearch []string
Visibilities []store.Visibility Visibilities []store.Visibility
Tag *string Tag *string
...@@ -1105,8 +1073,8 @@ type SearchMemosFilter struct { ...@@ -1105,8 +1073,8 @@ type SearchMemosFilter struct {
HasIncompleteTasks bool HasIncompleteTasks bool
} }
func parseSearchMemosFilter(expression string) (*SearchMemosFilter, error) { func parseMemoFilter(expression string) (*MemoFilter, error) {
e, err := cel.NewEnv(SearchMemosFilterCELAttributes...) e, err := cel.NewEnv(MemoFilterCELAttributes...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -1114,17 +1082,17 @@ func parseSearchMemosFilter(expression string) (*SearchMemosFilter, error) { ...@@ -1114,17 +1082,17 @@ func parseSearchMemosFilter(expression string) (*SearchMemosFilter, error) {
if issues != nil { if issues != nil {
return nil, errors.Errorf("found issue %v", issues) return nil, errors.Errorf("found issue %v", issues)
} }
filter := &SearchMemosFilter{} filter := &MemoFilter{}
expr, err := cel.AstToParsedExpr(ast) expr, err := cel.AstToParsedExpr(ast)
if err != nil { if err != nil {
return nil, err return nil, err
} }
callExpr := expr.GetExpr().GetCallExpr() callExpr := expr.GetExpr().GetCallExpr()
findSearchMemosField(callExpr, filter) findMemoField(callExpr, filter)
return filter, nil return filter, nil
} }
func findSearchMemosField(callExpr *expr.Expr_Call, filter *SearchMemosFilter) { func findMemoField(callExpr *expr.Expr_Call, filter *MemoFilter) {
if len(callExpr.Args) == 2 { if len(callExpr.Args) == 2 {
idExpr := callExpr.Args[0].GetIdentExpr() idExpr := callExpr.Args[0].GetIdentExpr()
if idExpr != nil { if idExpr != nil {
...@@ -1188,7 +1156,7 @@ func findSearchMemosField(callExpr *expr.Expr_Call, filter *SearchMemosFilter) { ...@@ -1188,7 +1156,7 @@ func findSearchMemosField(callExpr *expr.Expr_Call, filter *SearchMemosFilter) {
for _, arg := range callExpr.Args { for _, arg := range callExpr.Args {
callExpr := arg.GetCallExpr() callExpr := arg.GetCallExpr()
if callExpr != nil { if callExpr != nil {
findSearchMemosField(callExpr, filter) findMemoField(callExpr, filter)
} }
} }
} }
......
...@@ -12,10 +12,8 @@ import ( ...@@ -12,10 +12,8 @@ import (
"strings" "strings"
"time" "time"
"github.com/google/cel-go/cel"
"github.com/lithammer/shortuuid/v4" "github.com/lithammer/shortuuid/v4"
"github.com/pkg/errors" "github.com/pkg/errors"
expr "google.golang.org/genproto/googleapis/api/expr/v1alpha1"
"google.golang.org/genproto/googleapis/api/httpbody" "google.golang.org/genproto/googleapis/api/httpbody"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/status" "google.golang.org/grpc/status"
...@@ -102,35 +100,6 @@ func (s *APIV1Service) ListResources(ctx context.Context, _ *v1pb.ListResourcesR ...@@ -102,35 +100,6 @@ func (s *APIV1Service) ListResources(ctx context.Context, _ *v1pb.ListResourcesR
return response, nil return response, nil
} }
func (s *APIV1Service) SearchResources(ctx context.Context, request *v1pb.SearchResourcesRequest) (*v1pb.SearchResourcesResponse, error) {
if request.Filter == "" {
return nil, status.Errorf(codes.InvalidArgument, "filter is empty")
}
filter, err := parseSearchResourcesFilter(request.Filter)
if err != nil {
return nil, status.Errorf(codes.InvalidArgument, "failed to parse filter: %v", err)
}
resourceFind := &store.FindResource{}
if filter.Filename != nil {
resourceFind.FilenameSearch = filter.Filename
}
user, err := s.GetCurrentUser(ctx)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}
resourceFind.CreatorID = &user.ID
resources, err := s.Store.ListResources(ctx, resourceFind)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to search resources: %v", err)
}
response := &v1pb.SearchResourcesResponse{}
for _, resource := range resources {
response.Resources = append(response.Resources, s.convertResourceFromStore(ctx, resource))
}
return response, nil
}
func (s *APIV1Service) GetResource(ctx context.Context, request *v1pb.GetResourceRequest) (*v1pb.Resource, error) { func (s *APIV1Service) GetResource(ctx context.Context, request *v1pb.GetResourceRequest) (*v1pb.Resource, error) {
id, err := ExtractResourceIDFromName(request.Name) id, err := ExtractResourceIDFromName(request.Name)
if err != nil { if err != nil {
...@@ -437,50 +406,3 @@ func replaceFilenameWithPathTemplate(path, filename string) string { ...@@ -437,50 +406,3 @@ func replaceFilenameWithPathTemplate(path, filename string) string {
}) })
return path return path
} }
// SearchResourcesFilterCELAttributes are the CEL attributes for SearchResourcesFilter.
var SearchResourcesFilterCELAttributes = []cel.EnvOption{
cel.Variable("filename", cel.StringType),
}
type SearchResourcesFilter struct {
Filename *string
}
func parseSearchResourcesFilter(expression string) (*SearchResourcesFilter, error) {
e, err := cel.NewEnv(SearchResourcesFilterCELAttributes...)
if err != nil {
return nil, err
}
ast, issues := e.Compile(expression)
if issues != nil {
return nil, errors.Errorf("found issue %v", issues)
}
filter := &SearchResourcesFilter{}
expr, err := cel.AstToParsedExpr(ast)
if err != nil {
return nil, err
}
callExpr := expr.GetExpr().GetCallExpr()
findSearchResourcesField(callExpr, filter)
return filter, nil
}
func findSearchResourcesField(callExpr *expr.Expr_Call, filter *SearchResourcesFilter) {
if len(callExpr.Args) == 2 {
idExpr := callExpr.Args[0].GetIdentExpr()
if idExpr != nil {
if idExpr.Name == "filename" {
filename := callExpr.Args[1].GetConstExpr().GetStringValue()
filter.Filename = &filename
}
return
}
}
for _, arg := range callExpr.Args {
callExpr := arg.GetCallExpr()
if callExpr != nil {
findSearchResourcesField(callExpr, filter)
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment