# API Service URL Mapping Reference

This document lists all files that still use the old URL path pattern (e.g., `/fws/User.svc/`) and their corresponding recommended dot-separated code pattern (e.g., `Framework.User.AuthUser`).

## How to Use This Document

1. **Find the file** you're working on in the "File Path" column
2. **Look at the "Old URL Pattern"** to understand what needs to be replaced
3. **Use the "Suggested New Code"** to update your code
4. **Verify the endpoint exists** in `projects/gbhost/public/api/gb4api/` - if not, add it first

---

## Login & Authentication

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/login/service/login.service.ts:21` | `/fws/User.svc/Authenticate/?UserCode=` | `Framework.User.AuthUser` | `framework.ts` |
| `features/login/dbservice/login.db.service.ts:40` | `/ads/UserAccessRights.svc/UserAccessRightsOnUser/?UserId=` | *(not mapped - needs new endpoint)* | - |
| `features/login/dbservice/login.db.service.ts:52` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |

---

## Framework / Core Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/gbabout/dbservice/gbabout.db.service.ts:9` | `/fws/Menu.svc/` | `Framework.Menu.MenuList` | `framework.ts` |
| `features/gbabout/dbservice/gbabout.db.service.ts:10` | `/fws/RoleVsMenu.svc/ReportDetail/` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/dbservice/gbabout.db.service.ts:11` | `/ads/BizTransactionType.svc/?BIZTransactionTypeId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/dbservice/gbabout.db.service.ts:12` | `/ads/WorkFlow.svc/Workflow` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/dbservice/gbabout.db.service.ts:35` | `/ads/BizTransactionType.svc/Rights/SelectList` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/dbservice/gbabout.db.service.ts:71` | `/ads/BizTransactionType.svc/?BizTransactionTypeId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/gbabout.component.ts:240` | `/fws/RoleVsMenu.svc/ReportDetail/` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/gbabout.component.ts:271` | `/ads/BizTransactionType.svc/?BIZTransactionTypeId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/gbabout.component.ts:286` | `/ads/BizTransactionType.svc/?BIZTransactionTypeId=-1` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/gbabout.component.ts:303` | `/ads/WorkFlow.svc/Workflow` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/gbabout.component.ts:342` | `/cs/Criteria.svc/List/?ObjectCode=LOCKSETTING` | *(not mapped - needs new endpoint)* | - |
| `features/gbabout/gbabout.component.ts:375` | `/cs/Criteria.svc/List/?ObjectCode=DAYLOCK` | *(not mapped - needs new endpoint)* | - |
| `features/gbwelcome/gbwelcome.component.ts:27` | `/fws/DBLevelSetting.svc/Get` | *(not mapped - needs new endpoint)* | - |
| `features/gbdashboard/gbdashboard.component.ts:242` | `/fws/Portlet.svc/PortletListWithCriteria/?UserId=` | `Framework.Portlet.GetPortlet` | `framework.ts` |
| `features/gbdashboard/gbdashboard.component.ts:636` | `/fws/UserVsPortlet.svc/` | *(not mapped - needs new endpoint)* | - |
| `features/gbdashboard/gbdashboard.component.ts:642` | `/fws/UserVsPortlet.svc/?UserId=` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/service/gbformaction.service.ts:65` | `/fws/CodeDefine.svc/` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/gbformaction/formactionbar/gbformaction.component.ts:222` | `/ads/BizTransactionType.svc/Rights/SelectList` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/gbformaction/formactionbar/gbformaction.component.ts:242` | `/ads/OrganizationUnit.svc/SelectList` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/dbservice/gbformaction.db.service.ts:30` | `/ads/Draft.svc/` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/dbservice/gbusersetting.db.service.ts:15` | `/fws/User.svc/LogOut/?UserCode=` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/dbservice/gbusersetting.db.service.ts:26` | `/cs/Criteria.svc/List/?ObjectCode=ORGANIZATIONUNIT` | *(not mapped - needs new endpoint)* | - |
| `features/common/components/gbcommandpalette/gbcommandpalette.component.ts:591` | `/fws/DBLevelSetting.svc/Get` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/gbheader/gbappmenu/dbservice/gbappmenu.db.service.ts:12` | `/fws/Module.svc/ModuleList` | `Framework.Module.ModuleList` | `framework.ts` |
| `features/gblayout/gbheader/gbappmenu/dbservice/gbappmenu.db.service.ts:18` | `/fws/Portlet.svc/PageAndMenuPageList/?RoleId=` | `Framework.Page.Get` | `framework.ts` |
| `features/gblayout/gbheader/gbnotification/dbservice/gbnotification.db.service.ts:12` | `/fws/Module.svc/ModuleList` | `Framework.Module.ModuleList` | `framework.ts` |
| `features/gblayout/gbheader/gbnotification/dbservice/gbnotification.db.service.ts:16` | `/fws/Notification.svc/Notification/?FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/gbheader/gbnotification/dbservice/gbnotification.db.service.ts:40` | `/fws/Notification.svc/NotificationTo/?NotificationToId=` | *(not mapped - needs new endpoint)* | - |
| `features/gblayout/gbheader/gbnotification/dbservice/gbnotification.db.service.ts:45` | `/fws/Notification.svc/All/Notification/Update/?UserId=` | *(not mapped - needs new endpoint)* | - |
| `libs/common/src/lib/gbservice/gbdatapassing/gbdatapassing.ts:369` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `libs/common/src/lib/gbservice/gbdatapassing/gbdatapassing.ts:401` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `libs/common/src/lib/gbservice/gbdatapassing/gbdatapassing.ts:443` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `libs/common/src/lib/gbservice/gbdatapassing/gbdatapassing.ts:491` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `libs/common/src/lib/gbservice/gbuitokenservice/uitoken.service.ts:281` | `/fws/User.svc/UpdateUserTheme/?ThemeOption=` | *(not mapped - needs new endpoint)* | - |

---

## File & Attachment Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:14` | `/fws/Alfresco.svc/Get/Document/Types/?FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:34` | `/fws/Alfresco.svc/Get/Document/Set/?EntityId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:39` | `/fws/File.svc/Get/Attachment/Meta/Data/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:44` | `/fws/File.svc/File/Upload/Web/With/MetaData/Generic/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:49` | `/fws/File.svc/Upload/File/Update/Generic/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:54` | `/fws/File.svc/Delete/Attachment/?AttachmentId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:59` | `/fws/Alfresco.svc/Delete/TAttachment/?AttachmentId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbattachment/dbservice/gbattachment.dbservice.ts:64` | `/fws/Entity.svc/FileDownload/` | *(not mapped - needs new endpoint)* | - |
| `features/gbliveimage/gbliveimage.component.ts:144` | `/fws/File.svc/File/Upload/Web/With/MetaData/Generic/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbliveimage/gbliveimage.component.ts:197` | `/fws/File.svc/File/Upload/Web/With/MetaData/Generic/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbimage/gbimage.component.ts:66` | `/fws/File.svc/File/Upload/Web/With/MetaData/Generic/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbuploadfile/gbuploadfile/gbuploadfile.component.ts:90` | `/fws/Alfresco.svc/Upload/Document/DocumentType/Based/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbuploadfile/gbuploadfile/gbuploadfile.component.ts:215` | `/fws/Alfresco.svc/Delete/TAttachment/?AttachmentId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbuploadfile/gbuploadfile/gbuploadfile.component.ts:216` | `/fws/Entity.svc/DeleteSpecificFile/?AlfrescoId=` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbbudgetgrid/gbbudgetgrid.component.ts:3319` | `/fws/Entity.svc/FileUploadWebWithMetadata/?ObjectId=` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbbudgetgrid/gbbudgetgrid.component.ts:3336` | `/fws/Entity.svc/FileDownload/` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbbudgetgrid/gbbudgetgrid.component.ts:3353` | `/fws/Entity.svc/FileDownload/` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbbudgetgrid/gbbudgetgrid.component.ts:3361` | `/fws/Entity.svc/DeleteSpecificFile/?AlfrescoId=` | *(not mapped - needs new endpoint)* | - |

