Commit Graph

164 Commits

Author SHA1 Message Date
Kalana B. Thilakarathna 03d01d4c4e name: CI/CD - ERP Core Monorepo
on:
  pull_request:
    branches:
      - production
    types:
      - closed

jobs:
  backend-build-and-deploy:
    name: Build & Deploy ERP Core Backend
    runs-on: linux
    if: github.event.pull_request.merged == true
    steps:
      - name: Checkout code
        run: |
          git clone \
            --depth 1 \
            --branch production \
            https://oauth2:${{ secrets.ERPCORE }}@gitea.hexdive.com/New_REP_SYSTEM/ERP-core.git \
            .

      - name: Restore backend
        run: dotnet restore Backend/ERPCore.sln

      - name: Publish backend
        run: |
          rm -rf /tmp/erpcore-deploy
          mkdir -p /tmp/erpcore-deploy
          dotnet publish Backend/ERPCore/ERPCore.csproj \
            -c Release \
            -r linux-x64 \
            --self-contained true \
            -o /tmp/erpcore-deploy

      - name: Stop backend service
        run: systemctl stop erpcore.service

      - name: Copy backend to deploy folder
        run: |
          mkdir -p /home/erp/core/publish
          rm -rf /home/erp/core/publish/*
          cp -r /tmp/erpcore-deploy/* /home/erp/core/publish/

      - name: Fix backend ownership and permissions
        run: |
          chown -R erpuser:erpuser /home/erp/core/publish
          find /home/erp/core/publish -type d -exec chmod 755 {} +
          find /home/erp/core/publish -type f -exec chmod 644 {} +
          chmod +x /home/erp/core/publish/ERPCore

      - name: Restart backend service
        run: systemctl restart erpcore.service

      - name: Verify backend
        run: |
          systemctl is-active erpcore.service && echo "Backend service running" || echo "Backend service failed"

  frontend-build-and-deploy:
    name: Build & Deploy ERP Core Frontend
    runs-on: linux
    needs: backend-build-and-deploy
    if: github.event.pull_request.merged == true
    steps:
      - name: Checkout code
        run: |
          git clone \
            --depth 1 \
            --branch Production \
            https://oauth2:${{ secrets.ERPCORE }}@gitea.hexdive.com/New_REP_SYSTEM/ERP-core.git \
            .

      - name: Build frontend Docker image
        run: docker build -t erpcore-frontend:latest Frontend/erp-system

      - name: Stop & remove existing frontend container
        run: |
          docker stop erpcore-frontend 2>/dev/null || true
          docker rm erpcore-frontend 2>/dev/null || true

      - name: Start frontend container
        run: |
          docker run -d \
            --name erpcore-frontend \
            -p 6702:6702 \
            --add-host=host.docker.internal:host-gateway \
            -e BACKEND_ORIGIN=http://host.docker.internal:6701 \
            --restart unless-stopped \
            --memory="512m" \
            --cpus="1.0" \
            --cap-drop ALL \
            --security-opt no-new-privileges \
            erpcore-frontend:latest

      - name: Remove old frontend images
        run: docker image prune -f

      - name: Verify frontend
        run: |
          docker ps --filter name=erpcore-frontend --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" \
            | grep erpcore-frontend && echo "Frontend container running" || echo "Frontend container failed"
2026-09-17 13:59:05 +05:30
Kalana B. Thilakarathna 93f2f1bd3b Refactor sales pipeline: ShopPO, Invoice, SysConfig models
Major refactor replacing Sale/Order with ShopPO → Invoice → LoadingSheet flow. Removed legacy Sale/Order models and features; introduced ShopPO, ShopPOItem, Invoice, LoadingSheetOrder, and SysConfig models. Updated related entities, enums, repositories, and controllers. Added new migrations for schema changes and system config. Overhauled business logic and DI registrations. Updated documentation with migration plan.
2026-09-17 10:03:22 +05:30
Kalana B. Thilakarathna 6c40421b2d Revamp dispatch pipeline and PO cancellation docs
Updated documentation to clarify and redesign dispatch pipeline, loading event, and order/invoice lifecycle. Added PO cancellation flow for both Shop and Confirmed POs, introduced new API endpoint for cancellation, and simplified loading sheet model and endpoints. Added new permissions for loading operations, improved auditability, and detailed migration steps. Highlighted open questions on cancellation cascades, permissions, and vehicle capacity checks for future resolution.
2026-09-16 11:30:21 +05:30
Kalana B. Thilakarathna 541f59b15d Merge branch 'dev' of https://gitea.hexdive.com/New_REP_SYSTEM/ERP_Distribution into dev 2026-09-16 10:57:40 +05:30
Kalana B. Thilakarathna b68e5043c7 refactor update 2026-09-16 10:57:31 +05:30
DeepnaPooja 436f7c10a0 Merge pull request 'Add invoice collection plan for cash, cheque, and credit payments post-finalization' (#24) from fixes into dev
Reviewed-on: #24
2026-09-16 05:12:49 +00:00
Kalana B. Thilakarathna 8739e8e1a7 refactor 2026-09-16 10:41:16 +05:30
Kalana B. Thilakarathna 308be2f5ce refactor invoice and po life cycle 2026-09-16 10:39:42 +05:30
DeepnaPooja eccc80eaad Add invoice collection plan for cash, cheque, and credit payments post-finalization 2026-09-16 10:35:41 +05:30
DeepnaPooja ca2507a904 Merge pull request 'Refactor order invoice lifecycle and ride lifecycle documentation' (#22) from fixes into dev
Reviewed-on: #22
2026-09-14 06:28:31 +00:00
DeepnaPooja fb62448e2c Refactor order invoice lifecycle and ride lifecycle documentation 2026-09-14 11:53:04 +05:30
DeepnaPooja 307055f8e1 Merge pull request 'Fixes' (#21) from fixes into dev
Reviewed-on: #21
2026-09-10 10:30:04 +00:00
DeepnaPooja 2000ba67f4 Add refactor order_invoice_lifecycle.md file 2026-09-10 15:53:57 +05:30
DeepnaPooja b8836a1e87 Add refactor ride lifecylcle plan 2026-09-10 15:53:05 +05:30
DeepnaPooja 6c6d30f4f9 Add RetailPrice and AgencyMarginPercent to PriceListItem and related API updates 2026-09-09 16:32:57 +05:30
DeepnaPooja 9bb4c52efb Add AgencyMarginPercent and RetailPrice to PriceListItems 2026-09-09 16:32:20 +05:30
DeepnaPooja 617c0713a1 remove PriceListSheet component and integrate new price list creation page 2026-09-09 16:31:35 +05:30
DeepnaPooja eb0303fa3f Fix Isactive issue 2026-09-09 16:30:38 +05:30
DeepnaPooja f9e4bb3a97 Update scheme management to include IsActive 2026-09-09 16:29:54 +05:30
DeepnaPooja 7dbeaa722a Add PriceList functionality with RetailPrice and AgencyMarginPercent 2026-09-09 16:28:57 +05:30
DeepnaPooja 58d67495d2 Add supplier claims management components and API integration 2026-09-08 16:14:33 +05:30
DeepnaPooja e53db290c8 Add order return management 2026-09-08 16:12:44 +05:30
DeepnaPooja 2a5562a355 Add ClaimSettleDialog, ClaimSheet, ClaimViewSheet, and ClaimsClient 2026-09-08 16:12:05 +05:30
DeepnaPooja 5a6eca1f07 Add GrnViewSheet in GrnClient 2026-09-08 16:11:11 +05:30
DeepnaPooja 6ba8d2fd19 Implement GetAll and Update functionality for Supplier Claims 2026-09-08 16:08:41 +05:30
DeepnaPooja e267f94d46 Add GetAll and UpdateReasons endpoints to ReturnController 2026-09-08 16:08:07 +05:30
DeepnaPooja 81d92e16bb Fix user ID handling in purchase return creation when auth is unavailable 2026-09-08 16:07:28 +05:30
DeepnaPooja ddbe56c5df Fix user ID handling in GRN and PO 2026-09-08 16:06:59 +05:30
DeepnaPooja 5f303321d0 Add CRUD operations for claims 2026-09-08 16:05:45 +05:30
DeepnaPooja 19ff0b5578 Fix seed stock movement external locations in migrations 2026-09-08 13:20:45 +05:30
DeepnaPooja bbf9e5b60e Add external location type and location name fields to stock responses 2026-09-08 13:18:42 +05:30
DeepnaPooja 508149dab8 Add adjustment functionality to stock API 2026-09-08 13:18:26 +05:30
DeepnaPooja eea87c0ee2 Add stock movement view and edit dialogs, and integrate with stock movements client 2026-09-08 13:18:11 +05:30
DeepnaPooja 3bcb42ea9b Add StockAdjustDialog component for stock adjustment 2026-09-08 13:17:46 +05:30
DeepnaPooja 2053b61965 Add external location handling to stock movement processes 2026-09-08 13:17:01 +05:30
DeepnaPooja 7e362be304 Add movement retrieval and update functionality to stock 2026-09-08 13:16:04 +05:30
DeepnaPooja f5872cedaf Add FromLocationId and FromLocationType to stock movement creation 2026-09-08 13:14:36 +05:30
DeepnaPooja cff4f4bf30 Add ToLocationId and ToLocationType to delivery task item movement 2026-09-08 13:14:00 +05:30
DeepnaPooja aee3e840a0 Add category viewing 2026-09-08 11:46:34 +05:30
DeepnaPooja ef0486829c Add brand viewing 2026-09-08 11:45:54 +05:30
DeepnaPooja 7e9110b707 Enhance category and sub-category update requests to include IsActive flag and deletes and inactive categories 2026-09-08 11:45:15 +05:30
DeepnaPooja 68aea8105d UpdateBrandRequest to include IsActive flag and update BrandService to handle inactive brands correctly 2026-09-08 11:44:16 +05:30
DeepnaPooja 04004437bb Add item details viewing 2026-09-04 13:08:07 +05:30
DeepnaPooja 712a163777 fix handle inactive items 2026-09-04 13:07:22 +05:30
DeepnaPooja dfd51b8273 Add user selection for check-in and update API to include user ID 2026-09-04 12:26:59 +05:30
DeepnaPooja 51aaed8fd1 Fix check-in functionality with error handling and temporary user ID fallback 2026-09-04 12:26:42 +05:30
DeepnaPooja 62bfe27a84 Merge branch 'fixes' of https://gitea.hexdive.com/New_REP_SYSTEM/ERP_Distribution into fixes 2026-09-04 11:54:12 +05:30
DeepnaPooja 0523dabc5a Add route to StoresClient and implement updateStatus API method 2026-09-04 11:52:10 +05:30
DeepnaPooja 7d4d07d692 Refactor store management and API integration 2026-09-04 11:50:58 +05:30
DeepnaPooja 1bdda3a8ab Add route management to StoreViewPage 2026-09-04 11:50:06 +05:30