admin.gno

0.55 Kb ยท 24 lines
 1package guestbook
 2
 3import (
 4	"gno.land/p/demo/ownable"
 5	"gno.land/p/demo/seqid"
 6)
 7
 8var owner = ownable.NewWithOrigin()
 9
10// AdminDelete removes the guestbook message with the given ID.
11// The user will still be marked as having submitted a message, so they
12// won't be able to re-submit a new message.
13func AdminDelete(cur realm, signatureID string) {
14	owner.AssertOwnedByPrevious()
15	id, err := seqid.FromString(signatureID)
16	if err != nil {
17		panic(err)
18	}
19	idb := id.Binary()
20	if !guestbook.Has(idb) {
21		panic("signature does not exist")
22	}
23	guestbook.Remove(idb)
24}