---

## Comment Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/gbcomment/comment.component.ts:125` | `/cs/Criteria.svc/List/?ObjectCode=COMMENT` | *(not mapped - needs new endpoint)* | - |
| `features/gbcomment/comment.component.ts:245` | `/fws/Comment.svc/?CommentId=` | `Framework.Comment.GetComment` | `framework.ts` |
| `features/gbcomment/comment.component.ts:255` | `/fws/Comment.svc/?CommentId=` | `Framework.Comment.GetComment` | `framework.ts` |
| `features/gbcomment/comment.component.ts:265` | `/fws/Comment.svc/` | `Framework.Comment.GetComment` | `framework.ts` |
| `features/gbcomment/comment.component.ts:287` | `/fws/Comment.svc/` | `Framework.Comment.GetComment` | `framework.ts` |
| `features/gbcomment/comment.component.ts:349` | `/fws/Comment.svc/` | `Framework.Comment.GetComment` | `framework.ts` |
| `features/gbcomment/dbservice/comment.db.service.ts:16` | `/ads/Draft.svc/GetDraftList/?FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/gbcomment/dbservice/comment.db.service.ts:25` | `/ads/Draft.svc/?DraftId=` | *(not mapped - needs new endpoint)* | - |

---

## CRM & Task Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/lightbox/leadlightbox/leadlightbox.component.ts:85` | `/mkts/LeadCycle.svc/Detail/SelectList` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/leadlightbox/leadlightbox.component.ts:104` | `/fws/GCM.svc/SelectList/?FirstNumber=-1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/leadlightbox/leadlightbox.component.ts:123` | `/mkts/LeadCycle.svc/Detail/SelectList` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/tasklightboxdb.service.ts:13` | `/crm/Task.svc/?TaskId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/tasklightboxdb.service.ts:18` | `/fws/DBLevelSetting.svc/Get` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/tasklightboxdb.service.ts:23` | `/crm/Action.svc/ActivityRegister/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/tasklightboxdb.service.ts:56` | `/crm/Task.svc/GetTaskReport/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/tasklightboxdb.service.ts:90` | `/crm/Task.svc/GetTaskReport/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/tasklightboxdb.service.ts:138` | `/fws/Comment.svc/` | `Framework.Comment.GetComment` | `framework.ts` |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:13` | `/mkts/Lead.svc/?LeadId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:18` | `/fws/Contact.svc/GetContactAddress/?ContactId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:24` | `/crm/Task.svc/GetTaskReport/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:55` | `/crm/Action.svc/ActivityRegister/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:105` | `/mkts/Lead.svc/UpdateLead` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:111` | `/crm/Action.svc/` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/leadlightboxdb.service.ts:121` | `/crm/Task.svc/?TaskId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/voucherlightboxdb.service.ts:13` | `/as/Voucher.svc/?VoucherId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/worklightboxdb.service.ts:13` | `/crm/Task.svc/?TaskId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/worklightboxdb.service.ts:17` | `/crm/Task.svc/UpdateTask` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/mmlightboxdb.service.ts:14` | `/mms/MMHead.svc/?DocumentId=` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/completedpercentdb.service.ts:90` | `/crm/Task.svc/ProjectManagementSheetReport/?FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/lightbox/dbservice/earnedvaluedb.service.ts:57` | `/crm/Task.svc/ProjectSplitDetail/?FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |

