Monorepo for Tangled tangled.org

appview/models: fix logic issue when converting label record -> label ops

the ordering of ops should be deletes first followed by additions, in
order for ingestions to be idempotent. after every optimistic update the
the DB, we ingest the same record via the firehose. an ordering
difference resulted in certain additions being marked as no-ops when in
reality, it should be an addition followed by a deletion.

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 02f03ccd 34e02d1f

verified
Changed files
+5 -4
appview
models
+5 -4
appview/models/label.go
··· 232 232 } 233 233 234 234 var ops []LabelOp 235 - for _, o := range record.Add { 235 + // deletes first, then additions 236 + for _, o := range record.Delete { 236 237 if o != nil { 237 238 op := mkOp(o) 238 - op.Operation = LabelOperationAdd 239 + op.Operation = LabelOperationDel 239 240 ops = append(ops, op) 240 241 } 241 242 } 242 - for _, o := range record.Delete { 243 + for _, o := range record.Add { 243 244 if o != nil { 244 245 op := mkOp(o) 245 - op.Operation = LabelOperationDel 246 + op.Operation = LabelOperationAdd 246 247 ops = append(ops, op) 247 248 } 248 249 }