Open humamaboalraja opened 2 years ago
prisma.events.create({
listingId: "abc",
userId: "xyz",
create: {
eventData: {
eventType: "owner_auction_created",
price: "10"
}
}
})
owner_sale_created Sale Created
owner_sale_ended: Sale Ended
buyer_sale_created: Listing Purchased
owner_bid_received: Bid Received -> [Accept Bid if no reserve price]
buyer_bid_received: Bid Made [Withdraw Funds if no reserve price]
owner_bid_accepted: Bid Accepted
buyer_bid_accepted: Bid Accepted
buyer_bid_lost: Bid Lost -> [Withdraw Funds]
owner_bid_automatically_accepted: Bid Automatically Accepted
buyer_bid_automatically_accepted: Bid Won
buyer_bid_automatically_lost: Bid Lost -> [Withdraw Funds]
artist_sale_received_royalties: Received Royalties on Sale
artist_auction_received_royalties: Received Royalties on Auction
buyer_bid_exceeded: Bid Exceeded ```
CREATE TABLE events
(
id SERIAL PRIMARY KEY,
listingId foreignKeyToArtwork NOT NULL,
userId foreignKeyToUser NOT NULL,
version BIGINT NOT NULL,
eventData foreignKeyToEventData NOT NULL,
UNIQUE (stream_id, version)
);
CREATE TABLE eventData
(
id SERIAL PRIMARY KEY,
eventType enum NOT NULL,
price BIGINT NOT NULL
txHash BIGINT NOT NULL
createdAt Date
)
Query ArtworkEvents(artworkId: string) {
get all events where artworkId === streamId and order by version
}
Query UserEvents(userId: string) {
get all artworks from user,
where user_id === userId and order by version
}
TODOS
Events types