---

## Finance & Accounts Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/sidebar/sideview/sideview.component.ts:50` | `/as/Account.svc/AccountPicklistForAccountPopup` | `Finance.Account.Get` | `finance.ts` |
| `features/sidebar/dbservice/sideviewdb.service.ts:13` | `/as/Account.svc/GetPopUpDetails` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/ledgerdb.service.ts:13` | `/as/AccountsReports.svc/AccountBooks/?FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/ledgersummarydb.service.ts:13` | `/as/AccountsReports.svc/AccountPeriodicReport/?Type=0&SubType=0&FirstNumber=1&MaxResult=10` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/outstandingdb.service.ts:13` | `/as/AccountsReports.svc/OutstandingDetail/?GroupType=ACCOUNT&ReportType=0&FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/ageingdb.service.ts:13` | `/as/AccountsReports.svc/AgeingDetail/?GroupType=0&ReportType=0` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/salesdb.service.ts:13` | `/cos/Common.svc/Report` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/purchasedb.service.ts:13` | `/cos/Common.svc/Report` | *(not mapped - needs new endpoint)* | - |
| `features/sidebar/dbservice/statusdb.service.ts:13` | `/cos/Common.svc/Report` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbdirectives.service.ts:39` | `/as/Account.svc/GetAccountDetailsSQL/?AccountId=` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbdirectives.service.ts:43` | `/as/TDSCategory.svc/Account/?AccountId=` | `Finance.TDSCategory.Get` | `finance.ts` |
| `libs/gbdirectives/src/lib/gbdirectives.service.ts:80` | `/ads/Currency.svc/?CurrencyId=` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbdirectives.service.ts:85` | `/as/AccountBalance.svc/AccountBalanceDetail/?OUId=` | *(not mapped - needs new endpoint)* | - |

---

## Inventory & Material Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/sidebaritem/sideviewitem/sideviewitem.component.ts:58` | `/mms/Item.svc/SelectListFast/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/sideviewitemdb.service.ts:13` | `/mms/Item.svc/SelectListFast/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/itemdetailsdb.service.ts:14` | `/mms/Item.svc/?ItemId=` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/topsalesdb.service.ts:13` | `/mms/Register.svc/MarginDetail/?Type=0&FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/toppurchasedb.service.ts:13` | `/mms/Register.svc/MarginDetail/?Type=0&FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/demanddb.service.ts:13` | `/mms/MRPRun.svc/PurchaseRequirementCalculationReport/?FirstNumber=1&MaxResult=10` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/itempartydb.service.ts:13` | `/mms/ItemParty.svc/ItemPartyRegister/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/purchaseitemdb.service.ts:13` | `/mms/Register.svc/MarginDetailPeriod/?Type=1` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/pendingwodb.service.ts:13` | `/mms/Production.svc/WorkOrderRegister/?Type=1&FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/pricelistdb.service.ts:13` | `/mms/ItemParty.svc/ItemPriceListReport/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/pendingpodb.service.ts:13` | `/mms/MMReports.svc/MMPendingRegister/?Type=0&FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/sidebaritem/dbservice/salesitemdb.service.ts:13` | `/mms/Register.svc/MarginDetailPeriod/?Type=1&FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/gbdynamicformviewer/dbservice/dynamicformviewerdb.service.ts:13` | `/prs/Employee.svc/?EmployeeId=` | `Hrms.Employeemaster.Get` | `hrms.ts` |
| `projects/planning/service/forecastdata.service.ts:34` | `/mms/ForeCastData.svc/Data/?ForeCastId=` | *(not mapped - needs new endpoint)* | - |
| `projects/planning/master/forecast/forecast.component.ts:82` | `/mms/ForeCastSet.svc/?ForeCastSetId=` | *(not mapped - needs new endpoint)* | - |

---

## Report Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/gbreportviewer/dbservice/reportviewer.dbservice.ts:14` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `features/gbreportviewer/dbservice/reportviewer.dbservice.ts:299` | `/cos/Common.svc/Report` | *(not mapped - needs new endpoint)* | - |
| `features/gbreportviewer/dbservice/reportviewer.dbservice.ts:318` | `/cos/Common.svc/Report` | *(not mapped - needs new endpoint)* | - |
| `features/gbreportviewer/dbservice/reportviewer.dbservice.ts:336` | `/fws/CriteriaConfig.svc/?CriteriaConfigId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbreportviewer/dbservice/reportviewer.dbservice.ts:383` | `/cos/Common.svc/Report` | *(not mapped - needs new endpoint)* | - |
| `features/common/components/gbactionpanel/gbactionpanel.service.ts:139` | `/fws/Menu.svc/ReportMenuDetailsForEntity/?UserId=` | *(not mapped - needs new endpoint)* | - |

