Commit e5c9d860 authored by steven's avatar steven

feat: compose memo resource list

parent b2c22977
......@@ -40,6 +40,7 @@ type Memo struct {
// Related fields
Creator *User `json:"creator"`
ResourceList []*Resource `json:"resourceList"`
}
type MemoCreate struct {
......
......@@ -57,8 +57,10 @@ func (s *Store) composeMemo(ctx context.Context, raw *memoRaw) (*api.Memo, error
memo.Pinned = memoOrganizer.Pinned
}
err = s.ComposeMemoCreator(ctx, memo)
if err != nil {
if err = s.ComposeMemoCreator(ctx, memo); err != nil {
return nil, err
}
if err = s.ComposeMemoResourceList(ctx, memo); err != nil {
return nil, err
}
......
......@@ -28,6 +28,31 @@ func (raw *memoResourceRaw) toMemoResource() *api.MemoResource {
}
}
func (s *Store) ComposeMemoResourceList(ctx context.Context, memo *api.Memo) error {
memoResourceList, err := s.FindMemoResourceList(ctx, &api.MemoResourceFind{
MemoID: &memo.ID,
})
if err != nil {
return err
}
resourceList := []*api.Resource{}
for _, memoResource := range memoResourceList {
resource, err := s.FindResource(ctx, &api.ResourceFind{
ID: &memoResource.ResourceID,
})
if err != nil {
return err
}
resourceList = append(resourceList, resource)
}
memo.ResourceList = resourceList
return nil
}
func (s *Store) FindMemoResourceList(ctx context.Context, find *api.MemoResourceFind) ([]*api.MemoResource, error) {
tx, err := s.db.BeginTx(ctx, nil)
if err != nil {
......
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