paid-acl-interface.go raw
1 //go:build !(js && wasm)
2
3 package database
4
5 // SavePaidSubscription saves or updates a paid subscription.
6 // Delegates to the PaidACL storage layer.
7 func (d *D) SavePaidSubscription(sub *PaidSubscription) error {
8 p := NewPaidACL(d)
9 return p.SaveSubscription(sub)
10 }
11
12 // GetPaidSubscription returns the paid subscription for a pubkey.
13 func (d *D) GetPaidSubscription(pubkeyHex string) (*PaidSubscription, error) {
14 p := NewPaidACL(d)
15 return p.GetSubscription(pubkeyHex)
16 }
17
18 // DeletePaidSubscription removes a paid subscription.
19 func (d *D) DeletePaidSubscription(pubkeyHex string) error {
20 p := NewPaidACL(d)
21 return p.DeleteSubscription(pubkeyHex)
22 }
23
24 // ListPaidSubscriptions returns all paid subscriptions.
25 func (d *D) ListPaidSubscriptions() ([]*PaidSubscription, error) {
26 p := NewPaidACL(d)
27 return p.ListSubscriptions()
28 }
29
30 // ClaimAlias atomically claims an alias for a pubkey.
31 func (d *D) ClaimAlias(alias, pubkeyHex string) error {
32 p := NewPaidACL(d)
33 return p.ClaimAlias(alias, pubkeyHex)
34 }
35
36 // GetAliasByPubkey returns the alias for a pubkey, or "" if none.
37 func (d *D) GetAliasByPubkey(pubkeyHex string) (string, error) {
38 p := NewPaidACL(d)
39 return p.GetAliasByPubkey(pubkeyHex)
40 }
41
42 // GetPubkeyByAlias returns the pubkey for an alias, or "" if not found.
43 func (d *D) GetPubkeyByAlias(alias string) (string, error) {
44 p := NewPaidACL(d)
45 return p.GetPubkeyByAlias(alias)
46 }
47
48 // IsAliasTaken returns true if the alias is claimed by any pubkey.
49 func (d *D) IsAliasTaken(alias string) (bool, error) {
50 p := NewPaidACL(d)
51 return p.IsAliasTaken(alias)
52 }
53