---

## Filter & Criteria Services

| File Path | Old URL Pattern | Suggested New Code | API Endpoint File |
|-----------|-----------------|-------------------|-------------------|
| `features/gbfilter/dbservice/gbfilter.dbservice.ts:14` | `/fws/CriteriaConfig.svc/CriteriaConfigWithFieldValue/?CriteriaConfigId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/dbservice/gbfilter.dbservice.ts:19` | `/fws/CriteriaConfig.svc/?CriteriaConfigId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/dbservice/gbfilter.dbservice.ts:24` | `/fws/CriteriaConfig.svc/` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/dbservice/gbfilter.dbservice.ts:29` | `/fws/CriteriaConfig.svc/?CriteriaConfigId=` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/dbservice/gbfilter.dbservice.ts:35` | `/cs/Criteria.svc/List/?ObjectCode=REPORTVSFORMATS` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:261` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1170` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1285` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1338` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1498` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `features/gbfilter/gbfilter.component.ts:1567` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1586` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1613` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbfilter/gbfilter.component.ts:1632` | `/fws/CriteriaConfig.svc/SelectList/?FirstNumber=1&MaxResult=50` | *(not mapped - needs new endpoint)* | - |
| `features/gbformio/formio.component.ts:157` | `/fws/Picklist.svc/SelectList` | *(not mapped - needs new endpoint)* | - |
| `features/gbformio/formio.component.ts:849` | `/cs/Criteria.svc/List/?ObjectCode=PICKLIST&FirstNumber=-1&MaxResult=-1` | *(not mapped - needs new endpoint)* | - |
| `features/gbtabcontainer/dbservice/tabcontainer.dbservice.ts:60` | `/fws/Menu.svc/ReportMenuDetailsForMenu/?UserId=` | `Framework.Report.MenuDetailsForReport` | `framework.ts` |
| `projects/analytics/master/analysisfields/analysisfields.component.ts:126` | `/cs/Criteria.svc/List/?ObjectCode=DBOBJECT` | *(not mapped - needs new endpoint)* | - |
| `libs/gbdirectives/src/lib/gbdirectives.service.ts:32` | `/cs/Criteria.svc/List/?ObjectCode=COSTCATEGORYCONDITION` | *(not mapped - needs new endpoint)* | - |

