Complete FrontOffice BFF to CMS Migration

- Migrated all 9 services from FrontOffice.BFF to CMS architecture
- Enhanced user.proto with 7 additional Customer API endpoints:
  * UpdateCustomerProfile, GetCustomerProfile
  * ChangeCustomerPassword with validation
  * GetCustomerReferrals with commission stats
  * UploadCustomerAvatar with file validation
  * GetCustomerSettings, UpdateCustomerSettings
- All services now support Customer endpoints with /Customer/ prefix
- Mock implementations with realistic Persian data
- Fixed namespace conflicts and compilation issues
- Comprehensive testing completed for all endpoints
- Services migrated: Categories, City, UserCarts, Products, UserWallet,
  Transaction, UserOrder, Package, User (enhanced)
This commit is contained in:
masoodafar-web
2026-01-30 08:53:09 +03:30
parent 96daf899c7
commit 658d076bdf
170 changed files with 3770 additions and 4364 deletions
@@ -0,0 +1,158 @@
/* FourSat CMS Swagger Custom Styles */
/* Header styling */
.swagger-ui .topbar {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-bottom: 3px solid #5a67d8;
}
.swagger-ui .topbar .download-url-wrapper {
display: none;
}
/* API sections styling */
.swagger-ui .scheme-container {
background: #f7fafc;
border: 1px solid #e2e8f0;
border-radius: 8px;
padding: 15px;
margin-bottom: 20px;
}
/* Tag headers (API groups) */
.swagger-ui .opblock-tag {
border-bottom: 2px solid #e2e8f0;
color: #2d3748;
font-weight: 600;
font-size: 18px;
padding: 15px 0;
}
/* Method buttons styling */
.swagger-ui .opblock.opblock-get .opblock-summary-method {
background: #48bb78;
}
.swagger-ui .opblock.opblock-post .opblock-summary-method {
background: #4299e1;
}
.swagger-ui .opblock.opblock-put .opblock-summary-method {
background: #ed8936;
}
.swagger-ui .opblock.opblock-delete .opblock-summary-method {
background: #f56565;
}
/* Response sections */
.swagger-ui .responses-inner {
border: 1px solid #e2e8f0;
border-radius: 6px;
background: #f7fafc;
}
/* Model schema styling */
.swagger-ui .model-box {
background: #edf2f7;
border: 1px solid #cbd5e0;
border-radius: 6px;
}
/* Try it out button */
.swagger-ui .btn.try-out {
background: #667eea;
color: white;
border: none;
border-radius: 6px;
padding: 8px 16px;
font-weight: 500;
}
.swagger-ui .btn.try-out:hover {
background: #5a67d8;
}
/* Execute button */
.swagger-ui .btn.execute {
background: #48bb78;
border: none;
border-radius: 6px;
padding: 10px 20px;
font-weight: 600;
}
.swagger-ui .btn.execute:hover {
background: #38a169;
}
/* Custom badges for different API types */
.swagger-ui .info .title:after {
content: "🚀 Powered by FourSat";
font-size: 12px;
color: #718096;
font-weight: normal;
display: block;
margin-top: 5px;
}
/* Security badge */
.swagger-ui .auth-btn-wrapper {
display: flex;
justify-content: flex-end;
padding: 10px;
}
.swagger-ui .btn.authorize {
background: #805ad5;
color: white;
border: none;
border-radius: 6px;
padding: 8px 16px;
font-weight: 500;
}
.swagger-ui .btn.authorize:hover {
background: #6b46c1;
}
/* Loading states */
.swagger-ui .loading-container {
background: #f7fafc;
border: 2px dashed #cbd5e0;
border-radius: 8px;
padding: 20px;
text-align: center;
color: #4a5568;
}
/* Custom scrollbar */
.swagger-ui ::-webkit-scrollbar {
width: 8px;
height: 8px;
}
.swagger-ui ::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4px;
}
.swagger-ui ::-webkit-scrollbar-thumb {
background: #cbd5e0;
border-radius: 4px;
}
.swagger-ui ::-webkit-scrollbar-thumb:hover {
background: #a0aec0;
}
/* Responsive design */
@media (max-width: 768px) {
.swagger-ui .topbar {
padding: 10px;
}
.swagger-ui .info .title {
font-size: 24px;
}
}