@tailor-platform/erp-kit 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +8 -4
- package/dist/cli.mjs +70 -70
- package/package.json +1 -1
- package/skills/erp-kit-app-5-impl-backend/SKILL.md +5 -5
- package/skills/erp-kit-app-5-impl-backend/references/app-config.md +1 -1
- package/skills/erp-kit-app-5-impl-backend/references/module-wiring.md +37 -12
- package/skills/erp-kit-app-6-impl-frontend/SKILL.md +3 -1
- package/skills/erp-kit-app-6-impl-frontend/references/component.md +90 -0
- package/skills/erp-kit-app-6-impl-frontend/references/detail-view.md +255 -0
- package/skills/erp-kit-app-6-impl-frontend/references/pages.md +1 -5
- package/skills/erp-kit-app-7-impl-review/SKILL.md +3 -2
- package/skills/erp-kit-app-7-impl-review/references/module-wiring-parity.md +14 -8
- package/skills/erp-kit-module-6-impl-review/SKILL.md +16 -19
- package/skills/erp-kit-module-shared/references/commands.md +68 -1
- package/src/commands/index.ts +8 -2
- package/src/commands/init.test.ts +24 -8
- package/src/commands/init.ts +5 -12
- package/src/commands/lib/distribute.test.ts +1 -20
- package/src/commands/lib/distribute.ts +0 -14
- package/src/commands/update.test.ts +1 -1
- package/src/generator/scaffold.ts +25 -4
- package/src/module.ts +4 -1
- package/src/modules/accounting/README.md +63 -0
- package/src/modules/accounting/command/activateBudget.generated.ts +6 -0
- package/src/modules/accounting/command/activateBudget.test.ts +119 -0
- package/src/modules/accounting/command/activateBudget.ts +77 -0
- package/src/modules/accounting/command/activateCostElement.generated.ts +6 -0
- package/src/modules/accounting/command/activateCostElement.test.ts +59 -0
- package/src/modules/accounting/command/activateCostElement.ts +41 -0
- package/src/modules/accounting/command/activateProfitCenter.generated.ts +6 -0
- package/src/modules/accounting/command/activateProfitCenter.test.ts +60 -0
- package/src/modules/accounting/command/activateProfitCenter.ts +38 -0
- package/src/modules/accounting/command/approveBudget.generated.ts +6 -0
- package/src/modules/accounting/command/approveBudget.test.ts +69 -0
- package/src/modules/accounting/command/approveBudget.ts +47 -0
- package/src/modules/accounting/command/assignCostCenterToHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/assignCostCenterToHierarchyNode.test.ts +112 -0
- package/src/modules/accounting/command/assignCostCenterToHierarchyNode.ts +67 -0
- package/src/modules/accounting/command/assignProfitCenterToHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/assignProfitCenterToHierarchyNode.test.ts +123 -0
- package/src/modules/accounting/command/assignProfitCenterToHierarchyNode.ts +71 -0
- package/src/modules/accounting/command/closeBudget.generated.ts +6 -0
- package/src/modules/accounting/command/closeBudget.test.ts +93 -0
- package/src/modules/accounting/command/closeBudget.ts +40 -0
- package/src/modules/accounting/command/closeInternalOrder.generated.ts +6 -0
- package/src/modules/accounting/command/closeInternalOrder.test.ts +74 -0
- package/src/modules/accounting/command/closeInternalOrder.ts +38 -0
- package/src/modules/accounting/command/consumeCommitment.generated.ts +6 -0
- package/src/modules/accounting/command/consumeCommitment.test.ts +123 -0
- package/src/modules/accounting/command/consumeCommitment.ts +62 -0
- package/src/modules/accounting/command/createAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/createAllocationCycle.test.ts +166 -0
- package/src/modules/accounting/command/createAllocationCycle.ts +68 -0
- package/src/modules/accounting/command/createAllocationRule.generated.ts +6 -0
- package/src/modules/accounting/command/createAllocationRule.test.ts +195 -0
- package/src/modules/accounting/command/createAllocationRule.ts +103 -0
- package/src/modules/accounting/command/createBudget.generated.ts +6 -0
- package/src/modules/accounting/command/createBudget.test.ts +159 -0
- package/src/modules/accounting/command/createBudget.ts +100 -0
- package/src/modules/accounting/command/createBudgetLineItem.generated.ts +6 -0
- package/src/modules/accounting/command/createBudgetLineItem.test.ts +178 -0
- package/src/modules/accounting/command/createBudgetLineItem.ts +104 -0
- package/src/modules/accounting/command/createCostCenter.generated.ts +6 -0
- package/src/modules/accounting/command/createCostCenter.test.ts +179 -0
- package/src/modules/accounting/command/createCostCenter.ts +112 -0
- package/src/modules/accounting/command/createCostCenterHierarchy.generated.ts +6 -0
- package/src/modules/accounting/command/createCostCenterHierarchy.test.ts +91 -0
- package/src/modules/accounting/command/createCostCenterHierarchy.ts +48 -0
- package/src/modules/accounting/command/createCostCenterHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/createCostCenterHierarchyNode.test.ts +171 -0
- package/src/modules/accounting/command/createCostCenterHierarchyNode.ts +117 -0
- package/src/modules/accounting/command/createCostElement.generated.ts +6 -0
- package/src/modules/accounting/command/createCostElement.test.ts +317 -0
- package/src/modules/accounting/command/createCostElement.ts +149 -0
- package/src/modules/accounting/command/createInternalOrder.generated.ts +6 -0
- package/src/modules/accounting/command/createInternalOrder.test.ts +206 -0
- package/src/modules/accounting/command/createInternalOrder.ts +104 -0
- package/src/modules/accounting/command/createPlanVersion.generated.ts +6 -0
- package/src/modules/accounting/command/createPlanVersion.test.ts +230 -0
- package/src/modules/accounting/command/createPlanVersion.ts +71 -0
- package/src/modules/accounting/command/createProfitCenter.generated.ts +6 -0
- package/src/modules/accounting/command/createProfitCenter.test.ts +227 -0
- package/src/modules/accounting/command/createProfitCenter.ts +81 -0
- package/src/modules/accounting/command/createProfitCenterHierarchy.generated.ts +6 -0
- package/src/modules/accounting/command/createProfitCenterHierarchy.test.ts +91 -0
- package/src/modules/accounting/command/createProfitCenterHierarchy.ts +46 -0
- package/src/modules/accounting/command/createProfitCenterHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/createProfitCenterHierarchyNode.test.ts +160 -0
- package/src/modules/accounting/command/createProfitCenterHierarchyNode.ts +109 -0
- package/src/modules/accounting/command/deactivateCostElement.generated.ts +6 -0
- package/src/modules/accounting/command/deactivateCostElement.test.ts +59 -0
- package/src/modules/accounting/command/deactivateCostElement.ts +41 -0
- package/src/modules/accounting/command/deactivateProfitCenter.generated.ts +6 -0
- package/src/modules/accounting/command/deactivateProfitCenter.test.ts +60 -0
- package/src/modules/accounting/command/deactivateProfitCenter.ts +42 -0
- package/src/modules/accounting/command/deleteAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/deleteAllocationCycle.test.ts +90 -0
- package/src/modules/accounting/command/deleteAllocationCycle.ts +39 -0
- package/src/modules/accounting/command/deleteAllocationRule.generated.ts +6 -0
- package/src/modules/accounting/command/deleteAllocationRule.test.ts +98 -0
- package/src/modules/accounting/command/deleteAllocationRule.ts +40 -0
- package/src/modules/accounting/command/deleteBudget.generated.ts +6 -0
- package/src/modules/accounting/command/deleteBudget.test.ts +90 -0
- package/src/modules/accounting/command/deleteBudget.ts +35 -0
- package/src/modules/accounting/command/deleteBudgetLineItem.generated.ts +6 -0
- package/src/modules/accounting/command/deleteBudgetLineItem.test.ts +85 -0
- package/src/modules/accounting/command/deleteBudgetLineItem.ts +50 -0
- package/src/modules/accounting/command/deleteCostCenter.generated.ts +6 -0
- package/src/modules/accounting/command/deleteCostCenter.test.ts +79 -0
- package/src/modules/accounting/command/deleteCostCenter.ts +67 -0
- package/src/modules/accounting/command/deleteCostCenterHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/deleteCostCenterHierarchyNode.test.ts +59 -0
- package/src/modules/accounting/command/deleteCostCenterHierarchyNode.ts +58 -0
- package/src/modules/accounting/command/deleteCostElement.generated.ts +6 -0
- package/src/modules/accounting/command/deleteCostElement.test.ts +58 -0
- package/src/modules/accounting/command/deleteCostElement.ts +33 -0
- package/src/modules/accounting/command/deleteInternalOrder.generated.ts +6 -0
- package/src/modules/accounting/command/deleteInternalOrder.test.ts +81 -0
- package/src/modules/accounting/command/deleteInternalOrder.ts +37 -0
- package/src/modules/accounting/command/deleteProfitCenter.generated.ts +6 -0
- package/src/modules/accounting/command/deleteProfitCenter.test.ts +68 -0
- package/src/modules/accounting/command/deleteProfitCenter.ts +39 -0
- package/src/modules/accounting/command/deleteProfitCenterHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/deleteProfitCenterHierarchyNode.test.ts +72 -0
- package/src/modules/accounting/command/deleteProfitCenterHierarchyNode.ts +61 -0
- package/src/modules/accounting/command/executeAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/executeAllocationCycle.test.ts +167 -0
- package/src/modules/accounting/command/executeAllocationCycle.ts +94 -0
- package/src/modules/accounting/command/finalizeVarianceReport.generated.ts +6 -0
- package/src/modules/accounting/command/finalizeVarianceReport.test.ts +60 -0
- package/src/modules/accounting/command/finalizeVarianceReport.ts +45 -0
- package/src/modules/accounting/command/generateVarianceReport.generated.ts +6 -0
- package/src/modules/accounting/command/generateVarianceReport.test.ts +386 -0
- package/src/modules/accounting/command/generateVarianceReport.ts +219 -0
- package/src/modules/accounting/command/invalidateAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/invalidateAllocationCycle.test.ts +84 -0
- package/src/modules/accounting/command/invalidateAllocationCycle.ts +45 -0
- package/src/modules/accounting/command/moveCostCenterHierarchyNode.generated.ts +6 -0
- package/src/modules/accounting/command/moveCostCenterHierarchyNode.test.ts +135 -0
- package/src/modules/accounting/command/moveCostCenterHierarchyNode.ts +81 -0
- package/src/modules/accounting/command/postAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/postAllocationCycle.test.ts +98 -0
- package/src/modules/accounting/command/postAllocationCycle.ts +65 -0
- package/src/modules/accounting/command/reactivateCostElement.generated.ts +6 -0
- package/src/modules/accounting/command/reactivateCostElement.test.ts +59 -0
- package/src/modules/accounting/command/reactivateCostElement.ts +41 -0
- package/src/modules/accounting/command/reactivateProfitCenter.generated.ts +6 -0
- package/src/modules/accounting/command/reactivateProfitCenter.test.ts +60 -0
- package/src/modules/accounting/command/reactivateProfitCenter.ts +42 -0
- package/src/modules/accounting/command/recordCommitment.generated.ts +6 -0
- package/src/modules/accounting/command/recordCommitment.test.ts +157 -0
- package/src/modules/accounting/command/recordCommitment.ts +113 -0
- package/src/modules/accounting/command/rejectBudget.generated.ts +6 -0
- package/src/modules/accounting/command/rejectBudget.test.ts +105 -0
- package/src/modules/accounting/command/rejectBudget.ts +51 -0
- package/src/modules/accounting/command/releaseCommitment.generated.ts +6 -0
- package/src/modules/accounting/command/releaseCommitment.test.ts +94 -0
- package/src/modules/accounting/command/releaseCommitment.ts +51 -0
- package/src/modules/accounting/command/releaseInternalOrder.generated.ts +6 -0
- package/src/modules/accounting/command/releaseInternalOrder.test.ts +74 -0
- package/src/modules/accounting/command/releaseInternalOrder.ts +38 -0
- package/src/modules/accounting/command/reverseAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/reverseAllocationCycle.test.ts +124 -0
- package/src/modules/accounting/command/reverseAllocationCycle.ts +63 -0
- package/src/modules/accounting/command/submitBudget.generated.ts +6 -0
- package/src/modules/accounting/command/submitBudget.test.ts +60 -0
- package/src/modules/accounting/command/submitBudget.ts +51 -0
- package/src/modules/accounting/command/technicallyCompleteInternalOrder.generated.ts +6 -0
- package/src/modules/accounting/command/technicallyCompleteInternalOrder.test.ts +74 -0
- package/src/modules/accounting/command/technicallyCompleteInternalOrder.ts +42 -0
- package/src/modules/accounting/command/updateAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/updateAllocationCycle.test.ts +112 -0
- package/src/modules/accounting/command/updateAllocationCycle.ts +41 -0
- package/src/modules/accounting/command/updateBudget.generated.ts +6 -0
- package/src/modules/accounting/command/updateBudget.test.ts +112 -0
- package/src/modules/accounting/command/updateBudget.ts +44 -0
- package/src/modules/accounting/command/updateCostCenter.generated.ts +6 -0
- package/src/modules/accounting/command/updateCostCenter.test.ts +105 -0
- package/src/modules/accounting/command/updateCostCenter.ts +79 -0
- package/src/modules/accounting/command/updateCostElement.generated.ts +6 -0
- package/src/modules/accounting/command/updateCostElement.test.ts +265 -0
- package/src/modules/accounting/command/updateCostElement.ts +158 -0
- package/src/modules/accounting/command/updateInternalOrder.generated.ts +6 -0
- package/src/modules/accounting/command/updateInternalOrder.test.ts +209 -0
- package/src/modules/accounting/command/updateInternalOrder.ts +88 -0
- package/src/modules/accounting/command/updateProfitCenter.generated.ts +6 -0
- package/src/modules/accounting/command/updateProfitCenter.test.ts +162 -0
- package/src/modules/accounting/command/updateProfitCenter.ts +73 -0
- package/src/modules/accounting/command/validateAllocationCycle.generated.ts +6 -0
- package/src/modules/accounting/command/validateAllocationCycle.test.ts +141 -0
- package/src/modules/accounting/command/validateAllocationCycle.ts +80 -0
- package/src/modules/accounting/db/allocationCycle.ts +59 -0
- package/src/modules/accounting/db/allocationResult.ts +58 -0
- package/src/modules/accounting/db/allocationRule.ts +48 -0
- package/src/modules/accounting/db/budget.ts +84 -0
- package/src/modules/accounting/db/budgetLineItem.ts +64 -0
- package/src/modules/accounting/db/commitment.ts +60 -0
- package/src/modules/accounting/db/costCenter.ts +73 -0
- package/src/modules/accounting/db/costCenterHierarchy.ts +37 -0
- package/src/modules/accounting/db/costCenterHierarchyNode.ts +48 -0
- package/src/modules/accounting/db/costElement.ts +56 -0
- package/src/modules/accounting/db/internalOrder.ts +69 -0
- package/src/modules/accounting/db/planVersion.ts +47 -0
- package/src/modules/accounting/db/profitCenter.ts +52 -0
- package/src/modules/accounting/db/profitCenterHierarchy.ts +36 -0
- package/src/modules/accounting/db/profitCenterHierarchyAssignment.ts +62 -0
- package/src/modules/accounting/db/profitCenterHierarchyNode.ts +48 -0
- package/src/modules/accounting/db/varianceReport.ts +54 -0
- package/src/modules/accounting/db/varianceReportLine.ts +62 -0
- package/src/modules/accounting/docs/commands/ActivateBudget.md +54 -0
- package/src/modules/accounting/docs/commands/ActivateCostElement.md +43 -0
- package/src/modules/accounting/docs/commands/ActivateProfitCenter.md +43 -0
- package/src/modules/accounting/docs/commands/ApproveBudget.md +46 -0
- package/src/modules/accounting/docs/commands/AssignCostCenterToHierarchyNode.md +46 -0
- package/src/modules/accounting/docs/commands/AssignProfitCenterToHierarchyNode.md +47 -0
- package/src/modules/accounting/docs/commands/CloseBudget.md +47 -0
- package/src/modules/accounting/docs/commands/CloseInternalOrder.md +45 -0
- package/src/modules/accounting/docs/commands/ConsumeCommitment.md +53 -0
- package/src/modules/accounting/docs/commands/CreateAllocationCycle.md +55 -0
- package/src/modules/accounting/docs/commands/CreateAllocationRule.md +60 -0
- package/src/modules/accounting/docs/commands/CreateBudget.md +65 -0
- package/src/modules/accounting/docs/commands/CreateBudgetLineItem.md +66 -0
- package/src/modules/accounting/docs/commands/CreateCostCenter.md +64 -0
- package/src/modules/accounting/docs/commands/CreateCostCenterHierarchy.md +45 -0
- package/src/modules/accounting/docs/commands/CreateCostCenterHierarchyNode.md +61 -0
- package/src/modules/accounting/docs/commands/CreateCostElement.md +91 -0
- package/src/modules/accounting/docs/commands/CreateInternalOrder.md +72 -0
- package/src/modules/accounting/docs/commands/CreatePlanVersion.md +59 -0
- package/src/modules/accounting/docs/commands/CreateProfitCenter.md +63 -0
- package/src/modules/accounting/docs/commands/CreateProfitCenterHierarchy.md +45 -0
- package/src/modules/accounting/docs/commands/CreateProfitCenterHierarchyNode.md +60 -0
- package/src/modules/accounting/docs/commands/DeactivateCostElement.md +43 -0
- package/src/modules/accounting/docs/commands/DeactivateProfitCenter.md +44 -0
- package/src/modules/accounting/docs/commands/DeleteAllocationCycle.md +46 -0
- package/src/modules/accounting/docs/commands/DeleteAllocationRule.md +45 -0
- package/src/modules/accounting/docs/commands/DeleteBudget.md +46 -0
- package/src/modules/accounting/docs/commands/DeleteBudgetLineItem.md +45 -0
- package/src/modules/accounting/docs/commands/DeleteCostCenter.md +50 -0
- package/src/modules/accounting/docs/commands/DeleteCostCenterHierarchyNode.md +45 -0
- package/src/modules/accounting/docs/commands/DeleteCostElement.md +43 -0
- package/src/modules/accounting/docs/commands/DeleteInternalOrder.md +45 -0
- package/src/modules/accounting/docs/commands/DeleteProfitCenter.md +46 -0
- package/src/modules/accounting/docs/commands/DeleteProfitCenterHierarchyNode.md +46 -0
- package/src/modules/accounting/docs/commands/ExecuteAllocationCycle.md +54 -0
- package/src/modules/accounting/docs/commands/FinalizeVarianceReport.md +44 -0
- package/src/modules/accounting/docs/commands/GenerateVarianceReport.md +83 -0
- package/src/modules/accounting/docs/commands/InvalidateAllocationCycle.md +45 -0
- package/src/modules/accounting/docs/commands/MoveCostCenterHierarchyNode.md +51 -0
- package/src/modules/accounting/docs/commands/PostAllocationCycle.md +58 -0
- package/src/modules/accounting/docs/commands/ReactivateCostElement.md +43 -0
- package/src/modules/accounting/docs/commands/ReactivateProfitCenter.md +43 -0
- package/src/modules/accounting/docs/commands/RecordCommitment.md +60 -0
- package/src/modules/accounting/docs/commands/RejectBudget.md +49 -0
- package/src/modules/accounting/docs/commands/ReleaseCommitment.md +45 -0
- package/src/modules/accounting/docs/commands/ReleaseInternalOrder.md +44 -0
- package/src/modules/accounting/docs/commands/ReverseAllocationCycle.md +55 -0
- package/src/modules/accounting/docs/commands/SubmitBudget.md +47 -0
- package/src/modules/accounting/docs/commands/TechnicallyCompleteInternalOrder.md +44 -0
- package/src/modules/accounting/docs/commands/UpdateAllocationCycle.md +45 -0
- package/src/modules/accounting/docs/commands/UpdateBudget.md +47 -0
- package/src/modules/accounting/docs/commands/UpdateCostCenter.md +50 -0
- package/src/modules/accounting/docs/commands/UpdateCostElement.md +82 -0
- package/src/modules/accounting/docs/commands/UpdateInternalOrder.md +62 -0
- package/src/modules/accounting/docs/commands/UpdateProfitCenter.md +56 -0
- package/src/modules/accounting/docs/commands/ValidateAllocationCycle.md +57 -0
- package/src/modules/accounting/docs/features/budget-management.md +147 -0
- package/src/modules/accounting/docs/features/cost-allocation.md +129 -0
- package/src/modules/accounting/docs/features/cost-center-management.md +118 -0
- package/src/modules/accounting/docs/features/cost-element-management.md +114 -0
- package/src/modules/accounting/docs/features/internal-order-management.md +111 -0
- package/src/modules/accounting/docs/features/profit-center-management.md +120 -0
- package/src/modules/accounting/docs/features/variance-analysis.md +130 -0
- package/src/modules/accounting/docs/models/AllocationCycle.md +81 -0
- package/src/modules/accounting/docs/models/AllocationResult.md +37 -0
- package/src/modules/accounting/docs/models/AllocationRule.md +41 -0
- package/src/modules/accounting/docs/models/Budget.md +77 -0
- package/src/modules/accounting/docs/models/BudgetLineItem.md +40 -0
- package/src/modules/accounting/docs/models/Commitment.md +45 -0
- package/src/modules/accounting/docs/models/CostCenter.md +51 -0
- package/src/modules/accounting/docs/models/CostCenterHierarchy.md +38 -0
- package/src/modules/accounting/docs/models/CostCenterHierarchyNode.md +41 -0
- package/src/modules/accounting/docs/models/CostElement.md +66 -0
- package/src/modules/accounting/docs/models/InternalOrder.md +67 -0
- package/src/modules/accounting/docs/models/PlanVersion.md +36 -0
- package/src/modules/accounting/docs/models/ProfitCenter.md +66 -0
- package/src/modules/accounting/docs/models/ProfitCenterHierarchy.md +36 -0
- package/src/modules/accounting/docs/models/ProfitCenterHierarchyAssignment.md +36 -0
- package/src/modules/accounting/docs/models/ProfitCenterHierarchyNode.md +39 -0
- package/src/modules/accounting/docs/models/VarianceReport.md +58 -0
- package/src/modules/accounting/docs/models/VarianceReportLine.md +43 -0
- package/src/modules/accounting/docs/queries/CalculateBudgetAvailability.md +64 -0
- package/src/modules/accounting/docs/queries/GetAllocationCycle.md +43 -0
- package/src/modules/accounting/docs/queries/GetBudget.md +42 -0
- package/src/modules/accounting/docs/queries/GetCostCenter.md +38 -0
- package/src/modules/accounting/docs/queries/GetCostCenterHierarchy.md +45 -0
- package/src/modules/accounting/docs/queries/GetCostElement.md +39 -0
- package/src/modules/accounting/docs/queries/GetInternalOrder.md +42 -0
- package/src/modules/accounting/docs/queries/GetProfitCenter.md +38 -0
- package/src/modules/accounting/docs/queries/GetProfitCenterHierarchy.md +46 -0
- package/src/modules/accounting/docs/queries/GetVarianceReport.md +45 -0
- package/src/modules/accounting/docs/queries/ListAllocationCycles.md +63 -0
- package/src/modules/accounting/docs/queries/ListBudgets.md +70 -0
- package/src/modules/accounting/docs/queries/ListCostCenters.md +55 -0
- package/src/modules/accounting/docs/queries/ListCostElements.md +63 -0
- package/src/modules/accounting/docs/queries/ListInternalOrders.md +62 -0
- package/src/modules/accounting/docs/queries/ListProfitCenters.md +49 -0
- package/src/modules/accounting/generated/enums.ts +110 -0
- package/src/modules/accounting/generated/kysely-tailordb.ts +302 -0
- package/src/modules/accounting/index.ts +2 -0
- package/src/modules/accounting/lib/_db_deps.ts +70 -0
- package/src/modules/accounting/lib/actualAmounts.ts +93 -0
- package/src/modules/accounting/lib/allocationPosting.ts +152 -0
- package/src/modules/accounting/lib/errors.generated.ts +432 -0
- package/src/modules/accounting/lib/permissions.generated.ts +61 -0
- package/src/modules/accounting/lib/types.ts +114 -0
- package/src/modules/accounting/module.ts +428 -0
- package/src/modules/accounting/permissions.ts +3 -0
- package/src/modules/accounting/query/calculateBudgetAvailability.generated.ts +5 -0
- package/src/modules/accounting/query/calculateBudgetAvailability.test.ts +229 -0
- package/src/modules/accounting/query/calculateBudgetAvailability.ts +147 -0
- package/src/modules/accounting/query/getAllocationCycle.generated.ts +5 -0
- package/src/modules/accounting/query/getAllocationCycle.test.ts +94 -0
- package/src/modules/accounting/query/getAllocationCycle.ts +37 -0
- package/src/modules/accounting/query/getBudget.generated.ts +5 -0
- package/src/modules/accounting/query/getBudget.test.ts +80 -0
- package/src/modules/accounting/query/getBudget.ts +31 -0
- package/src/modules/accounting/query/getCostCenter.generated.ts +5 -0
- package/src/modules/accounting/query/getCostCenter.test.ts +50 -0
- package/src/modules/accounting/query/getCostCenter.ts +33 -0
- package/src/modules/accounting/query/getCostCenterHierarchy.generated.ts +5 -0
- package/src/modules/accounting/query/getCostCenterHierarchy.test.ts +100 -0
- package/src/modules/accounting/query/getCostCenterHierarchy.ts +80 -0
- package/src/modules/accounting/query/getCostElement.generated.ts +5 -0
- package/src/modules/accounting/query/getCostElement.test.ts +57 -0
- package/src/modules/accounting/query/getCostElement.ts +21 -0
- package/src/modules/accounting/query/getInternalOrder.generated.ts +5 -0
- package/src/modules/accounting/query/getInternalOrder.test.ts +73 -0
- package/src/modules/accounting/query/getInternalOrder.ts +21 -0
- package/src/modules/accounting/query/getProfitCenter.generated.ts +5 -0
- package/src/modules/accounting/query/getProfitCenter.test.ts +65 -0
- package/src/modules/accounting/query/getProfitCenter.ts +31 -0
- package/src/modules/accounting/query/getProfitCenterHierarchy.generated.ts +5 -0
- package/src/modules/accounting/query/getProfitCenterHierarchy.test.ts +97 -0
- package/src/modules/accounting/query/getProfitCenterHierarchy.ts +87 -0
- package/src/modules/accounting/query/getVarianceReport.generated.ts +5 -0
- package/src/modules/accounting/query/getVarianceReport.test.ts +108 -0
- package/src/modules/accounting/query/getVarianceReport.ts +31 -0
- package/src/modules/accounting/query/listAllocationCycles.generated.ts +5 -0
- package/src/modules/accounting/query/listAllocationCycles.test.ts +152 -0
- package/src/modules/accounting/query/listAllocationCycles.ts +96 -0
- package/src/modules/accounting/query/listBudgets.generated.ts +5 -0
- package/src/modules/accounting/query/listBudgets.test.ts +150 -0
- package/src/modules/accounting/query/listBudgets.ts +85 -0
- package/src/modules/accounting/query/listCostCenters.generated.ts +5 -0
- package/src/modules/accounting/query/listCostCenters.test.ts +111 -0
- package/src/modules/accounting/query/listCostCenters.ts +71 -0
- package/src/modules/accounting/query/listCostElements.generated.ts +5 -0
- package/src/modules/accounting/query/listCostElements.test.ts +138 -0
- package/src/modules/accounting/query/listCostElements.ts +105 -0
- package/src/modules/accounting/query/listInternalOrders.generated.ts +5 -0
- package/src/modules/accounting/query/listInternalOrders.test.ts +129 -0
- package/src/modules/accounting/query/listInternalOrders.ts +94 -0
- package/src/modules/accounting/query/listProfitCenters.generated.ts +5 -0
- package/src/modules/accounting/query/listProfitCenters.test.ts +94 -0
- package/src/modules/accounting/query/listProfitCenters.ts +56 -0
- package/src/modules/accounting/seed/index.ts +19 -0
- package/src/modules/accounting/tailor.config.ts +13 -0
- package/src/modules/accounting/testing/commandTestUtils.ts +35 -0
- package/src/modules/accounting/testing/fixtures.ts +502 -0
- package/src/modules/audit/command/logAuditEvent.ts +43 -38
- package/src/modules/audit/command/updateAuditPolicy.ts +2 -2
- package/src/modules/audit/docs/commands/UpdateAuditPolicy.md +1 -1
- package/src/modules/audit/module.ts +4 -0
- package/src/modules/business-partner/command/updateContactPerson.ts +3 -4
- package/src/modules/business-partner/command/updatePartner.ts +13 -6
- package/src/modules/business-partner/command/updatePartnerAddress.ts +13 -6
- package/src/modules/business-partner/command/updatePartnerBankAccount.ts +3 -4
- package/src/modules/business-partner/command/updatePartnerIdentification.ts +3 -4
- package/src/modules/business-partner/docs/commands/UpdateContactPerson.md +3 -3
- package/src/modules/business-partner/docs/commands/UpdatePartner.md +2 -2
- package/src/modules/business-partner/docs/commands/UpdatePartnerAddress.md +2 -2
- package/src/modules/business-partner/docs/commands/UpdatePartnerIdentification.md +2 -2
- package/src/modules/coa-management/command/updateAccount.ts +3 -3
- package/src/modules/coa-management/command/updateAccountGroup.test.ts +22 -0
- package/src/modules/coa-management/command/updateAccountGroup.ts +30 -18
- package/src/modules/coa-management/command/updateChartOfAccounts.ts +3 -4
- package/src/modules/coa-management/docs/commands/UpdateAccountGroup.md +4 -3
- package/src/modules/finance-ledger/command/updateFiscalYear.ts +2 -3
- package/src/modules/finance-ledger/command/updateJournalEntry.test.ts +0 -17
- package/src/modules/finance-ledger/command/updateJournalEntry.ts +2 -10
- package/src/modules/finance-ledger/command/updateJournalLine.ts +2 -3
- package/src/modules/finance-ledger/docs/commands/UpdateJournalEntry.md +1 -4
- package/src/modules/inventory/command/updateLot.test.ts +1 -1
- package/src/modules/inventory/command/updateLot.ts +2 -3
- package/src/modules/inventory/command/updateStockMovement.ts +2 -3
- package/src/modules/inventory/command/updateStorageLocation.ts +12 -17
- package/src/modules/inventory/command/updateValuationPolicy.ts +2 -3
- package/src/modules/inventory/command/updateWarehouse.ts +2 -3
- package/src/modules/inventory/docs/commands/UpdateLot.md +3 -3
- package/src/modules/inventory/docs/commands/UpdateStorageLocation.md +6 -6
- package/src/modules/inventory/docs/commands/UpdateWarehouse.md +2 -2
- package/src/modules/item-management/command/updateItem.test.ts +16 -12
- package/src/modules/item-management/command/updateItem.ts +47 -31
- package/src/modules/item-management/command/updateTaxonomyNode.test.ts +15 -16
- package/src/modules/item-management/command/updateTaxonomyNode.ts +42 -29
- package/src/modules/item-management/docs/commands/UpdateItem.md +7 -11
- package/src/modules/item-management/docs/commands/UpdateTaxonomyNode.md +10 -14
- package/src/modules/manufacturing/command/updateBillOfMaterial.ts +3 -4
- package/src/modules/manufacturing/command/updateProductionOrder.ts +3 -4
- package/src/modules/manufacturing/command/updateRouting.ts +3 -4
- package/src/modules/manufacturing/command/updateWorkCenter.test.ts +16 -7
- package/src/modules/manufacturing/command/updateWorkCenter.ts +41 -38
- package/src/modules/manufacturing/docs/commands/ActivateWorkCenter.md +2 -0
- package/src/modules/manufacturing/docs/commands/CompleteWorkOrder.md +2 -0
- package/src/modules/manufacturing/docs/commands/CreateBillOfMaterial.md +1 -0
- package/src/modules/manufacturing/docs/commands/ReviewManufacturingCostSummary.md +1 -0
- package/src/modules/manufacturing/docs/commands/UpdateWorkCenter.md +6 -5
- package/src/modules/manufacturing/docs/models/BillOfMaterialLine.md +42 -0
- package/src/modules/manufacturing/docs/models/CostVarianceLine.md +36 -0
- package/src/modules/manufacturing/docs/models/ManufacturingCostLine.md +37 -0
- package/src/modules/manufacturing/docs/models/ManufacturingCostSettlementRecord.md +34 -0
- package/src/modules/manufacturing/docs/models/ProductionOrderBomSnapshot.md +35 -0
- package/src/modules/manufacturing/docs/models/ProductionOrderCostBaseline.md +36 -0
- package/src/modules/manufacturing/docs/models/ProductionOrderMaterialRequirement.md +35 -0
- package/src/modules/manufacturing/docs/models/ProductionOrderRoutingSnapshot.md +34 -0
- package/src/modules/manufacturing/docs/models/RoutingOperation.md +40 -0
- package/src/modules/manufacturing/docs/models/WorkOrderExecutionEvent.md +38 -0
- package/src/modules/manufacturing/docs/queries/ExplodeBillOfMaterial.md +1 -0
- package/src/modules/manufacturing/docs/queries/ListWorkCentersBySite.md +1 -0
- package/src/modules/organization/command/updateCompany.test.ts +6 -6
- package/src/modules/organization/command/updateCompany.ts +3 -4
- package/src/modules/organization/command/updateDepartment.test.ts +7 -7
- package/src/modules/organization/command/updateDepartment.ts +13 -12
- package/src/modules/organization/command/updateSite.test.ts +10 -10
- package/src/modules/organization/command/updateSite.ts +3 -4
- package/src/modules/organization/docs/commands/UpdateCompany.md +6 -6
- package/src/modules/organization/docs/commands/UpdateDepartment.md +9 -10
- package/src/modules/organization/docs/commands/UpdateSite.md +12 -12
- package/src/modules/product-management/command/updateProduct.test.ts +17 -11
- package/src/modules/product-management/command/updateProduct.ts +45 -28
- package/src/modules/product-management/command/updateProductAttribute.test.ts +16 -21
- package/src/modules/product-management/command/updateProductAttribute.ts +40 -26
- package/src/modules/product-management/command/updateProductAttributeValue.ts +2 -3
- package/src/modules/product-management/command/updateProductCategory.test.ts +14 -19
- package/src/modules/product-management/command/updateProductCategory.ts +42 -26
- package/src/modules/product-management/docs/commands/UpdateProduct.md +16 -20
- package/src/modules/product-management/docs/commands/UpdateProductAttribute.md +10 -14
- package/src/modules/product-management/docs/commands/UpdateProductCategory.md +10 -14
- package/src/modules/purchase/command/updateGoodsReceipt.ts +2 -3
- package/src/modules/purchase/command/updatePurchaseBill.ts +2 -3
- package/src/modules/purchase/command/updatePurchaseOrder.ts +2 -3
- package/src/modules/purchase/command/updatePurchasePaymentTerm.ts +2 -3
- package/src/modules/purchase/command/updatePurchasePriceList.ts +2 -3
- package/src/modules/purchase/command/updatePurchasePriceRule.ts +2 -3
- package/src/modules/sales/command/updateChannel.test.ts +4 -4
- package/src/modules/sales/command/updateChannel.ts +2 -3
- package/src/modules/sales/command/updateListing.test.ts +2 -2
- package/src/modules/sales/command/updateListing.ts +2 -3
- package/src/modules/sales/command/updateSalesCreditNote.test.ts +2 -2
- package/src/modules/sales/command/updateSalesCreditNote.ts +2 -3
- package/src/modules/sales/command/updateSalesInvoice.test.ts +2 -2
- package/src/modules/sales/command/updateSalesInvoice.ts +2 -3
- package/src/modules/sales/command/updateSalesOrder.test.ts +3 -3
- package/src/modules/sales/command/updateSalesOrder.ts +2 -3
- package/src/modules/sales/command/updateSalesPaymentTerm.test.ts +2 -2
- package/src/modules/sales/command/updateSalesPaymentTerm.ts +2 -3
- package/src/modules/sales/command/updateSalesPriceList.test.ts +3 -3
- package/src/modules/sales/command/updateSalesPriceList.ts +2 -3
- package/src/modules/sales/command/updateSalesPriceRule.test.ts +3 -3
- package/src/modules/sales/command/updateSalesPriceRule.ts +2 -3
- package/src/modules/sales/command/updateShipment.test.ts +2 -2
- package/src/modules/sales/command/updateShipment.ts +2 -3
- package/src/modules/sales/docs/commands/UpdateChannel.md +4 -4
- package/src/modules/sales/docs/commands/UpdateListing.md +2 -2
- package/src/modules/sales/docs/commands/UpdateSalesCreditNote.md +2 -2
- package/src/modules/sales/docs/commands/UpdateSalesInvoice.md +2 -2
- package/src/modules/sales/docs/commands/UpdateSalesOrder.md +3 -3
- package/src/modules/sales/docs/commands/UpdateSalesPaymentTerm.md +2 -2
- package/src/modules/sales/docs/commands/UpdateSalesPriceList.md +3 -3
- package/src/modules/sales/docs/commands/UpdateSalesPriceRule.md +3 -3
- package/src/modules/sales/docs/commands/UpdateShipment.md +2 -2
- package/src/modules/user-management/README.md +2 -1
- package/src/modules/user-management/command/updateOwnProfile.generated.ts +6 -0
- package/src/modules/user-management/command/updateOwnProfile.test.ts +191 -0
- package/src/modules/user-management/command/updateOwnProfile.ts +82 -0
- package/src/modules/user-management/command/updateUser.generated.ts +6 -0
- package/src/modules/user-management/command/updateUser.test.ts +195 -0
- package/src/modules/user-management/command/updateUser.ts +76 -0
- package/src/modules/user-management/docs/commands/UpdateOwnProfile.md +68 -0
- package/src/modules/user-management/docs/commands/UpdateUser.md +67 -0
- package/src/modules/user-management/docs/features/user-account-management.md +28 -3
- package/src/modules/user-management/docs/models/User.md +2 -0
- package/src/modules/user-management/lib/errors.generated.ts +5 -0
- package/src/modules/user-management/lib/permissions.generated.ts +2 -0
- package/src/modules/user-management/module.ts +5 -0
- package/src/modules/user-management/seed/index.ts +19 -0
- package/templates/scaffold/app/backend/seed/data/AuditEntry.schema.ts +20 -0
- package/templates/scaffold/app/backend/seed/data/AuditPolicy.jsonl +7 -0
- package/templates/scaffold/app/backend/seed/data/AuditPolicy.schema.ts +15 -0
- package/templates/scaffold/app/backend/seed/data/AuditableEntity.jsonl +4 -0
- package/templates/scaffold/app/backend/seed/data/AuditableEntity.schema.ts +20 -0
- package/templates/scaffold/app/backend/seed/data/ChangeDetail.schema.ts +20 -0
- package/templates/scaffold/app/backend/seed/data/Company.schema.ts +15 -0
- package/templates/scaffold/app/backend/seed/data/Permission.jsonl +13 -0
- package/templates/scaffold/app/backend/seed/data/Permission.schema.ts +1 -1
- package/templates/scaffold/app/backend/seed/data/PolicyFieldRule.schema.ts +20 -0
- package/templates/scaffold/app/backend/seed/data/Role.jsonl +1 -0
- package/templates/scaffold/app/backend/seed/data/Role.schema.ts +1 -1
- package/templates/scaffold/app/backend/seed/data/RolePermission.jsonl +13 -0
- package/templates/scaffold/app/backend/seed/data/RolePermission.schema.ts +1 -1
- package/templates/scaffold/app/backend/seed/data/User.jsonl +1 -1
- package/templates/scaffold/app/backend/seed/data/User.schema.ts +1 -1
- package/templates/scaffold/app/backend/seed/data/UserRole.jsonl +1 -0
- package/templates/scaffold/app/backend/seed/data/UserRole.schema.ts +1 -1
- package/templates/scaffold/app/backend/seed/data/_User.jsonl +1 -1
- package/templates/scaffold/app/backend/seed/exec.mjs +12 -0
- package/templates/scaffold/app/backend/src/executors/permissionCreated.ts +2 -2
- package/templates/scaffold/app/backend/src/executors/permissionDeleted.ts +2 -2
- package/templates/scaffold/app/backend/src/generated/kysely-tailordb.ts +62 -0
- package/templates/scaffold/app/backend/src/modules-db.ts +13 -0
- package/templates/scaffold/app/backend/src/modules.ts +3 -5
- package/templates/scaffold/app/backend/src/resolvers/assignPermissionToRole.ts +70 -0
- package/templates/scaffold/app/backend/src/resolvers/assignRoleToUser.ts +72 -0
- package/templates/scaffold/app/backend/src/resolvers/createRole.ts +92 -0
- package/templates/scaffold/app/backend/src/resolvers/createUser.ts +113 -13
- package/templates/scaffold/app/backend/src/resolvers/deactivateUser.ts +67 -0
- package/templates/scaffold/app/backend/src/resolvers/reactivateUser.ts +63 -0
- package/templates/scaffold/app/backend/src/resolvers/revokePermissionFromRole.ts +72 -0
- package/templates/scaffold/app/backend/src/resolvers/revokeRoleFromUser.ts +72 -0
- package/templates/scaffold/app/backend/src/resolvers/updateOwnProfile.ts +107 -0
- package/templates/scaffold/app/backend/src/resolvers/updateUserProfile.ts +107 -0
- package/templates/scaffold/app/backend/src/tests/stories/audit-log/user--view-audit-log-detail.test.ts +79 -0
- package/templates/scaffold/app/backend/src/tests/stories/audit-log/user--view-audit-log.test.ts +86 -0
- package/templates/scaffold/app/backend/src/tests/stories/role-management/user--assign-role-to-user.test.ts +103 -0
- package/templates/scaffold/app/backend/src/tests/stories/role-management/user--create-role.test.ts +61 -0
- package/templates/scaffold/app/backend/src/tests/stories/role-management/user--remove-role-from-user.test.ts +89 -0
- package/templates/scaffold/app/backend/src/tests/stories/role-management/user--update-role-permissions.test.ts +125 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--browse-user-list.test.ts +91 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--create-user-account.test.ts +97 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--toggle-user-status.test.ts +131 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--update-own-profile.test.ts +85 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--update-user-profile.test.ts +158 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--view-own-profile.test.ts +30 -0
- package/templates/scaffold/app/backend/src/tests/stories/user-lifecycle/user--view-user-detail.test.ts +98 -0
- package/templates/scaffold/app/backend/tailor.config.ts +6 -2
- package/templates/scaffold/app/docs/actors/user.md +11 -0
- package/templates/scaffold/app/docs/business-flow/audit-log/README.md +31 -0
- package/templates/scaffold/app/docs/business-flow/audit-log/story/user--view-audit-log-detail.md +35 -0
- package/templates/scaffold/app/docs/business-flow/audit-log/story/user--view-audit-log.md +44 -0
- package/templates/scaffold/app/docs/business-flow/role-management/README.md +33 -0
- package/templates/scaffold/app/docs/business-flow/role-management/story/user--assign-role-to-user.md +35 -0
- package/templates/scaffold/app/docs/business-flow/role-management/story/user--create-role.md +41 -0
- package/templates/scaffold/app/docs/business-flow/role-management/story/user--remove-role-from-user.md +33 -0
- package/templates/scaffold/app/docs/business-flow/role-management/story/user--update-role-permissions.md +41 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/README.md +48 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--browse-user-list.md +38 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--create-user-account.md +45 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--toggle-user-status.md +38 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--update-own-profile.md +36 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--update-user-profile.md +41 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--view-own-profile.md +30 -0
- package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--view-user-detail.md +33 -0
- package/templates/scaffold/app/docs/resolver/assignPermissionToRole.md +16 -0
- package/templates/scaffold/app/docs/resolver/assignRoleToUser.md +17 -0
- package/templates/scaffold/app/docs/resolver/createRole.md +17 -0
- package/templates/scaffold/app/docs/resolver/createUser.md +23 -0
- package/templates/scaffold/app/docs/resolver/deactivateUser.md +17 -0
- package/templates/scaffold/app/docs/resolver/reactivateUser.md +16 -0
- package/templates/scaffold/app/docs/resolver/revokePermissionFromRole.md +17 -0
- package/templates/scaffold/app/docs/resolver/revokeRoleFromUser.md +17 -0
- package/templates/scaffold/app/docs/resolver/updateOwnProfile.md +20 -0
- package/templates/scaffold/app/docs/resolver/updateUserProfile.md +19 -0
- package/templates/scaffold/app/docs/screen/audit-entry-detail.md +30 -0
- package/templates/scaffold/app/docs/screen/audit-entry-list.md +25 -0
- package/templates/scaffold/app/docs/screen/my-profile-edit-form.md +22 -0
- package/templates/scaffold/app/docs/screen/my-profile.md +27 -0
- package/templates/scaffold/app/docs/screen/role-create-form.md +23 -0
- package/templates/scaffold/app/docs/screen/role-detail.md +27 -0
- package/templates/scaffold/app/docs/screen/role-edit-form.md +21 -0
- package/templates/scaffold/app/docs/screen/role-list.md +23 -0
- package/templates/scaffold/app/docs/screen/user-create-form.md +23 -0
- package/templates/scaffold/app/docs/screen/user-detail.md +33 -0
- package/templates/scaffold/app/docs/screen/user-edit-form.md +22 -0
- package/templates/scaffold/app/docs/screen/user-list.md +24 -0
- package/templates/scaffold/app/frontend/package.json +1 -1
- package/templates/scaffold/app/frontend/src/App.tsx +4 -0
- package/templates/scaffold/app/frontend/src/components/composed/error-fallback.tsx +1 -1
- package/templates/scaffold/app/frontend/src/graphql/generated/graphql-env.d.ts +59 -31
- package/templates/scaffold/app/frontend/src/graphql/generated/schema.graphql +1411 -688
- package/templates/scaffold/app/frontend/src/hooks/use-toast.ts +1 -1
- package/templates/scaffold/app/frontend/src/lib/permission-groups.ts +59 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/audit/[id]/components/audit-entry-detail.tsx +102 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/audit/[id]/page.tsx +65 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/audit/components/audit-entries-table.tsx +90 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/audit/page.tsx +52 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/profile/edit/components/edit-profile-form.tsx +125 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/profile/edit/page.tsx +19 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/profile/page.tsx +41 -21
- package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/components/role-actions.tsx +26 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/components/role-detail.tsx +69 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/edit/components/edit-role-form.tsx +192 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/edit/page.tsx +51 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/[id]/page.tsx +56 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/components/roles-table.tsx +85 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/create/components/create-role-form.tsx +204 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/create/page.tsx +19 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/role/page.tsx +60 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/components/user-actions.tsx +216 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/components/user-detail.tsx +97 -33
- package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/edit/components/edit-user-form.tsx +115 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/edit/page.tsx +51 -0
- package/templates/scaffold/app/frontend/src/pages/user-management/user/[id]/page.tsx +8 -2
- package/templates/scaffold/app/frontend/src/pages/user-management/user/components/users-table.tsx +43 -42
- package/templates/scaffold/app/frontend/src/pages/user-management/user/create/components/create-user-form.tsx +120 -45
- package/templates/scaffold/app/frontend/src/pages/user-management/user/page.tsx +3 -4
- package/templates/scaffold/app/frontend/src/providers/graphql-provider.tsx +8 -1
- package/templates/scaffold/module/eslint.config.js +8 -0
- package/templates/scaffold/project/__dot__gitignore +1 -0
- package/templates/scaffold/project/__pnpm-workspace.yaml +3 -0
- package/templates/scaffold/project/apps/.gitkeep +0 -0
- package/templates/scaffold/project/modules/.gitkeep +0 -0
- package/templates/scaffold/project/package.json +15 -0
- package/templates/workflows/erp-kit-check.yml +10 -4
- package/templates/scaffold/app/frontend/src/components/ui/badge.tsx +0 -39
- package/templates/scaffold/app/frontend/src/components/ui/button.tsx +0 -60
- package/templates/scaffold/app/frontend/src/components/ui/card.tsx +0 -75
- package/templates/scaffold/app/frontend/src/components/ui/input.tsx +0 -21
- package/templates/scaffold/app/frontend/src/components/ui/table.tsx +0 -90
- /package/src/modules/{supplier-portal → accounting/executor}/.gitkeep +0 -0
- /package/templates/scaffold/app/{docs/actors/.gitkeep → backend/seed/data/AuditEntry.jsonl} +0 -0
- /package/templates/scaffold/app/{docs/business-flow/.gitkeep → backend/seed/data/ChangeDetail.jsonl} +0 -0
- /package/templates/scaffold/app/{docs/resolver/.gitkeep → backend/seed/data/Company.jsonl} +0 -0
- /package/templates/scaffold/app/{docs/screen/.gitkeep → backend/seed/data/PolicyFieldRule.jsonl} +0 -0
- /package/templates/{config → scaffold/project}/license.config.json +0 -0
package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--update-user-profile.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Update User Profile
|
|
2
|
+
|
|
3
|
+
## User Story
|
|
4
|
+
|
|
5
|
+
As a user with the appropriate role, I want to update another user's profile information, so that I can keep user records accurate and up to date.
|
|
6
|
+
|
|
7
|
+
## Story Diagram
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
A[Open User Detail] --> B[Click Edit]
|
|
12
|
+
B --> C[Modify name or email]
|
|
13
|
+
C --> D[Submit]
|
|
14
|
+
D --> E{Validation}
|
|
15
|
+
E -- Email already exists --> F[Show duplicate email error]
|
|
16
|
+
E -- Required field missing --> G[Show validation error]
|
|
17
|
+
E -- Valid --> H[Profile updated]
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Scenario Patterns
|
|
21
|
+
|
|
22
|
+
- Update another user's name
|
|
23
|
+
- Update another user's email address
|
|
24
|
+
- Duplicate email address is rejected with an error
|
|
25
|
+
- Submission with missing required fields is blocked by validation
|
|
26
|
+
|
|
27
|
+
## Test Cases
|
|
28
|
+
|
|
29
|
+
- Change a user's name and submit; verify the updated name is reflected on the detail page
|
|
30
|
+
- Change a user's email to a valid unique address and submit; verify the updated email is shown
|
|
31
|
+
- Change a user's email to one already assigned to another user; verify an error is shown and no change is saved
|
|
32
|
+
- Clear the name field and submit; verify a validation error is shown
|
|
33
|
+
|
|
34
|
+
## Screens
|
|
35
|
+
|
|
36
|
+
- [user-detail](../../../screen/user-detail.md)
|
|
37
|
+
- [user-edit-form](../../../screen/user-edit-form.md)
|
|
38
|
+
|
|
39
|
+
## Resolvers
|
|
40
|
+
|
|
41
|
+
- [updateUserProfile](../../../resolver/updateUserProfile.md)
|
package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--view-own-profile.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# View Own Profile
|
|
2
|
+
|
|
3
|
+
## User Story
|
|
4
|
+
|
|
5
|
+
As a user, I want to view my profile details, so that I can verify my information and assigned roles.
|
|
6
|
+
|
|
7
|
+
## Story Diagram
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
A[Open Profile Page] --> B[View name and email]
|
|
12
|
+
B --> C[View assigned roles]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Scenario Patterns
|
|
16
|
+
|
|
17
|
+
- View profile showing name, email, and assigned roles
|
|
18
|
+
- Profile reflects the currently authenticated user's data
|
|
19
|
+
|
|
20
|
+
## Test Cases
|
|
21
|
+
|
|
22
|
+
- Navigate to the profile page; verify name, email, and assigned roles are displayed correctly
|
|
23
|
+
|
|
24
|
+
## Screens
|
|
25
|
+
|
|
26
|
+
- [my-profile](../../../screen/my-profile.md)
|
|
27
|
+
|
|
28
|
+
## Resolvers
|
|
29
|
+
|
|
30
|
+
- None
|
package/templates/scaffold/app/docs/business-flow/user-lifecycle/story/user--view-user-detail.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# View User Detail
|
|
2
|
+
|
|
3
|
+
## User Story
|
|
4
|
+
|
|
5
|
+
As a user with the appropriate role, I want to view another user's profile details, so that I can review their information and assigned roles.
|
|
6
|
+
|
|
7
|
+
## Story Diagram
|
|
8
|
+
|
|
9
|
+
```mermaid
|
|
10
|
+
flowchart TD
|
|
11
|
+
A[Open User List] --> B[Click on a user]
|
|
12
|
+
B --> C[View name, email, status]
|
|
13
|
+
C --> D[View assigned roles]
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Scenario Patterns
|
|
17
|
+
|
|
18
|
+
- View full profile details of another user including name, email, status, and assigned roles
|
|
19
|
+
- View profile of an INACTIVE user
|
|
20
|
+
|
|
21
|
+
## Test Cases
|
|
22
|
+
|
|
23
|
+
- Click on a user in the list; verify name, email, status, and assigned roles are displayed
|
|
24
|
+
- Click on an INACTIVE user; verify the profile is displayed with INACTIVE status clearly indicated
|
|
25
|
+
|
|
26
|
+
## Screens
|
|
27
|
+
|
|
28
|
+
- [user-list](../../../screen/user-list.md)
|
|
29
|
+
- [user-detail](../../../screen/user-detail.md)
|
|
30
|
+
|
|
31
|
+
## Resolvers
|
|
32
|
+
|
|
33
|
+
- None
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# assignPermissionToRole
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Assigns a permission to a role, granting that permission to all users with the role.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.assignPermissionToRole` — Creates a role-permission association
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| -------------------- | ---------------------------------------------- |
|
|
15
|
+
| ROLE_NOT_FOUND | The specified role does not exist |
|
|
16
|
+
| PERMISSION_NOT_FOUND | The specified permission does not exist |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# assignRoleToUser
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Assigns a role to a user, granting the role's permissions.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.assignRoleToUser` — Creates a user-role association
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| -------------------- | ---------------------------------------- |
|
|
15
|
+
| USER_NOT_FOUND | The specified user does not exist |
|
|
16
|
+
| ROLE_NOT_FOUND | The specified role does not exist |
|
|
17
|
+
| USER_NOT_ACTIVE | The user is not in ACTIVE status |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# createRole
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Creates a new role with a unique name and optional description. Automatically assigns the `audit:logAuditEvent` and `user-management:updateOwnProfile` permissions so that all operations performed under this role are audited and users can update their own profile. The role can then have additional permissions assigned to it.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.createRole` — Creates a new role record
|
|
10
|
+
- `user-management.assignPermissionToRole` — Auto-assigns the `audit:logAuditEvent` and `user-management:updateOwnProfile` permissions to the new role
|
|
11
|
+
|
|
12
|
+
## Exception Handling
|
|
13
|
+
|
|
14
|
+
| Error Code | Source | Description |
|
|
15
|
+
| ---------------------- | -------------------- | ---------------------------------------- |
|
|
16
|
+
| DUPLICATE_ROLE_NAME | createRole | A role with the same name already exists |
|
|
17
|
+
| MISSING_REQUIRED_FIELD | createRole | The role name was not provided |
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# createUser
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Creates a new user account with ACTIVE status, optionally assigns one or more roles, and provisions an IDP user with an auto-generated password. The initial password is returned in the response for the admin to communicate to the user.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.createUser` — Creates a new user record in PENDING status
|
|
10
|
+
- `user-management.activateUser` — Transitions user to ACTIVE status
|
|
11
|
+
- `user-management.assignRoleToUser` — Assigns each selected role to the new user (called once per role)
|
|
12
|
+
|
|
13
|
+
## Exception Handling
|
|
14
|
+
|
|
15
|
+
| Error Code | Source | Description |
|
|
16
|
+
| ------------------------- | -------------------- | ------------------------------------------------------------------------ |
|
|
17
|
+
| USER_ALREADY_EXISTS | createUser | A user with the same email exists |
|
|
18
|
+
| MISSING_REQUIRED_FIELD | createUser | Name or email is missing |
|
|
19
|
+
| INVALID_EMAIL | createUser | Email format is invalid |
|
|
20
|
+
| ROLE_NOT_FOUND | assignRoleToUser | One of the selected roles does not exist |
|
|
21
|
+
| USER_NOT_FOUND | assignRoleToUser | The created user was not found (should not occur in normal flow) |
|
|
22
|
+
| USER_NOT_ACTIVE | assignRoleToUser | The user is not in ACTIVE status (should not occur in normal flow) |
|
|
23
|
+
| IDP provisioning failure | idp.Client.createUser | IDP user creation failed. DB transaction is rolled back — no user record is created |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# deactivateUser
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Deactivates a user account, preventing system access. Only ACTIVE users can be deactivated. Users cannot deactivate their own account.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.deactivateUser` — Changes user status from ACTIVE to INACTIVE
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| ------------------------- | ------------------------------------------ |
|
|
15
|
+
| USER_NOT_FOUND | The specified user does not exist |
|
|
16
|
+
| INVALID_STATUS_TRANSITION | The user is not in ACTIVE status |
|
|
17
|
+
| SELF_DEACTIVATION | A user cannot deactivate their own account |
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# reactivateUser
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Reactivates a previously deactivated user account. Only INACTIVE users can be reactivated.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.reactivateUser` — Changes user status from INACTIVE to ACTIVE
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| ------------------------- | ---------------------------------- |
|
|
15
|
+
| USER_NOT_FOUND | The specified user does not exist |
|
|
16
|
+
| INVALID_STATUS_TRANSITION | The user is not in INACTIVE status |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# revokePermissionFromRole
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Removes a permission from a role, revoking that permission from all users with the role.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.revokePermissionFromRole` — Removes a role-permission association
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| -------------------- | ------------------------------------------ |
|
|
15
|
+
| ROLE_NOT_FOUND | The specified role does not exist |
|
|
16
|
+
| PERMISSION_NOT_FOUND | The specified permission does not exist |
|
|
17
|
+
| ASSIGNMENT_NOT_FOUND | The permission is not assigned to the role |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# revokeRoleFromUser
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Removes a role from a user, revoking the role's permissions.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.revokeRoleFromUser` — Removes a user-role association
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| -------------------- | ------------------------------------ |
|
|
15
|
+
| USER_NOT_FOUND | The specified user does not exist |
|
|
16
|
+
| ROLE_NOT_FOUND | The specified role does not exist |
|
|
17
|
+
| ASSIGNMENT_NOT_FOUND | The role is not assigned to the user |
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# updateOwnProfile
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Updates the authenticated user's own profile information. Uses the session context to identify the user. Only ACTIVE users can update their own profile.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.updateOwnProfile` — Updates caller's own name and email (ACTIVE only, targets caller via ctx.actorId)
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| ------------------------- | ---------------------------------------------- |
|
|
15
|
+
| USER_NOT_FOUND | The authenticated user does not exist |
|
|
16
|
+
| INVALID_STATUS_TRANSITION | Caller is not ACTIVE (PENDING or INACTIVE) |
|
|
17
|
+
| USER_ALREADY_EXISTS | A user with the same email exists |
|
|
18
|
+
| MISSING_REQUIRED_FIELD | A required field was cleared or missing |
|
|
19
|
+
| INVALID_NAME | Name is empty or whitespace only |
|
|
20
|
+
| INVALID_EMAIL | Email does not follow valid email format |
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# updateUserProfile
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Updates another user's profile information (name and email). Admin-only operation that works on users in any status.
|
|
6
|
+
|
|
7
|
+
## Modules Commands Used
|
|
8
|
+
|
|
9
|
+
- `user-management.updateUser` — Updates user name and email (any status)
|
|
10
|
+
|
|
11
|
+
## Exception Handling
|
|
12
|
+
|
|
13
|
+
| Error Code | Description |
|
|
14
|
+
| ---------------------- | ---------------------------------------- |
|
|
15
|
+
| USER_NOT_FOUND | The specified user does not exist |
|
|
16
|
+
| USER_ALREADY_EXISTS | A user with the same email exists |
|
|
17
|
+
| MISSING_REQUIRED_FIELD | Neither name nor email was provided |
|
|
18
|
+
| INVALID_NAME | Name is empty or whitespace only |
|
|
19
|
+
| INVALID_EMAIL | Email does not follow valid email format |
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# audit-entry-detail
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays the full details of an audit log entry including actor, timestamp, and field-level change details (old and new values).
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
DetailView
|
|
10
|
+
|
|
11
|
+
### DetailView Details
|
|
12
|
+
|
|
13
|
+
#### Displayed Fields
|
|
14
|
+
|
|
15
|
+
- Event ID
|
|
16
|
+
- Timestamp
|
|
17
|
+
- Operation Type
|
|
18
|
+
- Entity Type
|
|
19
|
+
- Entity ID
|
|
20
|
+
- Actor Type
|
|
21
|
+
- Actor ID
|
|
22
|
+
- Change Details (field name, old value, new value)
|
|
23
|
+
|
|
24
|
+
#### Available Actions
|
|
25
|
+
|
|
26
|
+
- Back to Audit Log List
|
|
27
|
+
|
|
28
|
+
## Access Control
|
|
29
|
+
|
|
30
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# audit-entry-list
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays a paginated list of audit log entries with filtering by entity type and date range.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
ListView
|
|
10
|
+
|
|
11
|
+
### ListView Details
|
|
12
|
+
|
|
13
|
+
#### Required Columns
|
|
14
|
+
|
|
15
|
+
| Column Name | Hideable (Yes/No) | Sort-able (Yes/No) | Filter-able (Yes/No) | Searchable (Yes/No) |
|
|
16
|
+
| -------------- | ----------------- | ------------------ | -------------------- | ------------------- |
|
|
17
|
+
| Timestamp | No | Yes | Yes | No |
|
|
18
|
+
| Entity Type | No | Yes | Yes | No |
|
|
19
|
+
| Entity ID | Yes | No | No | Yes |
|
|
20
|
+
| Operation Type | No | Yes | Yes | No |
|
|
21
|
+
| Actor | Yes | Yes | No | Yes |
|
|
22
|
+
|
|
23
|
+
## Access Control
|
|
24
|
+
|
|
25
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# my-profile-edit-form
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Form to update the authenticated user's own profile information.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
Form
|
|
10
|
+
|
|
11
|
+
### Form Details
|
|
12
|
+
|
|
13
|
+
#### Input Fields
|
|
14
|
+
|
|
15
|
+
| Field Name | Field Type | Required (Yes/No) |
|
|
16
|
+
| ---------- | ---------- | ----------------- |
|
|
17
|
+
| Name | String | Yes |
|
|
18
|
+
| Email | String | Yes |
|
|
19
|
+
|
|
20
|
+
## Access Control
|
|
21
|
+
|
|
22
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# my-profile
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays the authenticated user's own profile details and assigned roles.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
DetailView
|
|
10
|
+
|
|
11
|
+
### DetailView Details
|
|
12
|
+
|
|
13
|
+
#### Displayed Fields
|
|
14
|
+
|
|
15
|
+
- Name
|
|
16
|
+
- Email
|
|
17
|
+
- Status (ACTIVE / INACTIVE)
|
|
18
|
+
- Assigned Roles
|
|
19
|
+
|
|
20
|
+
#### Available Actions
|
|
21
|
+
|
|
22
|
+
- Edit Profile
|
|
23
|
+
- Sign out
|
|
24
|
+
|
|
25
|
+
## Access Control
|
|
26
|
+
|
|
27
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# role-create-form
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Form to create a new role with name and permission selection.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
Form
|
|
10
|
+
|
|
11
|
+
### Form Details
|
|
12
|
+
|
|
13
|
+
#### Input Fields
|
|
14
|
+
|
|
15
|
+
| Field Name | Field Type | Required (Yes/No) |
|
|
16
|
+
| ----------- | ------------ | ----------------- |
|
|
17
|
+
| Name | String | Yes |
|
|
18
|
+
| Description | String | No |
|
|
19
|
+
| Permissions | Multi-select | Yes |
|
|
20
|
+
|
|
21
|
+
## Access Control
|
|
22
|
+
|
|
23
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# role-detail
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays role details including assigned permissions.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
DetailView
|
|
10
|
+
|
|
11
|
+
### DetailView Details
|
|
12
|
+
|
|
13
|
+
#### Displayed Fields
|
|
14
|
+
|
|
15
|
+
- Name
|
|
16
|
+
- Description
|
|
17
|
+
- Created At
|
|
18
|
+
- Assigned Permissions
|
|
19
|
+
|
|
20
|
+
#### Available Actions
|
|
21
|
+
|
|
22
|
+
- Edit Role
|
|
23
|
+
- Back to Role List
|
|
24
|
+
|
|
25
|
+
## Access Control
|
|
26
|
+
|
|
27
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# role-edit-form
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Form to modify a role's permission assignments.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
Form
|
|
10
|
+
|
|
11
|
+
### Form Details
|
|
12
|
+
|
|
13
|
+
#### Input Fields
|
|
14
|
+
|
|
15
|
+
| Field Name | Field Type | Required (Yes/No) |
|
|
16
|
+
| ----------- | ------------ | ----------------- |
|
|
17
|
+
| Permissions | Multi-select | Yes |
|
|
18
|
+
|
|
19
|
+
## Access Control
|
|
20
|
+
|
|
21
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# role-list
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays a list of all roles. Provides navigation to role detail and role creation.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
ListView
|
|
10
|
+
|
|
11
|
+
### ListView Details
|
|
12
|
+
|
|
13
|
+
#### Required Columns
|
|
14
|
+
|
|
15
|
+
| Column Name | Hideable (Yes/No) | Sort-able (Yes/No) | Filter-able (Yes/No) | Searchable (Yes/No) |
|
|
16
|
+
| ----------- | ----------------- | ------------------ | -------------------- | ------------------- |
|
|
17
|
+
| Name | No | Yes | No | Yes |
|
|
18
|
+
| Description | Yes | No | No | No |
|
|
19
|
+
| Created At | Yes | Yes | No | No |
|
|
20
|
+
|
|
21
|
+
## Access Control
|
|
22
|
+
|
|
23
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# user-create-form
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Form to create a new user account with name, email, and optional role assignments.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
Form
|
|
10
|
+
|
|
11
|
+
### Form Details
|
|
12
|
+
|
|
13
|
+
#### Input Fields
|
|
14
|
+
|
|
15
|
+
| Field Name | Field Type | Required (Yes/No) |
|
|
16
|
+
| ---------- | ------------ | ----------------- |
|
|
17
|
+
| Name | String | Yes |
|
|
18
|
+
| Email | String | Yes |
|
|
19
|
+
| Roles | MultiSelect | No |
|
|
20
|
+
|
|
21
|
+
## Access Control
|
|
22
|
+
|
|
23
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# user-detail
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays user profile details including assigned roles. Provides actions for editing, status toggling, and role management.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
DetailView
|
|
10
|
+
|
|
11
|
+
### DetailView Details
|
|
12
|
+
|
|
13
|
+
#### Displayed Fields
|
|
14
|
+
|
|
15
|
+
- Name
|
|
16
|
+
- Email
|
|
17
|
+
- Status (ACTIVE / INACTIVE)
|
|
18
|
+
- Assigned Roles
|
|
19
|
+
- Created At
|
|
20
|
+
- Updated At
|
|
21
|
+
|
|
22
|
+
#### Available Actions
|
|
23
|
+
|
|
24
|
+
- Edit User
|
|
25
|
+
- Deactivate User (when ACTIVE and not self)
|
|
26
|
+
- Reactivate User (when INACTIVE)
|
|
27
|
+
- Assign Roles (multiple selection)
|
|
28
|
+
- Remove Role
|
|
29
|
+
- Back to User List
|
|
30
|
+
|
|
31
|
+
## Access Control
|
|
32
|
+
|
|
33
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# user-edit-form
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Form to update another user's profile information including name and email.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
Form
|
|
10
|
+
|
|
11
|
+
### Form Details
|
|
12
|
+
|
|
13
|
+
#### Input Fields
|
|
14
|
+
|
|
15
|
+
| Field Name | Field Type | Required (Yes/No) |
|
|
16
|
+
| ---------- | ---------- | ----------------- |
|
|
17
|
+
| Name | String | Yes |
|
|
18
|
+
| Email | String | Yes |
|
|
19
|
+
|
|
20
|
+
## Access Control
|
|
21
|
+
|
|
22
|
+
- [user](../actors/user.md)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# user-list
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Displays a paginated list of all users. Supports filtering by status and searching by name or email.
|
|
6
|
+
|
|
7
|
+
## Screen Type
|
|
8
|
+
|
|
9
|
+
ListView
|
|
10
|
+
|
|
11
|
+
### ListView Details
|
|
12
|
+
|
|
13
|
+
#### Required Columns
|
|
14
|
+
|
|
15
|
+
| Column Name | Hideable (Yes/No) | Sort-able (Yes/No) | Filter-able (Yes/No) | Searchable (Yes/No) |
|
|
16
|
+
| ----------- | ----------------- | ------------------ | -------------------- | ------------------- |
|
|
17
|
+
| Name | No | Yes | No | Yes |
|
|
18
|
+
| Email | No | Yes | No | Yes |
|
|
19
|
+
| Status | No | Yes | Yes | No |
|
|
20
|
+
| Roles | Yes | No | No | No |
|
|
21
|
+
|
|
22
|
+
## Access Control
|
|
23
|
+
|
|
24
|
+
- [user](../actors/user.md)
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"@hookform/resolvers": "5.2.2",
|
|
17
17
|
"@radix-ui/react-label": "2.1.8",
|
|
18
18
|
"@radix-ui/react-slot": "1.2.4",
|
|
19
|
-
"@tailor-platform/app-shell": "0.
|
|
19
|
+
"@tailor-platform/app-shell": "0.31.0",
|
|
20
20
|
"class-variance-authority": "0.7.1",
|
|
21
21
|
"clsx": "2.1.1",
|
|
22
22
|
"gql.tada": "1.9.0",
|
|
@@ -44,8 +44,12 @@ const App = () => {
|
|
|
44
44
|
<DefaultSidebar>
|
|
45
45
|
<SidebarGroup title="User Management">
|
|
46
46
|
<SidebarItem to="/user-management/user" />
|
|
47
|
+
<SidebarItem to="/user-management/role" />
|
|
47
48
|
<SidebarItem to="/user-management/profile" />
|
|
48
49
|
</SidebarGroup>
|
|
50
|
+
<SidebarGroup title="Audit">
|
|
51
|
+
<SidebarItem to="/user-management/audit" />
|
|
52
|
+
</SidebarGroup>
|
|
49
53
|
</DefaultSidebar>
|
|
50
54
|
}
|
|
51
55
|
/>
|