---

## Report URI (External - Keep As-Is)

These are external report URLs and should **NOT** be changed - they point to separate reporting servers:

| File Path | URL Pattern | Notes |
|-----------|------------|-------|
| `features/sidebaritem/status/status.component.ts:41` | `http://newserver:81/gb4/mms/MMReports.svc/WhereUsed/` | External server - KEEP |
| `features/sidebar/purchase/purchase.component.ts:90` | `http://newserver:81/gb4/mms/Register.svc/MarginSummary/` | External server - KEEP |
| `features/sidebar/sales/sales.component.ts:127` | `http://newserver:81/gb4/mms/Register.svc/MarginSummary/` | External server - KEEP |
| `features/gbreportviewer/dbservice/reportviewer.dbservice.ts:296` | `http://169.56.148.10:82/gb4/cos/Common.svc/Report` | External server - KEEP |

---

## Summary Statistics

- **Total files identified**: ~50+
- **Already mapped endpoints**: ~15
- **Endpoints needing new mappings**: ~85+

---

## How to Add New Endpoint Mappings

If the suggested new code says "*(not mapped - needs new endpoint)*", you need to add the mapping to the appropriate API file:

1. **Identify the module** based on the URL prefix:
   - `/fws/*` → `projects/gbhost/public/api/gb4api/framework.ts`
   - `/prs/*` → `projects/gbhost/public/api/gb4api/hrms.ts` or `ess.ts`
   - `/mms/*` → `projects/gbhost/public/api/gb4api/inventory.ts`
   - `/as/*` → `projects/gbhost/public/api/gb4api/finance.ts`
   - `/crm/*` → `projects/gbhost/public/api/gb4api/crmservice.ts`
   - `/cos/*` → Create in appropriate module or `crmsales.ts`
   - `/cs/*` → Create in `framework.ts` or appropriate module

2. **Add the mapping** following this pattern:
   ```typescript
   'ModuleName.ActionName': '/actual/service/path',
   ```

3. **Use the format**: `CapitalModule.CapitalAction` (e.g., `Framework.User.AuthUser`)

4. **Update your code** to use the new dot-separated code:
   ```typescript
   // OLD (anti-pattern)
   let url = '/fws/User.svc/Authenticate/?UserCode=' + userCode;
   
   // NEW (recommended)
   this.http.gbhttpget('Framework.User.AuthUser', true, true, 'UserCode=' + userCode);
   ```

---

*Generated for GB4.7MFE Project - Angular 20 MFE Monorepo*
