feat: add absorb command — merge source entity into target
DB: Absorb() merges body (newline-separated), unions tags, demotes
crystallized sources, soft-deletes source. Rejects crystallized targets.
API: POST /api/entities/:id/absorb { source_id }
CLI: nib absorb <target> <source> with prefix ID resolution
Web: absorb button on fluid entities, 'a' keyboard shortcut,
source picker modal
This commit is contained in:
@@ -31,6 +31,7 @@ func NewRouter(store *db.Store, devMode bool, webFS ...fs.FS) chi.Router {
|
||||
r.Post("/entities/{id}/promote", promoteEntity(store))
|
||||
r.Post("/entities/{id}/demote", demoteEntity(store))
|
||||
r.Post("/entities/{id}/use", useEntity(store))
|
||||
r.Post("/entities/{id}/absorb", absorbEntity(store))
|
||||
r.Get("/tags", listTags(store))
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user