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