DATA OBJECT MANAGEMENT
Ebaycclone Admin Panel
This document provides comprehensive information about how the Ebaycclone Admin Panel manages data objects, including CRUD operations, validation, relationships, and user interface generation.
Architectural Design Credit and Contact Information
The architectural design of this data object management system is credited to Mindbricks Genesis Engine.
We encourage open communication and welcome any questions or discussions related to the architectural aspects of this data object management system.
Documentation Scope
This guide covers the complete data object management system within the Ebaycclone Admin Panel. It includes dynamic UI generation, CRUD operations, data validation, relationship management, and user experience patterns.
Intended Audience
This documentation is intended for frontend developers, UI/UX designers, and system administrators who need to understand how data objects are managed, displayed, and manipulated within the admin panel.
Data Object Architecture
Overview
The admin panel implements a basic data object management system that generates simple CRUD interfaces for data objects defined in the backend services. Each data object is represented by a data grid for listing and basic modal components for create/update/delete operations.
Data Object Structure
Core Data Object Properties
- Name: Unique identifier for the data object
- Display Name: Human-readable name for UI display
- Component Name: React component name for rendering
- Properties: Array of data object properties with types
Dynamic UI Generation
Component Generation Pattern
// Data object component structure AuctionOffer auctionOfferOffer
const DataObjectComponentAuctionOfferAuctionOfferOffer = {
// List view for displaying multiple records
ListView: {
component: 'AuctionOfferAuctionOfferOfferAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'AuctionOfferAuctionOfferOfferAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'AuctionOfferAuctionOfferOfferAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'AuctionOfferAuctionOfferOfferAppPageDeleteModal',
lazy: true
}
};
// Data object component structure AuctionOffer auctionOfferBid
const DataObjectComponentAuctionOfferAuctionOfferBid = {
// List view for displaying multiple records
ListView: {
component: 'AuctionOfferAuctionOfferBidAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'AuctionOfferAuctionOfferBidAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'AuctionOfferAuctionOfferBidAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'AuctionOfferAuctionOfferBidAppPageDeleteModal',
lazy: true
}
};
// Data object component structure CategoryManagement category
const DataObjectComponentCategoryManagementCategory = {
// List view for displaying multiple records
ListView: {
component: 'CategoryManagementCategoryAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'CategoryManagementCategoryAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'CategoryManagementCategoryAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'CategoryManagementCategoryAppPageDeleteModal',
lazy: true
}
};
// Data object component structure CategoryManagement subcategory
const DataObjectComponentCategoryManagementSubcategory = {
// List view for displaying multiple records
ListView: {
component: 'CategoryManagementSubcategoryAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'CategoryManagementSubcategoryAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'CategoryManagementSubcategoryAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'CategoryManagementSubcategoryAppPageDeleteModal',
lazy: true
}
};
// Data object component structure Messaging messagingMessage
const DataObjectComponentMessagingMessagingMessage = {
// List view for displaying multiple records
ListView: {
component: 'MessagingMessagingMessageAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'MessagingMessagingMessageAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'MessagingMessagingMessageAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'MessagingMessagingMessageAppPageDeleteModal',
lazy: true
}
};
// Data object component structure NotificationManagement notification
const DataObjectComponentNotificationManagementNotification = {
// List view for displaying multiple records
ListView: {
component: 'NotificationManagementNotificationAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'NotificationManagementNotificationAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'NotificationManagementNotificationAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'NotificationManagementNotificationAppPageDeleteModal',
lazy: true
}
};
// Data object component structure SearchIndexing searchIndex
const DataObjectComponentSearchIndexingSearchIndex = {
// List view for displaying multiple records
ListView: {
component: 'SearchIndexingSearchIndexAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'SearchIndexingSearchIndexAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'SearchIndexingSearchIndexAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'SearchIndexingSearchIndexAppPageDeleteModal',
lazy: true
}
};
// Data object component structure AdminModeration moderationAction
const DataObjectComponentAdminModerationModerationAction = {
// List view for displaying multiple records
ListView: {
component: 'AdminModerationModerationActionAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'AdminModerationModerationActionAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'AdminModerationModerationActionAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'AdminModerationModerationActionAppPageDeleteModal',
lazy: true
}
};
// Data object component structure WatchlistCart watchlistItem
const DataObjectComponentWatchlistCartWatchlistItem = {
// List view for displaying multiple records
ListView: {
component: 'WatchlistCartWatchlistItemAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'WatchlistCartWatchlistItemAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'WatchlistCartWatchlistItemAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'WatchlistCartWatchlistItemAppPageDeleteModal',
lazy: true
}
};
// Data object component structure WatchlistCart cartItem
const DataObjectComponentWatchlistCartCartItem = {
// List view for displaying multiple records
ListView: {
component: 'WatchlistCartCartItemAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'WatchlistCartCartItemAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'WatchlistCartCartItemAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'WatchlistCartCartItemAppPageDeleteModal',
lazy: true
}
};
// Data object component structure WatchlistCart watchlistList
const DataObjectComponentWatchlistCartWatchlistList = {
// List view for displaying multiple records
ListView: {
component: 'WatchlistCartWatchlistListAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'WatchlistCartWatchlistListAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'WatchlistCartWatchlistListAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'WatchlistCartWatchlistListAppPageDeleteModal',
lazy: true
}
};
// Data object component structure ProductListing productListingMedia
const DataObjectComponentProductListingProductListingMedia = {
// List view for displaying multiple records
ListView: {
component: 'ProductListingProductListingMediaAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'ProductListingProductListingMediaAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'ProductListingProductListingMediaAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'ProductListingProductListingMediaAppPageDeleteModal',
lazy: true
}
};
// Data object component structure ProductListing productListingProduct
const DataObjectComponentProductListingProductListingProduct = {
// List view for displaying multiple records
ListView: {
component: 'ProductListingProductListingProductAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'ProductListingProductListingProductAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'ProductListingProductListingProductAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'ProductListingProductListingProductAppPageDeleteModal',
lazy: true
}
};
// Data object component structure OrderManagement orderManagementOrder
const DataObjectComponentOrderManagementOrderManagementOrder = {
// List view for displaying multiple records
ListView: {
component: 'OrderManagementOrderManagementOrderAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'OrderManagementOrderManagementOrderAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'OrderManagementOrderManagementOrderAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'OrderManagementOrderManagementOrderAppPageDeleteModal',
lazy: true
}
};
// Data object component structure OrderManagement orderManagementOrderItem
const DataObjectComponentOrderManagementOrderManagementOrderItem = {
// List view for displaying multiple records
ListView: {
component: 'OrderManagementOrderManagementOrderItemAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'OrderManagementOrderManagementOrderItemAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'OrderManagementOrderManagementOrderItemAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'OrderManagementOrderManagementOrderItemAppPageDeleteModal',
lazy: true
}
};
// Data object component structure OrderManagement sys_orderManagementOrderPayment
const DataObjectComponentOrderManagementSys_orderManagementOrderPayment = {
// List view for displaying multiple records
ListView: {
component: 'OrderManagementSys_orderManagementOrderPaymentAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'OrderManagementSys_orderManagementOrderPaymentAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'OrderManagementSys_orderManagementOrderPaymentAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'OrderManagementSys_orderManagementOrderPaymentAppPageDeleteModal',
lazy: true
}
};
// Data object component structure OrderManagement sys_paymentCustomer
const DataObjectComponentOrderManagementSys_paymentCustomer = {
// List view for displaying multiple records
ListView: {
component: 'OrderManagementSys_paymentCustomerAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'OrderManagementSys_paymentCustomerAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'OrderManagementSys_paymentCustomerAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'OrderManagementSys_paymentCustomerAppPageDeleteModal',
lazy: true
}
};
// Data object component structure OrderManagement sys_paymentMethod
const DataObjectComponentOrderManagementSys_paymentMethod = {
// List view for displaying multiple records
ListView: {
component: 'OrderManagementSys_paymentMethodAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'OrderManagementSys_paymentMethodAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'OrderManagementSys_paymentMethodAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'OrderManagementSys_paymentMethodAppPageDeleteModal',
lazy: true
}
};
// Data object component structure Feedback feedback
const DataObjectComponentFeedbackFeedback = {
// List view for displaying multiple records
ListView: {
component: 'FeedbackFeedbackAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'FeedbackFeedbackAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'FeedbackFeedbackAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'FeedbackFeedbackAppPageDeleteModal',
lazy: true
}
};
// Data object component structure Auth user
const DataObjectComponentAuthUser = {
// List view for displaying multiple records
ListView: {
component: 'AuthUserAppPage',
features: ['data-grid', 'export', 'filtering', 'search']
},
// Modal components for data manipulation
CreateModal: {
component: 'AuthUserAppPageCreateModal',
lazy: true
},
UpdateModal: {
component: 'AuthUserAppPageUpdateModal',
lazy: true
},
// Action components
DeleteModal: {
component: 'AuthUserAppPageDeleteModal',
lazy: true
}
};
Service Data Objects
AuctionOffer Service Data Objects
Service Overview
-
Service Name:
auctionOffer -
Service Display Name:
AuctionOffer - Total Data Objects: 2
Data Objects
AuctionOfferOffer Data Object
Basic Information
-
Object Name:
auctionOfferOffer -
Display Name:
AuctionOfferOffer -
Component Name:
AuctionOfferAuctionOfferOfferAppPage - Description: Represents an offer (best offer/counter-offer) made on a fixed-price product. Tracks buyer, seller, amounts, currency, state transitions, counter-offers, and expiry.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| buyerId | ID | | N/A | Buyer making the offer. |
| currency | String | | N/A | ISO currency (e.g., USD, EUR) for the offer. |
| productId | ID | | N/A | Product the offer applies to (must be fixed-price, acceptOffers true). |
| counterOfferId | ID | | N/A | References another offer (counter-offer chain). |
| counterMessage | String | | N/A | Message accompanying seller's counter-offer (optional). |
| counterAmount | Double | | N/A | Counter-offer amount (when offer is COUNTERED). |
| offerAmount | Double | | N/A | Primary offer amount from buyer. |
| message | String | | N/A | Message/special notes from buyer (optional). |
| sellerId | ID | | N/A | Seller of the product (recipient of offer; auto-fetched from product). |
| status | Enum | | N/A | Current offer status (e.g., PENDING, ACCEPTED, DECLINED, COUNTERED, EXPIRED, CANCELLED). |
| expiresAt | Date | | N/A | When this offer expires (optional). |
| respondedAt | Date | | N/A | When the seller (or buyer, for counter-offer) responded/updated the offer status. |
Enum Properties
status Enum Property
Property Definition: Current offer status (e.g., PENDING, ACCEPTED, DECLINED, COUNTERED, EXPIRED, CANCELLED).
Enum Options
| Name | Value | Index |
|---|
| PENDING |
"PENDING"
| 0 |
| ACCEPTED |
"ACCEPTED"
| 1 |
| DECLINED |
"DECLINED"
| 2 |
| COUNTERED |
"COUNTERED"
| 3 |
| EXPIRED |
"EXPIRED"
| 4 |
| CANCELLED |
"CANCELLED"
| 5 |
Generated UI Components
-
List Component:
AuctionOfferAuctionOfferOfferAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
AuctionOfferAuctionOfferOfferAppPageCreateModal- Form for creating new records -
Update Modal:
AuctionOfferAuctionOfferOfferAppPageUpdateModal- Form for editing existing records -
Delete Modal:
AuctionOfferAuctionOfferOfferAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /auctionOfferOffer/list- Retrieve paginated list of records -
Get:
GET /auctionOfferOffer/get- Retrieve single record by ID -
Create:
POST /auctionOfferOffer/create- Create new record -
Update:
PUT /auctionOfferOffer/update- Update existing record -
Delete:
DELETE /auctionOfferOffer/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/auctionOffer/auctionOfferOffer -
Create Route:
/dashboard/auctionOffer/auctionOfferOffer/create -
Update Route:
/dashboard/auctionOffer/auctionOfferOffer/update/:id -
Delete Route:
/dashboard/auctionOffer/auctionOfferOffer/delete/:id
AuctionOfferBid Data Object
Basic Information
-
Object Name:
auctionOfferBid -
Display Name:
AuctionOfferBid -
Component Name:
AuctionOfferAuctionOfferBidAppPage - Description: Represents an individual bid placed on an auction-type product. Linked to product and user, tracks bid amount, currency, status (ACTIVE, WON, LOST, CANCELLED), and time placed.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| userId | ID | | N/A | User placing the bid. |
| bidAmount | Double | | N/A | Bid amount placed by the user. |
| placedAt | Date | | N/A | When the bid was placed. |
| currency | String | | N/A | ISO currency for the bid (e.g., USD, EUR). |
| status | Enum | | N/A | Bid status: ACTIVE, WON, LOST, CANCELLED. |
| productId | ID | | N/A | Product being bid on (must be AUCTION type). |
Enum Properties
status Enum Property
Property Definition: Bid status: ACTIVE, WON, LOST, CANCELLED.
Enum Options
| Name | Value | Index |
|---|
| ACTIVE |
"ACTIVE"
| 0 |
| WON |
"WON"
| 1 |
| LOST |
"LOST"
| 2 |
| CANCELLED |
"CANCELLED"
| 3 |
Generated UI Components
-
List Component:
AuctionOfferAuctionOfferBidAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
AuctionOfferAuctionOfferBidAppPageCreateModal- Form for creating new records -
Update Modal:
AuctionOfferAuctionOfferBidAppPageUpdateModal- Form for editing existing records -
Delete Modal:
AuctionOfferAuctionOfferBidAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /auctionOfferBid/list- Retrieve paginated list of records -
Get:
GET /auctionOfferBid/get- Retrieve single record by ID -
Create:
POST /auctionOfferBid/create- Create new record -
Update:
PUT /auctionOfferBid/update- Update existing record -
Delete:
DELETE /auctionOfferBid/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/auctionOffer/auctionOfferBid -
Create Route:
/dashboard/auctionOffer/auctionOfferBid/create -
Update Route:
/dashboard/auctionOffer/auctionOfferBid/update/:id -
Delete Route:
/dashboard/auctionOffer/auctionOfferBid/delete/:id
CategoryManagement Service Data Objects
Service Overview
-
Service Name:
categoryManagement -
Service Display Name:
CategoryManagement - Total Data Objects: 2
Data Objects
Category Data Object
Basic Information
-
Object Name:
category -
Display Name:
Category -
Component Name:
CategoryManagementCategoryAppPage - Description: Represents a product category in the marketplace (e.g., Electronics, Clothing, Toys), used for browsing, filtering, and discovery. Admins manage categories.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| imageUrl | String | | N/A | URL for category image/avatar (optional, used for homepage visuals). |
| subtitle | String | | N/A | Optional short description for UI/tooltips. |
| title | String | | N/A | Display name of the category. |
Generated UI Components
-
List Component:
CategoryManagementCategoryAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
CategoryManagementCategoryAppPageCreateModal- Form for creating new records -
Update Modal:
CategoryManagementCategoryAppPageUpdateModal- Form for editing existing records -
Delete Modal:
CategoryManagementCategoryAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /category/list- Retrieve paginated list of records -
Get:
GET /category/get- Retrieve single record by ID -
Create:
POST /category/create- Create new record -
Update:
PUT /category/update- Update existing record -
Delete:
DELETE /category/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/categoryManagement/category -
Create Route:
/dashboard/categoryManagement/category/create -
Update Route:
/dashboard/categoryManagement/category/update/:id -
Delete Route:
/dashboard/categoryManagement/category/delete/:id
Subcategory Data Object
Basic Information
-
Object Name:
subcategory -
Display Name:
Subcategory -
Component Name:
CategoryManagementSubcategoryAppPage - Description: Represents a subcategory within a parent category (e.g., 'Smartphones' under 'Electronics'). Used for more granular product discovery and navigation. 'group' categorizes special display logic.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| categoryId | ID | | N/A | Reference to the parent category (category.id). |
| name | String | | N/A | Display name of the subcategory. |
| group | Enum | | N/A | Classification for subcategory display; restrict to enum of MOST_POPULAR or MORE. |
Enum Properties
group Enum Property
Property Definition: Classification for subcategory display; restrict to enum of MOST_POPULAR or MORE.
Enum Options
| Name | Value | Index |
|---|
| MOST_POPULAR |
"MOST_POPULAR"
| 0 |
| MORE |
"MORE"
| 1 |
Generated UI Components
-
List Component:
CategoryManagementSubcategoryAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
CategoryManagementSubcategoryAppPageCreateModal- Form for creating new records -
Update Modal:
CategoryManagementSubcategoryAppPageUpdateModal- Form for editing existing records -
Delete Modal:
CategoryManagementSubcategoryAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /subcategory/list- Retrieve paginated list of records -
Get:
GET /subcategory/get- Retrieve single record by ID -
Create:
POST /subcategory/create- Create new record -
Update:
PUT /subcategory/update- Update existing record -
Delete:
DELETE /subcategory/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/categoryManagement/subcategory -
Create Route:
/dashboard/categoryManagement/subcategory/create -
Update Route:
/dashboard/categoryManagement/subcategory/update/:id -
Delete Route:
/dashboard/categoryManagement/subcategory/delete/:id
Messaging Service Data Objects
Service Overview
-
Service Name:
messaging -
Service Display Name:
Messaging - Total Data Objects: 1
Data Objects
MessagingMessage Data Object
Basic Information
-
Object Name:
messagingMessage -
Display Name:
MessagingMessage -
Component Name:
MessagingMessagingMessageAppPage - Description: A direct, text-only in-app message between two users (buyer/seller); stores sender, recipient, content, read status, and timestamp.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| fromUserId | ID | | N/A | Sender (user) of this message. |
| toUserId | ID | | N/A | Recipient (user) of this message. |
| content | String | | N/A | Text content of the message. No files or attachments for launch. |
| isRead | Boolean | | N/A | If true, recipient has marked this message as read. |
| sentAt | Date | | N/A | Time the message was sent. If not set, will be createdAt. Used for ordering. |
Generated UI Components
-
List Component:
MessagingMessagingMessageAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
MessagingMessagingMessageAppPageCreateModal- Form for creating new records -
Update Modal:
MessagingMessagingMessageAppPageUpdateModal- Form for editing existing records -
Delete Modal:
MessagingMessagingMessageAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /messagingMessage/list- Retrieve paginated list of records -
Get:
GET /messagingMessage/get- Retrieve single record by ID -
Create:
POST /messagingMessage/create- Create new record -
Update:
PUT /messagingMessage/update- Update existing record -
Delete:
DELETE /messagingMessage/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/messaging/messagingMessage -
Create Route:
/dashboard/messaging/messagingMessage/create -
Update Route:
/dashboard/messaging/messagingMessage/update/:id -
Delete Route:
/dashboard/messaging/messagingMessage/delete/:id
NotificationManagement Service Data Objects
Service Overview
-
Service Name:
notificationManagement -
Service Display Name:
NotificationManagement - Total Data Objects: 1
Data Objects
Notification Data Object
Basic Information
-
Object Name:
notification -
Display Name:
Notification -
Component Name:
NotificationManagementNotificationAppPage - Description: Stores and manages in-app and email notifications tied to user-facing events like bids, offers, orders, messaging, shipment, and feedback. Includes event type (notificationType) for filter/search, arbitrary event payload, and delivery channel. Soft-delete enforced. In-app notifications always sorted by createdAt DESC on retrieval.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| notificationType | Enum | | N/A | Type of event triggering notification (e.g., BID_UPDATED, ORDER_SHIPPED, MESSAGE_RECEIVED, etc.). Used for display/icon and query filter. |
| userId | ID | | N/A | User receiving the notification (recipient). |
| channel | Enum | | N/A | Channel by which notification is delivered: IN_APP or EMAIL. |
| payload | Object | | N/A | Event payload; stores event-specific/structured details for frontend rendering. Structure varies by notificationType. |
| isRead | Boolean | | N/A | Marks if user has read/seen notification (IN_APP only; always true for EMAIL channel) |
Enum Properties
notificationType Enum Property
Property Definition: Type of event triggering notification (e.g., BID_UPDATED, ORDER_SHIPPED, MESSAGE_RECEIVED, etc.). Used for display/icon and query filter.
Enum Options
| Name | Value | Index |
|---|
| BID_UPDATED |
"BID_UPDATED"
| 0 |
| BID_OUTBID |
"BID_OUTBID"
| 1 |
| BID_WON |
"BID_WON"
| 2 |
| OFFER_PLACED |
"OFFER_PLACED"
| 3 |
| OFFER_ACCEPTED |
"OFFER_ACCEPTED"
| 4 |
| OFFER_DECLINED |
"OFFER_DECLINED"
| 5 |
| OFFER_COUNTERED |
"OFFER_COUNTERED"
| 6 |
| ORDER_PLACED |
"ORDER_PLACED"
| 7 |
| ORDER_PAID |
"ORDER_PAID"
| 8 |
| ORDER_SHIPPED |
"ORDER_SHIPPED"
| 9 |
| ORDER_DELIVERED |
"ORDER_DELIVERED"
| 10 |
| ORDER_CANCELLED |
"ORDER_CANCELLED"
| 11 |
| FEEDBACK_RECEIVED |
"FEEDBACK_RECEIVED"
| 12 |
| FEEDBACK_REQUESTED |
"FEEDBACK_REQUESTED"
| 13 |
| MESSAGE_RECEIVED |
"MESSAGE_RECEIVED"
| 14 |
| MESSAGE_SENT |
"MESSAGE_SENT"
| 15 |
| SYSTEM_ALERT |
"SYSTEM_ALERT"
| 16 |
channel Enum Property
Property Definition: Channel by which notification is delivered: IN_APP or EMAIL.
Enum Options
| Name | Value | Index |
|---|
| IN_APP |
"IN_APP"
| 0 |
| EMAIL |
"EMAIL"
| 1 |
Generated UI Components
-
List Component:
NotificationManagementNotificationAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
NotificationManagementNotificationAppPageCreateModal- Form for creating new records -
Update Modal:
NotificationManagementNotificationAppPageUpdateModal- Form for editing existing records -
Delete Modal:
NotificationManagementNotificationAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /notification/list- Retrieve paginated list of records -
Get:
GET /notification/get- Retrieve single record by ID -
Create:
POST /notification/create- Create new record -
Update:
PUT /notification/update- Update existing record -
Delete:
DELETE /notification/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/notificationManagement/notification -
Create Route:
/dashboard/notificationManagement/notification/create -
Update Route:
/dashboard/notificationManagement/notification/update/:id -
Delete Route:
/dashboard/notificationManagement/notification/delete/:id
SearchIndexing Service Data Objects
Service Overview
-
Service Name:
searchIndexing -
Service Display Name:
SearchIndexing - Total Data Objects: 1
Data Objects
SearchIndex Data Object
Basic Information
-
Object Name:
searchIndex -
Display Name:
SearchIndex -
Component Name:
SearchIndexingSearchIndexAppPage - Description: Materialized/denormalized search index record for a marketplace entity (product, seller, category, subcategory). Used exclusively for high-speed querying in BFF global/public search.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| documentType | Enum | | N/A | Type of the indexed document: PRODUCT, SELLER, CATEGORY, SUBCATEGORY |
| document | Object | | N/A | Denormalized snapshot of the entity data, optimized for full-text search. May contain different keys depending on documentType. |
| referenceId | ID | | N/A | ID of the underlying source entity (product, seller, category, subcategory) for reverse-mapping/database triggers. |
| indexedAt | Date | | N/A | Timestamp when the record was (last) indexed. Used for maintenance, debugging, rebuild tracing. |
Enum Properties
documentType Enum Property
Property Definition: Type of the indexed document: PRODUCT, SELLER, CATEGORY, SUBCATEGORY
Enum Options
| Name | Value | Index |
|---|
| PRODUCT |
"PRODUCT"
| 0 |
| SELLER |
"SELLER"
| 1 |
| CATEGORY |
"CATEGORY"
| 2 |
| SUBCATEGORY |
"SUBCATEGORY"
| 3 |
Generated UI Components
-
List Component:
SearchIndexingSearchIndexAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
SearchIndexingSearchIndexAppPageCreateModal- Form for creating new records -
Update Modal:
SearchIndexingSearchIndexAppPageUpdateModal- Form for editing existing records -
Delete Modal:
SearchIndexingSearchIndexAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /searchIndex/list- Retrieve paginated list of records -
Get:
GET /searchIndex/get- Retrieve single record by ID -
Create:
POST /searchIndex/create- Create new record -
Update:
PUT /searchIndex/update- Update existing record -
Delete:
DELETE /searchIndex/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/searchIndexing/searchIndex -
Create Route:
/dashboard/searchIndexing/searchIndex/create -
Update Route:
/dashboard/searchIndexing/searchIndex/update/:id -
Delete Route:
/dashboard/searchIndexing/searchIndex/delete/:id
AdminModeration Service Data Objects
Service Overview
-
Service Name:
adminModeration -
Service Display Name:
AdminModeration - Total Data Objects: 1
Data Objects
ModerationAction Data Object
Basic Information
-
Object Name:
moderationAction -
Display Name:
ModerationAction -
Component Name:
AdminModerationModerationActionAppPage - Description: Audit record for all admin moderation/override actions affecting core business entities. Links to admin, timestamp, entity type/ID, action performed, and reason.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| adminId | ID | | N/A | ID of admin performing moderation action. |
| entityId | ID | | N/A | ID of target entity affected by moderation (user/product/etc). |
| actionTimestamp | Date | | N/A | Timestamp moderation action was performed/logged. |
| entityType | Enum | | N/A | Type of entity affected (USER, PRODUCT, FEEDBACK, MEDIA, CATEGORY, NOTIFICATION, ORDER, SEARCHINDEX). |
| reason | String | | N/A | Explanation or justification for the moderation action performed. |
| actionType | Enum | | N/A | Type of moderation action (e.g., SOFT_DELETE, RESTORE, UPDATE_ROLE, MANUAL_CORRECTION, MEDIA_FLAG, INDEX_REBUILD, PAYMENT_FIX, FEEDBACK_OVERRIDE, ADMIN_NOTE). |
Enum Properties
entityType Enum Property
Property Definition: Type of entity affected (USER, PRODUCT, FEEDBACK, MEDIA, CATEGORY, NOTIFICATION, ORDER, SEARCHINDEX).
Enum Options
| Name | Value | Index |
|---|
| USER |
"USER"
| 0 |
| PRODUCT |
"PRODUCT"
| 1 |
| FEEDBACK |
"FEEDBACK"
| 2 |
| MEDIA |
"MEDIA"
| 3 |
| CATEGORY |
"CATEGORY"
| 4 |
| NOTIFICATION |
"NOTIFICATION"
| 5 |
| ORDER |
"ORDER"
| 6 |
| SEARCHINDEX |
"SEARCHINDEX"
| 7 |
actionType Enum Property
Property Definition: Type of moderation action (e.g., SOFT_DELETE, RESTORE, UPDATE_ROLE, MANUAL_CORRECTION, MEDIA_FLAG, INDEX_REBUILD, PAYMENT_FIX, FEEDBACK_OVERRIDE, ADMIN_NOTE).
Enum Options
| Name | Value | Index |
|---|
| SOFT_DELETE |
"SOFT_DELETE"
| 0 |
| RESTORE |
"RESTORE"
| 1 |
| UPDATE_ROLE |
"UPDATE_ROLE"
| 2 |
| MANUAL_CORRECTION |
"MANUAL_CORRECTION"
| 3 |
| MEDIA_FLAG |
"MEDIA_FLAG"
| 4 |
| INDEX_REBUILD |
"INDEX_REBUILD"
| 5 |
| PAYMENT_FIX |
"PAYMENT_FIX"
| 6 |
| FEEDBACK_OVERRIDE |
"FEEDBACK_OVERRIDE"
| 7 |
| ADMIN_NOTE |
"ADMIN_NOTE"
| 8 |
Generated UI Components
-
List Component:
AdminModerationModerationActionAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
AdminModerationModerationActionAppPageCreateModal- Form for creating new records -
Update Modal:
AdminModerationModerationActionAppPageUpdateModal- Form for editing existing records -
Delete Modal:
AdminModerationModerationActionAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /moderationAction/list- Retrieve paginated list of records -
Get:
GET /moderationAction/get- Retrieve single record by ID -
Create:
POST /moderationAction/create- Create new record -
Update:
PUT /moderationAction/update- Update existing record -
Delete:
DELETE /moderationAction/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/adminModeration/moderationAction -
Create Route:
/dashboard/adminModeration/moderationAction/create -
Update Route:
/dashboard/adminModeration/moderationAction/update/:id -
Delete Route:
/dashboard/adminModeration/moderationAction/delete/:id
WatchlistCart Service Data Objects
Service Overview
-
Service Name:
watchlistCart -
Service Display Name:
WatchlistCart - Total Data Objects: 3
Data Objects
WatchlistItem Data Object
Basic Information
-
Object Name:
watchlistItem -
Display Name:
WatchlistItem -
Component Name:
WatchlistCartWatchlistItemAppPage - Description: Item in a user’s watchlist, optionally in a named folder; references product and user.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| userId | ID | | N/A | Owner of the watchlist item. |
| addedAt | Date | | N/A | Timestamp watchlist item created. |
| productId | ID | | N/A | Referenced product in the watchlist. |
| listId | ID | | N/A | Owning watchlistList; null if in default watchlist. |
Generated UI Components
-
List Component:
WatchlistCartWatchlistItemAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
WatchlistCartWatchlistItemAppPageCreateModal- Form for creating new records -
Update Modal:
WatchlistCartWatchlistItemAppPageUpdateModal- Form for editing existing records -
Delete Modal:
WatchlistCartWatchlistItemAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /watchlistItem/list- Retrieve paginated list of records -
Get:
GET /watchlistItem/get- Retrieve single record by ID -
Create:
POST /watchlistItem/create- Create new record -
Update:
PUT /watchlistItem/update- Update existing record -
Delete:
DELETE /watchlistItem/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/watchlistCart/watchlistItem -
Create Route:
/dashboard/watchlistCart/watchlistItem/create -
Update Route:
/dashboard/watchlistCart/watchlistItem/update/:id -
Delete Route:
/dashboard/watchlistCart/watchlistItem/delete/:id
CartItem Data Object
Basic Information
-
Object Name:
cartItem -
Display Name:
CartItem -
Component Name:
WatchlistCartCartItemAppPage - Description: Single product pending checkout in a user’s cart. Only fixed-price products permitted; quantity supported for multi-unit purchases (if allowed).
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| addedAt | Date | | N/A | Timestamp added to cart. |
| userId | ID | | N/A | Cart owner. |
| quantity | Integer | | N/A | How many units (if product allows). |
| productId | ID | | N/A | Product being checked out. |
Generated UI Components
-
List Component:
WatchlistCartCartItemAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
WatchlistCartCartItemAppPageCreateModal- Form for creating new records -
Update Modal:
WatchlistCartCartItemAppPageUpdateModal- Form for editing existing records -
Delete Modal:
WatchlistCartCartItemAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /cartItem/list- Retrieve paginated list of records -
Get:
GET /cartItem/get- Retrieve single record by ID -
Create:
POST /cartItem/create- Create new record -
Update:
PUT /cartItem/update- Update existing record -
Delete:
DELETE /cartItem/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/watchlistCart/cartItem -
Create Route:
/dashboard/watchlistCart/cartItem/create -
Update Route:
/dashboard/watchlistCart/cartItem/update/:id -
Delete Route:
/dashboard/watchlistCart/cartItem/delete/:id
WatchlistList Data Object
Basic Information
-
Object Name:
watchlistList -
Display Name:
WatchlistList -
Component Name:
WatchlistCartWatchlistListAppPage - Description: A named folder/list in a user’s watchlist. Default list exists for all users. Custom lists may be created and deleted.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| name | String | | N/A | Custom folder or list name. 'Default' is reserved (non-deletable for each user). |
| itemCount | Integer | | N/A | Number of (non-deleted) items in the list/folder. |
| userId | ID | | N/A | Owner of the watchlist list/folder. |
Generated UI Components
-
List Component:
WatchlistCartWatchlistListAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
WatchlistCartWatchlistListAppPageCreateModal- Form for creating new records -
Update Modal:
WatchlistCartWatchlistListAppPageUpdateModal- Form for editing existing records -
Delete Modal:
WatchlistCartWatchlistListAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /watchlistList/list- Retrieve paginated list of records -
Get:
GET /watchlistList/get- Retrieve single record by ID -
Create:
POST /watchlistList/create- Create new record -
Update:
PUT /watchlistList/update- Update existing record -
Delete:
DELETE /watchlistList/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/watchlistCart/watchlistList -
Create Route:
/dashboard/watchlistCart/watchlistList/create -
Update Route:
/dashboard/watchlistCart/watchlistList/update/:id -
Delete Route:
/dashboard/watchlistCart/watchlistList/delete/:id
ProductListing Service Data Objects
Service Overview
-
Service Name:
productListing -
Service Display Name:
ProductListing - Total Data Objects: 2
Data Objects
ProductListingMedia Data Object
Basic Information
-
Object Name:
productListingMedia -
Display Name:
ProductListingMedia -
Component Name:
ProductListingProductListingMediaAppPage - Description: Stores and manages images/media associated with products, including secure URL, MIME type, and size validation. Each asset can be used by multiple products.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| mimeType | String | | N/A | MIME type of the uploaded media (e.g., image/jpeg) |
| productId | ID | | N/A | ID of product associated with this media asset |
| url | String | | N/A | Secure, validated URL for the media asset (S3 or equivalent) |
| size | Integer | | N/A | Media size in bytes (for validation and quota) |
Generated UI Components
-
List Component:
ProductListingProductListingMediaAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
ProductListingProductListingMediaAppPageCreateModal- Form for creating new records -
Update Modal:
ProductListingProductListingMediaAppPageUpdateModal- Form for editing existing records -
Delete Modal:
ProductListingProductListingMediaAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /productListingMedia/list- Retrieve paginated list of records -
Get:
GET /productListingMedia/get- Retrieve single record by ID -
Create:
POST /productListingMedia/create- Create new record -
Update:
PUT /productListingMedia/update- Update existing record -
Delete:
DELETE /productListingMedia/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/productListing/productListingMedia -
Create Route:
/dashboard/productListing/productListingMedia/create -
Update Route:
/dashboard/productListing/productListingMedia/update/:id -
Delete Route:
/dashboard/productListing/productListingMedia/delete/:id
ProductListingProduct Data Object
Basic Information
-
Object Name:
productListingProduct -
Display Name:
ProductListingProduct -
Component Name:
ProductListingProductListingProductAppPage - Description: Represents a single product listing (fixed-price or auction) in the marketplace, with seller, category, type, price information, shipping details, media references, and dynamic auction fields.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| currency | String | | N/A | ISO currency code (e.g. USD, EUR) |
| description | Text | | N/A | Product detailed description |
| condition | Enum | | N/A | Condition of product: BRAND_NEW, NEW, or USED |
| startBid | Double | | N/A | The opening bid value (for auction type products) |
| endPrice | Double | | N/A | Optional immediate sale/upper end price for auction (if AUCTION type) |
| price | Double | | N/A | Product price (required if fixed price type) |
| title | String | | N/A | Product title |
| startPrice | Double | | N/A | Minimum starting price for auction (required if AUCTION type) |
| type | Enum | | N/A | Product listing type, either FIXED or AUCTION (immutable after creation) |
| endBid | Double | | N/A | The upper (max) bid value for auction products (if any) |
| estimatedDelivery | Date | | N/A | Estimated delivery date for this product |
| shippingCurrency | String | | N/A | Currency code for shipping cost |
| sellerId | ID | | N/A | Reference to user who listed the product |
| mediaAssetIds | ID | | N/A | References to associated product/media assets |
| shippingMethod | Enum | | N/A | Shipping option for product: STANDARD, EXPRESS, or FREE |
| shipping | Double | | N/A | Shipping cost for this product |
| startBidDate | Date | | N/A | Date/time when auction bidding begins |
| subcategoryId | ID | | N/A | Reference to subcategory |
| categoryId | ID | | N/A | Reference to parent category |
| endBidDate | Date | | N/A | Date/time when auction bidding ends |
| currentBid | Double | | N/A | Current highest bid for auction-type product (updated atomically on bid placement) |
| highestBidderId | ID | | N/A | User ID of current highest bidder (auction-only, updated by auction microservice) |
Enum Properties
condition Enum Property
Property Definition: Condition of product: BRAND_NEW, NEW, or USED
Enum Options
| Name | Value | Index |
|---|
| BRAND_NEW |
"BRAND_NEW"
| 0 |
| NEW |
"NEW"
| 1 |
| USED |
"USED"
| 2 |
type Enum Property
Property Definition: Product listing type, either FIXED or AUCTION (immutable after creation)
Enum Options
| Name | Value | Index |
|---|
| FIXED |
"FIXED"
| 0 |
| AUCTION |
"AUCTION"
| 1 |
shippingMethod Enum Property
Property Definition: Shipping option for product: STANDARD, EXPRESS, or FREE
Enum Options
| Name | Value | Index |
|---|
| STANDARD |
"STANDARD"
| 0 |
| EXPRESS |
"EXPRESS"
| 1 |
| FREE |
"FREE"
| 2 |
Generated UI Components
-
List Component:
ProductListingProductListingProductAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
ProductListingProductListingProductAppPageCreateModal- Form for creating new records -
Update Modal:
ProductListingProductListingProductAppPageUpdateModal- Form for editing existing records -
Delete Modal:
ProductListingProductListingProductAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /productListingProduct/list- Retrieve paginated list of records -
Get:
GET /productListingProduct/get- Retrieve single record by ID -
Create:
POST /productListingProduct/create- Create new record -
Update:
PUT /productListingProduct/update- Update existing record -
Delete:
DELETE /productListingProduct/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/productListing/productListingProduct -
Create Route:
/dashboard/productListing/productListingProduct/create -
Update Route:
/dashboard/productListing/productListingProduct/update/:id -
Delete Route:
/dashboard/productListing/productListingProduct/delete/:id
OrderManagement Service Data Objects
Service Overview
-
Service Name:
orderManagement -
Service Display Name:
OrderManagement - Total Data Objects: 5
Data Objects
OrderManagementOrder Data Object
Basic Information
-
Object Name:
orderManagementOrder -
Display Name:
OrderManagementOrder -
Component Name:
OrderManagementOrderManagementOrderAppPage - Description: Marketplace order record. Stores buyer, shipping, status, items, Stripe payment data, and manual shipment/delivery events. Only accessible to admins or the buyer/seller of order items.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| orderNumber | String | | N/A | Unique, human-friendly order number (displayed to users); enforced unique. |
| items | ID | | N/A | Array of orderManagementOrderItem ids representing items in this order. |
| buyerId | ID | | N/A | User ID of the buyer placing the order. |
| status | Enum | | N/A | Order lifecycle: PENDING_PAYMENT, PAID, PROCESSING, SHIPPED, DELIVERED, CANCELLED, REFUNDED |
| paymentMethodId | String | | N/A | Stripe paymentMethodId used for payment. Not stored if cash or other payment (future). |
| stripeCustomerId | String | | N/A | Stripe customerId of buyer; enables saved/paymentMethodId flows. |
| paymentIntentId | String | | N/A | Stripe paymentIntentId; enables webhook correlation and status sync. |
| shippingAddress | Object | | N/A | Shipping address for the order (copy of buyer address at purchase time). |
| summary | Object | | N/A | Object with total, subtotal, currency, shipping, discount breakdown as snapshot of order at time of purchase. |
| trackingNumber | String | | N/A | Optional tracking number entered by seller when marking as shipped. |
| estimatedDelivery | Date | | N/A | Estimated delivery date for order; copied from fastest estimated item or seller input. |
| cancelledAt | Date | | N/A | Timestamp when cancelled by buyer, seller, or admin before shipment. |
| paidAt | Date | | N/A | Timestamp when payment confirmed via Stripe or manual admin update. |
| deliveredAt | Date | | N/A | Timestamp when buyer confirms delivery. |
| shippedAt | Date | | N/A | Timestamp when seller marks as shipped. |
| carrier | String | | N/A | Optional carrier name entered by seller when marking as shipped. |
| _paymentConfirmation | Enum | | N/A | An automatic property that is used to check the confirmed status of the payment set by webhooks. |
Enum Properties
status Enum Property
Property Definition: Order lifecycle: PENDING_PAYMENT, PAID, PROCESSING, SHIPPED, DELIVERED, CANCELLED, REFUNDED
Enum Options
| Name | Value | Index |
|---|
| PENDING_PAYMENT |
"PENDING_PAYMENT"
| 0 |
| PAID |
"PAID"
| 1 |
| PROCESSING |
"PROCESSING"
| 2 |
| SHIPPED |
"SHIPPED"
| 3 |
| DELIVERED |
"DELIVERED"
| 4 |
| CANCELLED |
"CANCELLED"
| 5 |
| REFUNDED |
"REFUNDED"
| 6 |
_paymentConfirmation Enum Property
Property Definition: An automatic property that is used to check the confirmed status of the payment set by webhooks.
Enum Options
| Name | Value | Index |
|---|
| pending |
"pending"
| 0 |
| processing |
"processing"
| 1 |
| paid |
"paid"
| 2 |
| canceled |
"canceled"
| 3 |
Generated UI Components
-
List Component:
OrderManagementOrderManagementOrderAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
OrderManagementOrderManagementOrderAppPageCreateModal- Form for creating new records -
Update Modal:
OrderManagementOrderManagementOrderAppPageUpdateModal- Form for editing existing records -
Delete Modal:
OrderManagementOrderManagementOrderAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /orderManagementOrder/list- Retrieve paginated list of records -
Get:
GET /orderManagementOrder/get- Retrieve single record by ID -
Create:
POST /orderManagementOrder/create- Create new record -
Update:
PUT /orderManagementOrder/update- Update existing record -
Delete:
DELETE /orderManagementOrder/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/orderManagement/orderManagementOrder -
Create Route:
/dashboard/orderManagement/orderManagementOrder/create -
Update Route:
/dashboard/orderManagement/orderManagementOrder/update/:id -
Delete Route:
/dashboard/orderManagement/orderManagementOrder/delete/:id
OrderManagementOrderItem Data Object
Basic Information
-
Object Name:
orderManagementOrderItem -
Display Name:
OrderManagementOrderItem -
Component Name:
OrderManagementOrderManagementOrderItemAppPage - Description: Order line item representing purchase of a single product from a specific seller as part of an order. Enables feedback, delivery, and per-seller analytics. Immutable after order creation.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| shipping | Double | | N/A | Shipping cost for this product (may be 0 for free shipping). |
| orderId | ID | | N/A | Parent order this item belongs to; enables join and lifecycle tracking. |
| quantity | Integer | | N/A | Number of units purchased for this product. |
| productId | ID | | N/A | ID of product purchased in this line item. |
| price | Double | | N/A | Unit price for this product at purchase time. |
| sellerId | ID | | N/A | UserId of seller (owner of product at purchase time). |
| title | String | | N/A | Product title at purchase time (copied for convenience/audit). |
| currency | String | | N/A | Currency code for price/shipping (ISO 4217). |
Generated UI Components
-
List Component:
OrderManagementOrderManagementOrderItemAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
OrderManagementOrderManagementOrderItemAppPageCreateModal- Form for creating new records -
Update Modal:
OrderManagementOrderManagementOrderItemAppPageUpdateModal- Form for editing existing records -
Delete Modal:
OrderManagementOrderManagementOrderItemAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /orderManagementOrderItem/list- Retrieve paginated list of records -
Get:
GET /orderManagementOrderItem/get- Retrieve single record by ID -
Create:
POST /orderManagementOrderItem/create- Create new record -
Update:
PUT /orderManagementOrderItem/update- Update existing record -
Delete:
DELETE /orderManagementOrderItem/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/orderManagement/orderManagementOrderItem -
Create Route:
/dashboard/orderManagement/orderManagementOrderItem/create -
Update Route:
/dashboard/orderManagement/orderManagementOrderItem/update/:id -
Delete Route:
/dashboard/orderManagement/orderManagementOrderItem/delete/:id
Sys_orderManagementOrderPayment Data Object
Basic Information
-
Object Name:
sys_orderManagementOrderPayment -
Display Name:
Sys_orderManagementOrderPayment -
Component Name:
OrderManagementSys_orderManagementOrderPaymentAppPage - Description: A payment storage object to store the payment life cyle of orders based on orderManagementOrder object. It is autocreated based on the source object's checkout config
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| ownerId | ID | | N/A | * An ID value to represent owner user who created the order* |
| orderId | ID | | N/A | an ID value to represent the orderId which is the ID parameter of the source orderManagementOrder object |
| paymentId | String | | N/A | A String value to represent the paymentId which is generated on the Stripe gateway. This id may represent different objects due to the payment gateway and the chosen flow type |
| paymentStatus | String | | N/A | A string value to represent the payment status which belongs to the lifecyle of a Stripe payment. |
| statusLiteral | String | | N/A | A string value to represent the logical payment status which belongs to the application lifecycle itself. |
| redirectUrl | String | | N/A | A string value to represent return page of the frontend to show the result of the payment, this is used when the callback is made to server not the client. |
Generated UI Components
-
List Component:
OrderManagementSys_orderManagementOrderPaymentAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
OrderManagementSys_orderManagementOrderPaymentAppPageCreateModal- Form for creating new records -
Update Modal:
OrderManagementSys_orderManagementOrderPaymentAppPageUpdateModal- Form for editing existing records -
Delete Modal:
OrderManagementSys_orderManagementOrderPaymentAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /sys_orderManagementOrderPayment/list- Retrieve paginated list of records -
Get:
GET /sys_orderManagementOrderPayment/get- Retrieve single record by ID -
Create:
POST /sys_orderManagementOrderPayment/create- Create new record -
Update:
PUT /sys_orderManagementOrderPayment/update- Update existing record -
Delete:
DELETE /sys_orderManagementOrderPayment/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/orderManagement/sys_orderManagementOrderPayment -
Create Route:
/dashboard/orderManagement/sys_orderManagementOrderPayment/create -
Update Route:
/dashboard/orderManagement/sys_orderManagementOrderPayment/update/:id -
Delete Route:
/dashboard/orderManagement/sys_orderManagementOrderPayment/delete/:id
Sys_paymentCustomer Data Object
Basic Information
-
Object Name:
sys_paymentCustomer -
Display Name:
Sys_paymentCustomer -
Component Name:
OrderManagementSys_paymentCustomerAppPage - Description: A payment storage object to store the customer values of the payment platform
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| userId | ID | | N/A | * An ID value to represent the user who is created as a stripe customer* |
| customerId | String | | N/A | A string value to represent the customer id which is generated on the Stripe gateway. This id is used to represent the customer in the Stripe gateway |
| platform | String | | N/A | A String value to represent payment platform which is used to make the payment. It is stripe as default. It will be used to distinguesh the payment gateways in the future. |
Generated UI Components
-
List Component:
OrderManagementSys_paymentCustomerAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
OrderManagementSys_paymentCustomerAppPageCreateModal- Form for creating new records -
Update Modal:
OrderManagementSys_paymentCustomerAppPageUpdateModal- Form for editing existing records -
Delete Modal:
OrderManagementSys_paymentCustomerAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /sys_paymentCustomer/list- Retrieve paginated list of records -
Get:
GET /sys_paymentCustomer/get- Retrieve single record by ID -
Create:
POST /sys_paymentCustomer/create- Create new record -
Update:
PUT /sys_paymentCustomer/update- Update existing record -
Delete:
DELETE /sys_paymentCustomer/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/orderManagement/sys_paymentCustomer -
Create Route:
/dashboard/orderManagement/sys_paymentCustomer/create -
Update Route:
/dashboard/orderManagement/sys_paymentCustomer/update/:id -
Delete Route:
/dashboard/orderManagement/sys_paymentCustomer/delete/:id
Sys_paymentMethod Data Object
Basic Information
-
Object Name:
sys_paymentMethod -
Display Name:
Sys_paymentMethod -
Component Name:
OrderManagementSys_paymentMethodAppPage - Description: A payment storage object to store the payment methods of the platform customers
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| paymentMethodId | String | | N/A | A string value to represent the id of the payment method on the payment platform. |
| userId | ID | | N/A | * An ID value to represent the user who owns the payment method* |
| customerId | String | | N/A | A string value to represent the customer id which is generated on the payment gateway. |
| cardHolderName | String | | N/A | A string value to represent the name of the card holder. It can be different than the registered customer. |
| cardHolderZip | String | | N/A | A string value to represent the zip code of the card holder. It is used for address verification in specific countries. |
| platform | String | | N/A | A String value to represent payment platform which teh paymentMethod belongs. It is stripe as default. It will be used to distinguesh the payment gateways in the future. |
| cardInfo | Object | | N/A | A Json value to store the card details of the payment method. |
Generated UI Components
-
List Component:
OrderManagementSys_paymentMethodAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
OrderManagementSys_paymentMethodAppPageCreateModal- Form for creating new records -
Update Modal:
OrderManagementSys_paymentMethodAppPageUpdateModal- Form for editing existing records -
Delete Modal:
OrderManagementSys_paymentMethodAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /sys_paymentMethod/list- Retrieve paginated list of records -
Get:
GET /sys_paymentMethod/get- Retrieve single record by ID -
Create:
POST /sys_paymentMethod/create- Create new record -
Update:
PUT /sys_paymentMethod/update- Update existing record -
Delete:
DELETE /sys_paymentMethod/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/orderManagement/sys_paymentMethod -
Create Route:
/dashboard/orderManagement/sys_paymentMethod/create -
Update Route:
/dashboard/orderManagement/sys_paymentMethod/update/:id -
Delete Route:
/dashboard/orderManagement/sys_paymentMethod/delete/:id
Feedback Service Data Objects
Service Overview
-
Service Name:
feedback -
Service Display Name:
Feedback - Total Data Objects: 1
Data Objects
Feedback Data Object
Basic Information
-
Object Name:
feedback -
Display Name:
Feedback -
Component Name:
FeedbackFeedbackAppPage - Description: One feedback per (buyer, orderItem). Stores rating (1-5), comment, ties to seller for analytics. Created only after delivery confirmed on order item.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| rating | Integer | | N/A | Rating (1-5 stars) submitted by buyer. Required. |
| orderId | ID | | N/A | Order containing this purchased item. Used for aggregation and validation. |
| buyerId | ID | | N/A | User/buyer leaving feedback. Authenticated user, must match order item buyer. |
| orderItemId | ID | | N/A | Purchased item (line item) in order. Feedback is per (buyer, orderItem). |
| sellerId | ID | | N/A | Seller of product for analytics/aggregation. Not author; used for querying feedback about sellers. |
| comment | String | | N/A | Optional textual feedback comment, max ~500 chars. |
| productId | ID | | N/A | The product listing being reviewed (snapshot at order time). |
Generated UI Components
-
List Component:
FeedbackFeedbackAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
FeedbackFeedbackAppPageCreateModal- Form for creating new records -
Update Modal:
FeedbackFeedbackAppPageUpdateModal- Form for editing existing records -
Delete Modal:
FeedbackFeedbackAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /feedback/list- Retrieve paginated list of records -
Get:
GET /feedback/get- Retrieve single record by ID -
Create:
POST /feedback/create- Create new record -
Update:
PUT /feedback/update- Update existing record -
Delete:
DELETE /feedback/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/feedback/feedback -
Create Route:
/dashboard/feedback/feedback/create -
Update Route:
/dashboard/feedback/feedback/update/:id -
Delete Route:
/dashboard/feedback/feedback/delete/:id
Auth Service Data Objects
Service Overview
-
Service Name:
auth -
Service Display Name:
Auth - Total Data Objects: 1
Data Objects
User Data Object
Basic Information
-
Object Name:
user -
Display Name:
User -
Component Name:
AuthUserAppPage - Description: A data object that stores the user information and handles login settings.
Object Properties
| Property Name | Type | Required | Default | Definition |
|---|
| email | String | | N/A | * A string value to represent the user's email.* |
| password | String | | N/A | * A string value to represent the user's password. It will be stored as hashed.* |
| fullname | String | | N/A | A string value to represent the fullname of the user |
| avatar | String | | N/A | The avatar url of the user. A random avatar will be generated if not provided |
| roleId | String | | N/A | A string value to represent the roleId of the user. |
| emailVerified | Boolean | | N/A | A boolean value to represent the email verification status of the user. |
| phone | String | | N/A | user's phone number |
| address | Object | | N/A | user's adress |
Generated UI Components
-
List Component:
AuthUserAppPageList- Displays paginated data with filtering and sorting -
Create Modal:
AuthUserAppPageCreateModal- Form for creating new records -
Update Modal:
AuthUserAppPageUpdateModal- Form for editing existing records -
Delete Modal:
AuthUserAppPageDeleteModal- Confirmation dialog for deletion
API Endpoints
-
List:
GET /user/list- Retrieve paginated list of records -
Get:
GET /user/get- Retrieve single record by ID -
Create:
POST /user/create- Create new record -
Update:
PUT /user/update- Update existing record -
Delete:
DELETE /user/delete- Delete record by ID
Route Configuration
-
List Route:
/dashboard/auth/user -
Create Route:
/dashboard/auth/user/create -
Update Route:
/dashboard/auth/user/update/:id -
Delete Route:
/dashboard/auth/user/delete/:id
CRUD Operations
Create Operations
Create Form Implementation
// Create forms are generated as lazy-loaded modal components
// Basic form fields are rendered based on data object properties
Create API Integration
// Create operations are handled through service-specific API calls
// Basic validation is performed client-side
Read Operations
List View Implementation
// List views are implemented using MUI DataGrid
// Data is fetched through service-specific API calls
Update Operations
Update Form Implementation
// Update forms are generated as lazy-loaded modal components
// Basic form fields are pre-populated with existing data
Update API Integration
// Update operations are handled through service-specific API calls
// Basic validation is performed client-side
Delete Operations
Delete Implementation
// Delete operations are handled through service-specific API calls
// Confirmation dialogs are implemented as modal components
Data Validation
Client-Side Validation
Validation Implementation
// Basic validation is performed on form fields
// Required fields are validated before submission
Server-Side Validation Integration
API Error Handling
// Server validation errors are displayed to users
// Error messages are shown in the UI components
Data Relationships
Relationship Management
Relationship Implementation
// Basic data relationships are handled through form fields
// Related data is displayed in select components
User Experience Patterns
Loading States
Loading Implementation
// Loading states are handled by MUI DataGrid
// Skeleton loading is provided by the data grid component
Error States
Error Handling UI
// Error states are displayed through UI components
// Error messages are shown to users
Empty States
Empty State UI
// Empty states are handled by MUI DataGrid
// Empty content is displayed when no data is available
Performance Optimization
Data Pagination
Pagination Implementation
// Pagination is handled by MUI DataGrid
// Data is loaded in pages as needed