ui integration and rest api includes

This commit is contained in:
2026-05-20 15:34:41 +05:30
parent f4dc2b6a5a
commit 349d152b76
18 changed files with 3631 additions and 589 deletions

347
original_topics.cjs Normal file
View File

@@ -0,0 +1,347 @@
const existingTopics = [
{
id: 'utils',
name: 'Utils',
description: 'Shared lookup endpoints roles, locations, configs, app types, pricing.',
endpoints: [
{
name: 'getuserroles',
method: 'GET',
url: '/api/rest/Xpress/utils/getuserroles',
description: 'Retrieve all user roles available in the system.'
},
{
name: 'getapptypes',
method: 'GET',
url: '/api/rest/xpress/utils/getapptypes?tag=DELIVERY',
description: 'List application types filtered by a tag (e.g. DELIVERY).',
_note: "Host typo in source ('workopi') corrected to api.workolik.com."
},
{
name: 'getapplocations',
method: 'GET',
url: '/api/rest/xpress/utils/getapplocations?userid=1326',
description: 'List all application locations.',
_note: "Source name 'Gpplocation' assumed to be 'Getapplocations'."
},
{
name: 'getapppricing',
method: 'GET',
url: '/api/rest/xpress/utils/getapppricing?applocationid=1',
description: 'Retrieve app pricing for a given app location.',
_note: "Source query 'getapppripplocationid=' reconstructed as 'getapppricing?applocationid='."
},
{
name: 'getallpricing',
method: 'GET',
url: '/api/rest/xpress/utils/getallpricing?applocationid=1',
description: 'Retrieve all pricing rules for an app location.'
},
{
name: 'getapplocationconfig',
method: 'GET',
url: '/api/rest/xpress/utils/getapplocationconfig',
description: 'Retrieve the configuration for application locations.',
_note: "Host typo in source ('workom') corrected to api.workolik.com."
},
{
name: 'getsubcategories',
method: 'GET',
url: '/api/rest/xpress/utils/getsubcategories/?moduleid=6',
description: 'List all subcategories for a given module.'
}
]
},
{
id: 'users',
name: 'Users',
description: 'Manage users and roles across the Xpress platform.',
endpoints: [
{
name: 'getallusers',
method: 'GET',
url: '/api/rest/xpress/users/getallusers?roleid=2&configid=1&tenantid=1079&status=Active&keyword=%john%&limit=10&offset=0',
description: 'List users filtered by role, config, tenant, status, and keyword.'
},
{
name: 'getusersinfo',
method: 'GET',
url: '/api/rest/xpress/users/getusers?userid=1326',
description: 'Retrieve a single user by ID.'
}
]
},
{
id: 'partners',
name: 'Partners',
description: 'Partners, riders, locations, shifts, and rider pricing.',
endpoints: [
{
name: 'getlocations (by user)',
method: 'GET',
url: '/api/rest/xpress/partners/getlocations?userid=1277&configid=9',
description: 'Get partner locations linked to a specific user.'
},
{
name: 'gettenantlocations ',
method: 'GET',
url: '/api/rest/xpress/tenants/gettenantlocations?keyword=daily&tenantid=916',
description: 'Get partner locations linked to a specific tenant.'
},
{
name: 'getpartners',
method: 'GET',
url: '/api/rest/xpress/partners/getpartners',
description: 'List all partners.',
_note: "Source URL had a double slash (/api/rest//partners/) — assumed /xpress/partners/."
},
{
name: 'getriderpricing',
method: 'GET',
url: '/api/rest/xpress/partners/getriderpricing?applocationid=0',
description: 'Get rider pricing rules for an app location.'
},
{
name: 'getallriders',
method: 'GET',
url: '/api/rest/xpress/partners/getallriders?partnerid=44&limit=10',
description: 'List all riders for a partner.'
},
{
name: 'getallridersummary',
method: 'GET',
url: '/api/rest/xpress/partners/getallridersummary?applocationid=1',
description: 'Aggregated summary of all riders at a location.'
},
{
name: 'getriderdetail',
method: 'GET',
url: '/api/rest/xpress/partners/getriderdetail?userid=1',
description: 'Detailed information for a specific rider.',
_note: "Source had 'htapi.workolik.com' (missing 'tps://') — restored to https://api.workolik.com."
},
{
name: 'getridershifts',
method: 'GET',
url: '/api/rest/xpress/partners/getridershifts?applocationid=1',
description: 'Get rider shift records for an app location.',
_note: "Host typo in source ('workk.com') corrected to api.workolik.com."
}
]
},
{
id: 'tenants',
name: 'Tenants',
description: 'Tenant accounts info, locations, customers, orders, pricing, summary.',
endpoints: [
{
name: 'gettenants',
method: 'GET',
url: '/api/rest/xpress/tenants/gettenants?applocationid=1&status=active&partnerid=44',
description: 'List tenants filtered by app location and status.',
params: [
{ name: 'applocationid', type: 'STRING', default: '1' },
{ name: 'status', type: 'STRING', default: 'active' },
{ name: 'partnerid', type: 'string', default: '44' }
],
_note: "Source name 'Gettenan' truncated — assumed 'Gettenants'."
},
{
name: 'getalltenants',
method: 'GET',
url: '/api/rest/xpress/tenants/getalltenants?applocationid=1&moduleid=6&tenanttype=E&keyword=%25%25&status=Active&limit=10&offset=0',
description: 'List all tenants with extensive filters.',
params: [
{ name: 'applocationid', type: 'STRING', default: '1' },
{ name: 'moduleid', type: 'STRING', default: '6' },
{ name: 'tenanttype', type: 'STRING', default: 'E' },
{ name: 'keyword', type: 'STRING', default: '%%' },
{ name: 'status', type: 'STRING', default: 'Active' },
{ name: 'limit', type: 'STRING', default: '10' },
{ name: 'offset', type: 'STRING', default: '0' }
],
_note: "Source query 'status=Actilimit=10' reconstructed as 'status=Active&limit=10'. 'approved=1' param dropped per spec."
},
{
name: 'gettenantinfo',
method: 'GET',
url: '/api/rest/xpress/tenants/gettenantinfo?tenantid=1',
description: 'Get basic information about a tenant.'
},
{
name: 'gettenantlocations',
method: 'GET',
url: '/api/rest/xpress/tenants/gettenantlocations?tenantid=916&keyword=%%',
description: 'List physical locations for a tenant.'
},
{
name: 'gettenantsummary',
method: 'GET',
url: '/api/rest/xpress/tenants/gettenantsummary?moduleid=6&applocationid=1&tenanttype=E&keyword=%%',
description: 'Aggregated summary for tenants under a module/location.',
_note: "Source 'tenettenantsummary' reconstructed as 'tenants/gettenantsummary'."
},
{
name: 'getpricinglist',
method: 'GET',
url: '/api/rest/xpress/tenants/getpricinglist?tenantid=1087',
description: 'Retrieve the tenants pricing list.',
_note: "Source 'getpricingl' truncated — assumed 'getpricinglist'."
},
{
name: 'tenantsearch',
method: 'GET',
url: '/api/rest/xpress/tenants/search?keyword=daily&status=active',
description: 'Full-text search for tenants by keyword.',
_note: "Source name 'Tennatsearch' assumed to be 'Tenantsearch'."
},
{
name: 'getorders',
method: 'GET',
url: '/api/rest/xpress/tenant/getorders?applocationid=&tenantid=&locationid=&status=',
description: 'List orders scoped to a single tenant.',
_note: "Source uses /tenant/ (singular) here. Confirm whether this should be /tenants/ or kept as /tenant/."
}
]
},
{
id: 'customers',
name: 'Customers',
description: 'Customer accounts, lookups, and search.',
endpoints: [
{
name: 'getallcustomers',
method: 'GET',
url: '/api/rest/xpress/customers/getallcustomers?applocationid=&keyword=&pageno=&pagesize=',
description: 'Paginated list of all customers under an app location.'
},
{
name: 'gettenantcustomers',
method: 'GET',
url: '/api/rest/xpress/customers/gettenantcustomers?tenantid=1087&limit=10&offset=0',
description: 'List customers under a specific tenant.',
_note: "Source path 'xpresustomers' reconstructed as 'xpress/customers'."
},
{
name: 'searchcustomers',
method: 'GET',
url: '/api/rest/xpress/customers/searchcustomers?tenantid=1087&keyword=%%',
description: 'Search customers by keyword within a tenant.',
_note: "Source name 'Searchcumer' assumed to be 'Searchcustomers'."
}
]
},
{
id: 'deliveries',
name: 'Deliveries',
description: 'Delivery records, queues, and rider-delivery joins.',
endpoints: [
{
name: 'getdeliveries',
method: 'GET',
url: '/api/rest/xpress/deliveries/getdeliveries?tenantid=10&status=Delivered&fromdate=2026-05-01T00:00:00&todate=2026-05-05T23:59:59&keyword=%john%&limit=10&offset=0',
description: 'List deliveries with filters: tenant, status, date range, keyword.',
_note: "Source query 'tenantid=10=Delivered' reconstructed as 'tenantid=10&status=Delivered'."
},
{
name: 'getdeliveryqueues',
method: 'GET',
url: '/api/rest/xpress/deliveries/getdeliveryqueues?userid=1277&fdate=2025-12-30T00:00:00 &tdate=2025-12-30T23:59:59',
description: 'Retrieve delivery queue snapshots for a user/date range.',
_note: "Source name 'tdeliveryqueues' truncated — assumed 'Getdeliveryqueues'."
},
{
name: 'deliverysummary',
method: 'GET',
url: '/api/rest/xpress/deliveries/deliverysummary?appuserid=1&fromdate=2026-03-31T00:00:00&todate=2026-03-31T23:59:59&status=active&applocationid=1&locationid=1160&tenantid=916&userid=865',
description: 'Aggregated delivery summary for an app user.'
},
{
name: 'getriderbydelivery',
method: 'GET',
url: '/api/rest/xpress/deliveries/getriderbydelivery/?applocationid=&tenantid=&locationid=&fromdate=&todate=&keyword=',
description: 'Map riders to deliveries within a location and date range.',
_note: "Source URL was missing 'https' scheme — restored."
}
]
},
{
id: 'orders',
name: 'Orders',
description: 'Order records, details, and aggregate summaries.',
endpoints: [
{
name: 'getorders',
method: 'GET',
url: '/api/rest/xpress/orders/tenant/getorders?start=2026-05-01T00:00:00&end=2026-05-31T23:59:59&status=delivered&limit=10&offset=0',
description: 'List orders within a time frame and status.'
},
{
name: 'getordersummary',
method: 'GET',
url: '/api/rest/getordersummary/?tenantid=1079&fromdate=2025-07-24&todate=2025-07-24&configid=9',
description: 'High-level summary of orders for a tenant/date range.'
},
{
name: 'getorderdetails',
method: 'GET',
url: '/api/rest/xpress/orders/getorderdetails?orderheaderid=6562',
description: 'Get full details of an order by header ID.'
},
{
name: 'getlocationsummary',
method: 'GET',
url: '/api/rest/xpress/orders/getlocationsummary?tenantid=916',
description: 'Per-location summary of orders.'
}
]
},
{
id: 'products',
name: 'Products',
description: 'Product catalog, categories, and subcategories.',
endpoints: [
{
name: 'getproductcategories',
method: 'GET',
url: '/api/rest/xpress/products/getproductcategories?moduleid=1',
description: 'List root product categories for a module.'
},
{
name: 'getproductsubcategories',
method: 'GET',
url: '/api/rest/xpress/products/getproductsubcategories?categoryid=1001',
description: 'List subcategories under a product category.'
}
]
},
{
id: 'invoice',
name: 'Invoice',
description: 'Invoice insights and billing analytics.',
endpoints: [
{
name: 'getinvoiceinsight',
method: 'GET',
url: '/api/rest/xpress/invoice/getinvoiceinsight?tenantid=916',
description: 'Retrieve invoice insights and statistics for a tenant.',
_note: "Source name 'Getinvoinsights' assumed to be 'Getinvoiceinsight'."
}
]
},
{
id: 'payments',
name: 'Payments',
description: 'Payment requests and settlements.',
endpoints: [
{
name: 'getpaymentrequest',
method: 'GET',
url: '/api/rest/xpress/payments/requests/getpaymentrequest?partnerid=44&status=1',
description: 'List payment requests for a partner by status.'
}
]
}
];
module.exports = { existingTopics };