feat: add to_nostr_event for product

This commit is contained in:
Vlad Stan 2023-03-02 18:45:27 +02:00
parent 62e7d439c7
commit 8ce68f38f6

View file

@ -153,6 +153,28 @@ class PartialProduct(BaseModel):
class Product(PartialProduct):
id: str
def to_nostr_event(self, pubkey: str) -> NostrEvent:
content = {
"stall_id": self.stall_id,
"name": self.name,
"description": self.description,
"image": self.image,
"price": self.price,
"quantity": self.quantity,
}
categories = [["t", tag] for tag in self.categories]
event = NostrEvent(
pubkey=pubkey,
created_at=round(time.time()),
kind=30005,
tags=[["d", self.id]] + categories,
content=json.dumps(content, separators=(",", ":"), ensure_ascii=False),
)
event.id = event.event_id
return event
@classmethod
def from_row(cls, row: Row) -> "Product":
product = cls(**dict(row))