Overview
Implement Rebranding feature allowing organizations to customize branding assets for supported products. Owner can enable/disable rebranding per organization, with automatic hierarchy inheritance (distributor → reseller → customer).
Requirements
Core Features
Assets per Product
- Logo light/dark (rectangular and square variants)
- Favicon
- Background image
- Custom product name
Supported Products
nethvoice (application)
webtop (application)
ns8 (system)
nsec (system)
Backend APIs Available
All necessary REST APIs are implemented:
Backend (JWT auth):
GET /api/rebranding/products - list rebrandable products
PATCH /api/rebranding/:org_id/enable|disable - toggle rebranding
GET /api/rebranding/:org_id/status - get org rebranding status
GET /api/rebranding/:org_id/products - get org products with assets
PUT /api/rebranding/:org_id/products/:product_id - upload assets (multipart)
DELETE /api/rebranding/:org_id/products/:product_id - delete product assets
GET|DELETE /api/rebranding/:org_id/products/:product_id/:asset - single asset
Collect (Basic auth for systems):
GET /api/systems/rebranding - get rebranding config (grouped by type)
GET /api/systems/rebranding/:product_id/:asset - get asset binary
Design mockup: #36
Overview
Implement Rebranding feature allowing organizations to customize branding assets for supported products. Owner can enable/disable rebranding per organization, with automatic hierarchy inheritance (distributor → reseller → customer).
Requirements
Core Features
Assets per Product
Supported Products
nethvoice(application)webtop(application)ns8(system)nsec(system)Backend APIs Available
All necessary REST APIs are implemented:
Backend (JWT auth):
GET /api/rebranding/products- list rebrandable productsPATCH /api/rebranding/:org_id/enable|disable- toggle rebrandingGET /api/rebranding/:org_id/status- get org rebranding statusGET /api/rebranding/:org_id/products- get org products with assetsPUT /api/rebranding/:org_id/products/:product_id- upload assets (multipart)DELETE /api/rebranding/:org_id/products/:product_id- delete product assetsGET|DELETE /api/rebranding/:org_id/products/:product_id/:asset- single assetCollect (Basic auth for systems):
GET /api/systems/rebranding- get rebranding config (grouped by type)GET /api/systems/rebranding/:product_id/:asset- get asset binaryDesign mockup: #36