|
|
@ -102,15 +102,13 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if s.Profile.IsDev() {
|
|
|
|
for _, memoRelationUpsert := range memoCreate.RelationList {
|
|
|
|
for _, memoRelationUpsert := range memoCreate.RelationList {
|
|
|
|
if _, err := s.Store.UpsertMemoRelation(ctx, &store.MemoRelationMessage{
|
|
|
|
if _, err := s.Store.UpsertMemoRelation(ctx, &store.MemoRelationMessage{
|
|
|
|
MemoID: memo.ID,
|
|
|
|
MemoID: memo.ID,
|
|
|
|
RelatedMemoID: memoRelationUpsert.RelatedMemoID,
|
|
|
|
RelatedMemoID: memoRelationUpsert.RelatedMemoID,
|
|
|
|
Type: store.MemoRelationType(memoRelationUpsert.Type),
|
|
|
|
Type: store.MemoRelationType(memoRelationUpsert.Type),
|
|
|
|
}); err != nil {
|
|
|
|
}); err != nil {
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to upsert memo relation").SetInternal(err)
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to upsert memo relation").SetInternal(err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -187,34 +185,32 @@ func (s *Server) registerMemoRoutes(g *echo.Group) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if s.Profile.IsDev() {
|
|
|
|
patchMemoRelationList := make([]*api.MemoRelation, 0)
|
|
|
|
patchMemoRelationList := make([]*api.MemoRelation, 0)
|
|
|
|
for _, memoRelationUpsert := range memoPatch.RelationList {
|
|
|
|
for _, memoRelationUpsert := range memoPatch.RelationList {
|
|
|
|
patchMemoRelationList = append(patchMemoRelationList, &api.MemoRelation{
|
|
|
|
patchMemoRelationList = append(patchMemoRelationList, &api.MemoRelation{
|
|
|
|
MemoID: memo.ID,
|
|
|
|
MemoID: memo.ID,
|
|
|
|
RelatedMemoID: memoRelationUpsert.RelatedMemoID,
|
|
|
|
RelatedMemoID: memoRelationUpsert.RelatedMemoID,
|
|
|
|
Type: memoRelationUpsert.Type,
|
|
|
|
Type: memoRelationUpsert.Type,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
addedMemoRelationList, removedMemoRelationList := getMemoRelationListDiff(memo.RelationList, patchMemoRelationList)
|
|
|
|
addedMemoRelationList, removedMemoRelationList := getMemoRelationListDiff(memo.RelationList, patchMemoRelationList)
|
|
|
|
for _, memoRelation := range addedMemoRelationList {
|
|
|
|
for _, memoRelation := range addedMemoRelationList {
|
|
|
|
if _, err := s.Store.UpsertMemoRelation(ctx, &store.MemoRelationMessage{
|
|
|
|
if _, err := s.Store.UpsertMemoRelation(ctx, &store.MemoRelationMessage{
|
|
|
|
MemoID: memo.ID,
|
|
|
|
MemoID: memo.ID,
|
|
|
|
RelatedMemoID: memoRelation.RelatedMemoID,
|
|
|
|
RelatedMemoID: memoRelation.RelatedMemoID,
|
|
|
|
Type: store.MemoRelationType(memoRelation.Type),
|
|
|
|
Type: store.MemoRelationType(memoRelation.Type),
|
|
|
|
}); err != nil {
|
|
|
|
}); err != nil {
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to upsert memo relation").SetInternal(err)
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to upsert memo relation").SetInternal(err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for _, memoRelation := range removedMemoRelationList {
|
|
|
|
}
|
|
|
|
memoRelationType := store.MemoRelationType(memoRelation.Type)
|
|
|
|
for _, memoRelation := range removedMemoRelationList {
|
|
|
|
if err := s.Store.DeleteMemoRelation(ctx, &store.DeleteMemoRelationMessage{
|
|
|
|
memoRelationType := store.MemoRelationType(memoRelation.Type)
|
|
|
|
MemoID: &memo.ID,
|
|
|
|
if err := s.Store.DeleteMemoRelation(ctx, &store.DeleteMemoRelationMessage{
|
|
|
|
RelatedMemoID: &memoRelation.RelatedMemoID,
|
|
|
|
MemoID: &memo.ID,
|
|
|
|
Type: &memoRelationType,
|
|
|
|
RelatedMemoID: &memoRelation.RelatedMemoID,
|
|
|
|
}); err != nil {
|
|
|
|
Type: &memoRelationType,
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to delete memo relation").SetInternal(err)
|
|
|
|
}); err != nil {
|
|
|
|
}
|
|
|
|
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to delete memo relation").SetInternal(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|