Update git remote URL from git.threefold.info to git.ourworld.tf
This commit is contained in:
@@ -1,61 +1,29 @@
|
||||
module marketplace
|
||||
module finance
|
||||
|
||||
import base
|
||||
import freeflowuniverse.herolib.data.ourtime
|
||||
import asset // For AssetType
|
||||
// ListingStatus, ListingType enums and Bid struct are used from the same module
|
||||
import freeflowuniverse.herolib.hero.models.core
|
||||
|
||||
// Listing represents a marketplace listing for an asset
|
||||
pub struct Listing {
|
||||
base.Base // Provides id, created_at, updated_at
|
||||
// Marketplace represents a platform for buying and selling goods/services
|
||||
// Can be internal or external marketplace configurations
|
||||
pub struct Marketplace {
|
||||
core.Base
|
||||
pub mut:
|
||||
title string
|
||||
description string
|
||||
asset_id string
|
||||
asset_type asset.AssetType // Enum from the asset model
|
||||
seller_id string
|
||||
price f64 // Initial price for fixed price, or starting price for auction
|
||||
currency string
|
||||
listing_type ListingType
|
||||
status ListingStatus
|
||||
expires_at ourtime.OurTime // Optional
|
||||
sold_at ourtime.OurTime // Optional
|
||||
buyer_id string // Optional
|
||||
sale_price f64 // Optional
|
||||
bids []Bid // List of bids for auction type listings
|
||||
tags []string
|
||||
image_url string // Optional
|
||||
name string // Marketplace name (e.g., "Amazon", "eBay") @[index]
|
||||
marketplace_type MarketplaceType
|
||||
api_endpoint string // API endpoint for marketplace integration
|
||||
api_key string // Authentication key for API access
|
||||
currency string // Default currency for transactions
|
||||
fee_percentage f64 // Marketplace fee as percentage (0.0-100.0)
|
||||
is_active bool // Whether marketplace is currently enabled
|
||||
description string // Detailed marketplace description
|
||||
support_email string // Contact email for support issues
|
||||
}
|
||||
|
||||
// ListingStatus defines the status of a marketplace listing
|
||||
pub enum ListingStatus {
|
||||
active
|
||||
sold
|
||||
cancelled
|
||||
expired
|
||||
}
|
||||
|
||||
// ListingType defines the type of marketplace listing
|
||||
pub enum ListingType {
|
||||
fixed_price
|
||||
// MarketplaceType defines the type of marketplace platform
|
||||
pub enum MarketplaceType {
|
||||
centralized
|
||||
decentralized
|
||||
peer_to_peer
|
||||
auction
|
||||
exchange
|
||||
classified
|
||||
other
|
||||
}
|
||||
|
||||
// Bid represents a bid on an auction listing
|
||||
pub struct Bid {
|
||||
pub mut:
|
||||
listing_id string // ID of the listing this bid belongs to
|
||||
bidder_id u32
|
||||
amount f64
|
||||
currency string
|
||||
status BidStatus
|
||||
}
|
||||
|
||||
// BidStatus defines the status of a bid on an auction listing
|
||||
pub enum BidStatus {
|
||||
active
|
||||
accepted
|
||||
rejected
|
||||
cancelled
|
||||
}
|
Reference in New Issue
Block a user