mirror of
https://github.com/usememos/memos.git
synced 2025-10-22 20:26:00 +08:00
feat: compose memo resource list
This commit is contained in:
parent
b2c22977c1
commit
e5c9d8604d
3 changed files with 31 additions and 3 deletions
|
@ -39,7 +39,8 @@ type Memo struct {
|
||||||
Pinned bool `json:"pinned"`
|
Pinned bool `json:"pinned"`
|
||||||
|
|
||||||
// Related fields
|
// Related fields
|
||||||
Creator *User `json:"creator"`
|
Creator *User `json:"creator"`
|
||||||
|
ResourceList []*Resource `json:"resourceList"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MemoCreate struct {
|
type MemoCreate struct {
|
||||||
|
|
|
@ -57,8 +57,10 @@ func (s *Store) composeMemo(ctx context.Context, raw *memoRaw) (*api.Memo, error
|
||||||
memo.Pinned = memoOrganizer.Pinned
|
memo.Pinned = memoOrganizer.Pinned
|
||||||
}
|
}
|
||||||
|
|
||||||
err = s.ComposeMemoCreator(ctx, memo)
|
if err = s.ComposeMemoCreator(ctx, memo); err != nil {
|
||||||
if err != nil {
|
return nil, err
|
||||||
|
}
|
||||||
|
if err = s.ComposeMemoResourceList(ctx, memo); err != nil {
|
||||||
return nil, err
|
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) {
|
func (s *Store) FindMemoResourceList(ctx context.Context, find *api.MemoResourceFind) ([]*api.MemoResource, error) {
|
||||||
tx, err := s.db.BeginTx(ctx, nil)
|
tx, err := s.db.BeginTx(ctx, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Add table
Reference in a new issue