Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
390 commits
Select commit Hold shift + click to select a range
7d59f3d
Add feature tests for Purchase Order Down Payments API
HugoYaw22 Jul 7, 2025
a46e950
Remove NonCapitalWithdrawalCategoryActions test files to streamline t…
HugoYaw22 Jul 7, 2025
7325d24
Implement customer menu creation in DashboardActions and streamline c…
codewithrafli Jul 9, 2025
42442fb
Fix default parameter values in CustomerGroupTableSeeder run method
HugoYaw22 Jul 9, 2025
a0fff16
Merge branch 'v0.7.4' of https://github.com/xrafffcode/DCSLab into v0…
HugoYaw22 Jul 9, 2025
054efd1
Refactor DashboardActions constructor and improve cache key formattin…
HugoYaw22 Jul 11, 2025
0fff0e4
Add getPaymentTermType method to CommonController and update API routes
HugoYaw22 Jul 11, 2025
4f7faed
Update CommonController methods and API routes for payment term types…
HugoYaw22 Jul 11, 2025
1f35524
feat: customer-group
codewithrafli Jul 11, 2025
caea758
Refactor rounding-related enums and update references in CommonContro…
HugoYaw22 Jul 12, 2025
e030d94
Merge branch 'v0.7.4' of https://github.com/xrafffcode/DCSLab into v0…
HugoYaw22 Jul 12, 2025
0667f4f
update CustomerGroupResource.php
HugoYaw22 Jul 12, 2025
4eeab0a
update CustomerGroupResource.php
HugoYaw22 Jul 12, 2025
5e5088b
update CustomerGroupResource.php
HugoYaw22 Jul 12, 2025
5417d24
update CustomerGroupRequest.php
HugoYaw22 Jul 12, 2025
3977893
update CustomerGroupRequest.php
HugoYaw22 Jul 12, 2025
56936bc
update CustomerGroupRequest.php
HugoYaw22 Jul 12, 2025
a5acf05
update CustomerGroupRequest.php
HugoYaw22 Jul 12, 2025
3b3fcb3
Implement Customer Group management pages and update CustomerGroup mo…
codewithrafli Jul 12, 2025
9ab0c02
Merge remote-tracking branch 'refs/remotes/origin/v0.7.4' into v0.7.4
codewithrafli Jul 12, 2025
9cfb687
Replaces legacy seeders with updated seeder classes
HugoYaw22 Jul 29, 2025
c6e9533
Removes unused seed data generator for withdrawals
HugoYaw22 Jul 29, 2025
c68ae1d
Renames rounding fields for clarity and consistency
HugoYaw22 Jul 29, 2025
b6dac44
refactor: rename seeder method names and update parameter usage
HugoYaw22 Jul 31, 2025
2675bb7
Merge branch 'v0.7.4' of https://github.com/HartantoSoraya/DCSLab int…
HartantoSoraya Aug 1, 2025
3d1ce3f
refactor: rename getAllActiveEmployee() to getAllActive and improve e…
HugoYaw22 Aug 2, 2025
d69dd5f
Merge branch 'v0.7.4' of https://github.com/HartantoSoraya/DCSLab int…
HartantoSoraya Aug 5, 2025
304bee4
Add customer management functionality with create and list views, inc…
codewithrafli Aug 5, 2025
692d24a
Merge remote-tracking branch 'refs/remotes/origin/v0.7.4' into v0.7.4
codewithrafli Aug 5, 2025
6670c00
Refactor Stock Transfer Product Unit API routes and tests
HartantoSoraya Aug 10, 2025
5c771d6
Merge branch 'v0.7.4' of https://github.com/HartantoSoraya/DCSLab int…
HartantoSoraya Aug 10, 2025
2593676
Merge pull request #5 from HartantoSoraya/v0.7.4
codewithrafli Aug 10, 2025
7fc5f64
chore: improve code formatting & update migrations
HugoYaw22 Aug 10, 2025
b520d77
fix: fully qualify columns in CustomerGroup search scope
HugoYaw22 Aug 11, 2025
4804d5c
Refactor CashAccount module: fix is_active assignment, add branch_id …
HugoYaw22 Aug 12, 2025
d4b1169
Enhance validation attributes and search functionality across multipl…
HartantoSoraya Aug 12, 2025
3d26f48
Merge pull request #6 from HartantoSoraya/v0.7.4
codewithrafli Aug 12, 2025
f2b92a1
Refactor CashAccount API tests to include branch_id in test scenarios
HugoYaw22 Aug 12, 2025
88d308e
Update customer group localization files to improve terminology consi…
codewithrafli Aug 13, 2025
d45c856
update CustomerResource.php
HugoYaw22 Aug 13, 2025
49d2fce
Merge branch 'v0.7.4' of https://github.com/xrafffcode/DCSLab into v0…
HugoYaw22 Aug 13, 2025
232f023
refactor(capital-addition): enhance validation, request handling, and…
HugoYaw22 Aug 13, 2025
1b79425
test: update CapitalAdditionAPIEditTest.php
HugoYaw22 Aug 14, 2025
338e56b
feat: Add employee and non-capital withdrawal relationships to Compan…
HartantoSoraya Aug 14, 2025
a44ee44
Merge branch 'v0.7.4' of https://github.com/HartantoSoraya/DCSLab int…
HartantoSoraya Aug 14, 2025
0333864
Refactor Capital Withdrawal and Non-Capital Withdrawal Category Logic
HartantoSoraya Aug 14, 2025
262f544
Merge pull request #7 from HartantoSoraya/v0.7.4
codewithrafli Aug 14, 2025
d78a342
Enhance Capital Addition Request and Factory
HugoYaw22 Aug 14, 2025
8736f3b
Refactor NonCapitalAddition and CapitalAddition Tests
HugoYaw22 Aug 14, 2025
def40c6
Update NonCapitalAdditionRequest validation rules and IsValidNonCapit…
HugoYaw22 Aug 14, 2025
877cc02
Refactor Customer and Company Components for Consistency and Readability
codewithrafli Aug 15, 2025
eac265a
(fix): remove first code for fix show data
codewithrafli Aug 15, 2025
8d3f113
(fix): remover first() for fix show data
codewithrafli Aug 15, 2025
a237ea5
Fix CustomerResource to return payment term type name instead of object
codewithrafli Aug 15, 2025
127e894
feat: customer
codewithrafli Aug 15, 2025
128eed1
(feat): investor
codewithrafli Aug 15, 2025
96c70f0
Refactor code style and improve consistency
HugoYaw22 Aug 16, 2025
039002c
Implement developer account creation in AppInstall command
HugoYaw22 Dec 2, 2025
283d3b0
fix(ProductCategoryActions): remove unnecessary first() call in read …
HugoYaw22 Dec 18, 2025
97d2f8c
feat(product): add product category management feature
HugoYaw22 Dec 18, 2025
433718a
feat(DTOs): add new DTO classes for execution parameters
HugoYaw22 Dec 31, 2025
d263ca4
refactor(company): restructure company api routes and controllers
HugoYaw22 Dec 31, 2025
84cb535
feat(company): add specialized request types for company services
HugoYaw22 Dec 31, 2025
6d7b986
refactor(company): simplify address handling and transaction management
HugoYaw22 Jan 1, 2026
0118c2b
feat(branch): refactor branch module with improved validation and routes
HugoYaw22 Jan 2, 2026
26ed01e
refactor(branch): improve validation and search logic
HugoYaw22 Jan 2, 2026
ba8632e
feat(warehouse): refactor warehouse module with improved request hand…
HugoYaw22 Jan 2, 2026
a659504
refactor(dashboard): remove investor-related menu and routes
HugoYaw22 Jan 2, 2026
96c33aa
feat(company): add unique name validation and remove code validation
HugoYaw22 Jan 3, 2026
a79f2e8
refactor(branch): move name validation logic to BranchActions
HugoYaw22 Jan 3, 2026
d31514b
refactor(warehouse): move validation logic from rules to actions
HugoYaw22 Jan 3, 2026
652042b
feat(product-category): refactor product category module with improve…
HugoYaw22 Jan 3, 2026
3f8128d
fix(i18n): correct warehouse data field group label in Indonesian
HugoYaw22 Jan 3, 2026
6dffbdf
fix(product-category): remove redundant form validation checks
HugoYaw22 Jan 3, 2026
e0eadeb
feat(brand): add brand management feature with CRUD operations, trans…
HugoYaw22 Jan 3, 2026
766a16e
refactor(form): remove unused error refs and simplify form validation
HugoYaw22 Jan 3, 2026
dd26cfb
refactor(product-category): move product category types DDL to dedica…
HugoYaw22 Jan 3, 2026
c0dc981
feat(unit): implement unit management feature
HugoYaw22 Jan 3, 2026
7586f5f
refactor(controllers): simplify resource collection returns
HugoYaw22 Jan 3, 2026
5da3b07
feat(cash-account): add cash account management feature
HugoYaw22 Jan 3, 2026
4079a17
refactor(controllers): simplify validation error return statements
HugoYaw22 Jan 5, 2026
296b326
refactor(validation): replace specific validation rules with generic …
HugoYaw22 Jan 5, 2026
4040373
feat: add currency input component and improve formatters
HugoYaw22 Jan 12, 2026
c0a38c8
feat(product): add product and product service modules with DTOs, mod…
HugoYaw22 Jan 12, 2026
8bd5091
feat(product): enhance product unit validation and UI
HugoYaw22 Jan 16, 2026
f6b1380
feat(stock-adjustment): add stock adjustment category feature
HugoYaw22 Jan 17, 2026
fe2887c
feat(menu): restructure menu items under master data category
HugoYaw22 Jan 17, 2026
04bbc19
style(theme): add consistent padding to third-level side menus
HugoYaw22 Jan 17, 2026
9e569b2
refactor(customer-group): restructure customer group module and fix t…
HugoYaw22 Jan 18, 2026
c818ec6
feat(customer): implement customer management features and improvements
HugoYaw22 Jan 18, 2026
3f75cc4
feat(investor): implement investor management feature
HugoYaw22 Jan 18, 2026
9259618
feat: add unique address validation and scopeable by company trait to…
HugoYaw22 Jan 19, 2026
aa21535
fix: correct cache refresh logic in multiple controllers
HugoYaw22 Jan 19, 2026
f5ef864
refactor(tests): restructure API test parameters for consistency
HugoYaw22 Jan 20, 2026
900b2d1
style(tests): fix indentation in customer group API read tests
HugoYaw22 Jan 20, 2026
f54af28
fix(api): add with_trashed param to read endpoints and clean up tests
HugoYaw22 Jan 20, 2026
aa2e8ac
refactor(types): standardize request interface formatting and field o…
HugoYaw22 Jan 20, 2026
fc16a2d
refactor(types): reorder request interface properties for consistency
HugoYaw22 Jan 20, 2026
0844313
refactor(UserService): optimize search query param handling
HugoYaw22 Jan 20, 2026
c14667a
refactor(form): improve error handling and form validation
HugoYaw22 Jan 20, 2026
7f78d85
refactor(web): centralize error handling and improve form validation
HugoYaw22 Jan 22, 2026
df6bed8
docs: add comprehensive documentation for Laravel project standards
HugoYaw22 Jan 22, 2026
7c57bd3
Merge pull request #1 from codewithrafli/v0.7.4
HugoYaw22 Jan 22, 2026
8547b38
fix(product): improve product unit management and error handling
HugoYaw22 Jan 25, 2026
38e0744
feat(seeder): add default 'Rokok' product category
HugoYaw22 Jan 25, 2026
ccf1138
refactor(edit-pages): replace let with const and improve async loading
HugoYaw22 Jan 25, 2026
15e7f07
docs(createvue): update lifecycle and caching guidelines for race con…
HugoYaw22 Jan 25, 2026
1f0c5dd
build(web): add built frontend assets and update gitignore
HugoYaw22 Jan 25, 2026
9fc1f52
build: set default string length for database schema
HugoYaw22 Jan 25, 2026
385aec0
docs: add edit page standardization document
HugoYaw22 Jan 25, 2026
8ee9ece
fix: set MySQL engine to InnoDB with DYNAMIC row format
HugoYaw22 Jan 25, 2026
b094541
refactor(database): remove indexes and adjust column lengths for cons…
HugoYaw22 Jan 25, 2026
bb3ac44
feat: add runtime config override via window.APP_CONFIG
HugoYaw22 Jan 25, 2026
6b50996
chore: add runtime config support for frontend deployment
HugoYaw22 Jan 25, 2026
8c8317a
chore(web): add .htaccess for SPA routing support
HugoYaw22 Jan 25, 2026
ad9248b
chore: add .htaccess for SPA routing in dist directory
HugoYaw22 Jan 25, 2026
41b4c85
chore(web): update gitignore and replace config.js with example
HugoYaw22 Jan 28, 2026
504276d
chore: replace generated config.js with example file
HugoYaw22 Jan 28, 2026
e774fd8
feat: add real-time validation and error cleanup for product pages
HugoYaw22 Feb 1, 2026
3f6d16a
chore: update asset hash in index.html after build
HugoYaw22 Feb 1, 2026
8775285
docs(controller): update CRUD methods and add form request standards
HugoYaw22 Feb 10, 2026
79851da
feat(supplier): implement supplier management module
HugoYaw22 Feb 11, 2026
a639299
feat: restructure stock adjustment category menu and fix routing
HugoYaw22 Feb 11, 2026
15d7a7f
refactor: move isUniqueName method for better logical grouping
HugoYaw22 Feb 11, 2026
72f3e73
feat: add stock adjustment module with in/out product support
HugoYaw22 Feb 17, 2026
e1e6a57
refactor(ProductController): reorder methods for better readability
HugoYaw22 Feb 17, 2026
9cfd951
refactor(resources): prevent N+1 queries by conditionally loading rel…
HugoYaw22 Feb 19, 2026
c5f65c5
feat(ui): extend dialog xl size and add button translations
HugoYaw22 Feb 19, 2026
a10f37e
style(FormInput): fix indentation and formatting in template
HugoYaw22 Feb 20, 2026
aa36a98
feat(stock-adjustment): enhance in-product form with search modal and…
HugoYaw22 Feb 22, 2026
f975738
feat(stock-adjustment): add stock adjustment index page and enhance r…
HugoYaw22 Feb 26, 2026
1b9c33f
refactor(FormSelect): export component interfaces for reuse
HugoYaw22 Feb 26, 2026
8e8e66d
refactor(TomSelect): remove unused search event and cleanup handling
HugoYaw22 Feb 26, 2026
08ebf1f
feat(stock-adjustment): add FormSelectSearch component and update forms
HugoYaw22 Feb 26, 2026
49b5959
feat(ui): replace FormTomSelect with FormSelectSearch for dropdowns
HugoYaw22 Feb 26, 2026
88f67be
style: apply prettier formatting across the codebase
HugoYaw22 Feb 26, 2026
ceb8b58
style(web): standardize quotes to single quotes across codebase
HugoYaw22 Feb 26, 2026
0b0f411
style: increase printWidth to 120 and format code accordingly
HugoYaw22 Feb 26, 2026
9974546
style(web): standardize quotes from single to double across codebase
HugoYaw22 Feb 27, 2026
e5cb497
style(web): enforce single quotes and update prettier config
HugoYaw22 Feb 27, 2026
bf2ca92
chore: add prettier and format codebase
HugoYaw22 Feb 27, 2026
be94daa
docs(i18n): update product view translations for clarity
HugoYaw22 Mar 1, 2026
658a067
feat: implement stock transaction tracking system
HugoYaw22 Mar 1, 2026
4970f4e
feat(product): add remaining stock filtering and user timezone support
HugoYaw22 Mar 3, 2026
7890668
fix(scope): add table prefix to whereCompanyId scope in queries
HugoYaw22 Mar 3, 2026
e5f3be1
feat(stock-adjustment): add remaining stock column and fix product or…
HugoYaw22 Mar 4, 2026
fddeab4
feat(stock-adjustment): add auto date handling with new datetime inpu…
HugoYaw22 Mar 5, 2026
40639d1
feat: add product with remaining stock report and cash transaction fe…
HugoYaw22 Mar 7, 2026
c0fa3af
feat(product): add stock as of date filter to product stock list
HugoYaw22 Mar 7, 2026
ccf9de3
feat(FormSelectSearch): add built-in clear button and @clear event
HugoYaw22 Mar 8, 2026
2522342
feat(ImageHelper): add image generation, storage, and utility methods
HugoYaw22 Mar 8, 2026
3c1c2bf
feat(product): add product image upload with camera support
HugoYaw22 Mar 14, 2026
a5a6dd5
refactor: rename product image thumbnail field to main image
HugoYaw22 Mar 14, 2026
1abca24
refactor: remove slug field from product and product service
HugoYaw22 Mar 14, 2026
a0fc191
feat(stock-adjustment): add serial tracking for stock adjustment prod…
HugoYaw22 Mar 16, 2026
327feea
feat(stock-adjustment): add product serial management and enhance UI
HugoYaw22 Mar 16, 2026
9d19fa8
feat: add stock adjustment product serials and filter enhancements
HugoYaw22 Mar 21, 2026
ee660e7
fix: ensure nullable fields are present in request validation
HugoYaw22 Mar 21, 2026
091a659
fix(validation): add distinct rule to serial number validation
HugoYaw22 Mar 21, 2026
d1ad2ab
chore: update bundled asset filenames in index.html
HugoYaw22 Mar 21, 2026
4571fd5
feat(stock-adjustment): add validation for serialized product quantities
HugoYaw22 Mar 22, 2026
a841104
feat: add DataListFlex component and migrate list pages to responsive…
HugoYaw22 Mar 22, 2026
949b410
feat(stock-transfer): add stock transfer module with DTOs, models, an…
HugoYaw22 Mar 23, 2026
ffaca0d
feat(stock-transfer): add serial management and request validation
HugoYaw22 Mar 23, 2026
83bd948
refactor: update models, resources, and policies for consistency
HugoYaw22 Mar 29, 2026
01e1048
feat(stock-transfer): implement stock transfer feature with UI and ba…
HugoYaw22 Mar 31, 2026
57f0164
refactor: remove capital addition and withdrawal features
HugoYaw22 Mar 31, 2026
d9aa440
feat: add capital opening and capital transaction modules
HugoYaw22 Apr 1, 2026
21ed514
feat(cash-account): add remaining balance report with filtering
HugoYaw22 Apr 1, 2026
f87de6d
style: standardize parameter grouping in action and controller readAn…
HugoYaw22 Apr 1, 2026
2a4cbf5
chore: remove non-capital addition and withdrawal modules
HugoYaw22 Apr 1, 2026
c736dae
chore: remove non-capital addition and withdrawal modules
HugoYaw22 Apr 1, 2026
0b30b5e
Merge branch 'v0.7.4' of https://github.com/HugoYaw22/DCSLab into v0.7.4
HugoYaw22 Apr 1, 2026
154c715
refactor: remove purchase order and related modules
HugoYaw22 Apr 2, 2026
82ef9ee
feat: create purchases table migration
HugoYaw22 Apr 2, 2026
d1f51ac
refactor(stock-transfer): rename product units to items for consistency
HugoYaw22 Apr 3, 2026
0c61bec
refactor(stock-adjustment): rename product to item for consistency
HugoYaw22 Apr 3, 2026
c7b5d50
feat: implement VAT profile system and purchase order module
HugoYaw22 Apr 8, 2026
26676df
feat(purchase-order): add resources and improve create/delete actions
HugoYaw22 Apr 9, 2026
a87f138
feat(vat-profile): add VAT profile management and integration
HugoYaw22 Apr 10, 2026
27e476d
feat(purchase-order): add purchase order module with CRUD operations
HugoYaw22 Apr 14, 2026
816e807
refactor(purchase-order): rename fields and refactor calculation logic
HugoYaw22 Apr 14, 2026
10e4491
refactor(purchase-order): rename total_before_vat to subtotal_after_g…
HugoYaw22 Apr 15, 2026
d5cc73b
feat(purchase-order): add down payment refund feature
HugoYaw22 Apr 16, 2026
d26bc2d
refactor(purchase-order): consolidate calculation actions and use sta…
HugoYaw22 Apr 16, 2026
669e776
feat(purchase-order): enhance list view with detailed summary and rel…
HugoYaw22 Apr 16, 2026
70c1567
feat(purchase-order): format conversion values with currency formatting
HugoYaw22 Apr 17, 2026
b460b76
refactor(PurchaseOrderActions): extract eager load relations to const…
HugoYaw22 Apr 17, 2026
72521b2
fix(purchase-order): fix down payment validation and calculation logic
HugoYaw22 Apr 17, 2026
6fdf697
refactor: centralize eager loading relationships using constants
HugoYaw22 Apr 17, 2026
395a58a
feat(purchase-order): add amount_allocated field to down payments
HugoYaw22 Apr 17, 2026
114dd60
feat(purchase-order): add report pages and models for purchase order …
HugoYaw22 Apr 17, 2026
4d4df7a
feat(purchase-order): improve item and down payment detail displays
HugoYaw22 Apr 18, 2026
c85eb27
feat(purchase-order-down-payment): add not fully allocated list and a…
HugoYaw22 Apr 18, 2026
019254b
feat: add purchase module with new models and rename grand_total to a…
HugoYaw22 Apr 18, 2026
6c7139c
docs(i18n): update purchase order label clarity and consistency
HugoYaw22 Apr 18, 2026
486f8b7
feat: add purchase additional cost management
HugoYaw22 Apr 19, 2026
5c76b29
feat(purchase): support additional costs in purchase management
HugoYaw22 Apr 19, 2026
729054f
refactor: inline search scopes into action classes
HugoYaw22 Apr 19, 2026
5d0b988
feat(purchase): add purchase receipt module with serial tracking
HugoYaw22 Apr 19, 2026
261c33e
refactor(purchase): reorder update operations to handle items before …
HugoYaw22 Apr 20, 2026
7bac54e
feat(purchase): split purchase into direct and manual receipt modes
HugoYaw22 Apr 21, 2026
3cae23e
fix(api): update route parameter name for purchase additional cost ca…
HugoYaw22 Apr 21, 2026
a145f49
feat(expense-category): add expense category management feature
HugoYaw22 Apr 22, 2026
03285ad
feat(expense): add expense management with payment tracking and image…
HugoYaw22 Apr 23, 2026
fae2558
feat: add cash transfer and prepaid expense modules
HugoYaw22 Apr 23, 2026
a43636c
feat(prepaid-expense): improve estimated useful life input and display
HugoYaw22 Apr 23, 2026
ba26070
feat: add income, liability, and prepaid income modules with related …
HugoYaw22 Apr 23, 2026
2d6e5f3
refactor: rename liability to debt across codebase for consistency
HugoYaw22 Apr 23, 2026
48038d4
feat: add receivable category, receivable, and receivable payment mod…
HugoYaw22 Apr 23, 2026
2ead312
chore: remove unused template files from MakeAPIFiles command
HugoYaw22 Apr 23, 2026
e598acb
refactor(web): update API route names in customer service
HugoYaw22 Apr 23, 2026
6f5dc9f
docs: update dialog-first rule to emphasize interactive answering
HugoYaw22 Apr 24, 2026
24ebfae
feat(purchase): enhance purchase receipt linking and progress tracking
HugoYaw22 Apr 24, 2026
3b5e19f
feat: trim trailing zeros from numeric fields in API resources
HugoYaw22 Apr 25, 2026
3dd3799
feat(purchase): implement purchase receipt management and enhance val…
HugoYaw22 Apr 26, 2026
0b479de
feat(purchase): add purchase and purchase receipt modules
HugoYaw22 Apr 27, 2026
78c759e
feat(purchase): enhance filtering and UI for purchase and receipt lists
HugoYaw22 Apr 28, 2026
ef741bb
style(rubick-theme): improve top nav dropdown responsiveness
HugoYaw22 Apr 28, 2026
2399864
feat: add is_paid_off filter to purchases and improve UI
HugoYaw22 Apr 29, 2026
6d44871
feat(purchase): add purchase and purchase receipt permissions and enh…
HugoYaw22 Apr 29, 2026
967554a
feat(purchase): implement purchase order progress tracking
HugoYaw22 Apr 29, 2026
829235f
feat(purchase): add stock tracking and validation for purchase receipts
HugoYaw22 Apr 30, 2026
29754d9
refactor(purchase): restructure purchase receipt and item handling
HugoYaw22 May 8, 2026
f402d46
feat: add chart of accounts module with system and user scopes
HugoYaw22 May 9, 2026
c8e1372
feat: add journal entry module with CRUD operations
HugoYaw22 May 10, 2026
56c8d81
fix: hide alert placeholder after successful form submissions
HugoYaw22 May 10, 2026
ca0f25b
feat(chart-of-account): restructure system accounts and add journal e…
HugoYaw22 May 11, 2026
5e04477
refactor: use DTOs instead of raw arrays in action classes
HugoYaw22 May 11, 2026
edfab6a
feat(dto): add create/update DTOs for core entities
HugoYaw22 May 11, 2026
1dac8ca
refactor: replace raw array inputs with typed DTOs
HugoYaw22 May 11, 2026
b525ffc
refactor(models): standardize lifecycle hooks
HugoYaw22 May 11, 2026
19bf5b0
refactor: move app install seeding to company service
HugoYaw22 May 11, 2026
435e7f5
feat: add balance sheet report and improve accounting system
HugoYaw22 May 12, 2026
b524c0c
feat(accounting): add full journal entry accounting support
HugoYaw22 May 12, 2026
631bf93
refactor(journal-entry): rename journal entry lines to items
HugoYaw22 May 13, 2026
382b263
feat(expense-category): add category type classification for expenses
HugoYaw22 May 13, 2026
54de9dd
feat: add journal entry types and closing entries
HugoYaw22 May 13, 2026
c9a8b12
feat(asset-category): add full asset category management system
HugoYaw22 May 13, 2026
f4cbdb3
feat: add asset and asset unit management modules
HugoYaw22 May 13, 2026
cf6c358
feat(database): add asset management database migration files
HugoYaw22 May 13, 2026
1e25644
feat(asset): add asset adjustment, purchase and sale modules
HugoYaw22 May 15, 2026
985a25e
refactor: clean up validation and move to form requests
HugoYaw22 May 15, 2026
defbbc0
refactor(tests): standardize naming, add new tests, fix duplicate mig…
HugoYaw22 May 15, 2026
aad8316
fix: update DTO types and tests, improve pagination
HugoYaw22 May 15, 2026
a097248
refactor: use DataListFlex and fix pagination handling
HugoYaw22 May 15, 2026
97ad2f6
feat(journal-entry-item): add standalone api and refactor related code
HugoYaw22 May 16, 2026
b42835c
feat(journal-entry-item): add paginated journal entry item listing
HugoYaw22 May 16, 2026
1b51191
feat: add toggle to show/hide system journal entries
HugoYaw22 May 16, 2026
946a0e0
fix(request): update date validation to enforce Y-m-d H:i:s format
HugoYaw22 May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
126 changes: 126 additions & 0 deletions .trae/rules/01model.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
alwaysApply: false
description:
---
# Laravel Search Scope Standard

## Rule
Untuk semua fitur pencarian (search) yang melibatkan beberapa kolom dengan OR, WAJIB dibungkus `where(function ($query) use (...) { ... })`
agar seluruh OR-terikat dalam satu grup dan tidak merusak kondisi lain (mis. tenant_id, is_active, date range).

Kolom `date`, `datetime`, `timestamp`, dan field waktu sejenis pada Model TIDAK BOLEH dimasukkan ke `scopeSearch()` secara default,
kecuali memang ada kebutuhan bisnis yang jelas dan eksplisit bahwa user harus bisa mencari berdasarkan tanggal dari input search bebas.
Untuk search umum, prioritaskan hanya field yang benar-benar relevan secara tekstual seperti `code`, `name`, `reference`, `notes`, atau `remarks`.

## Why
Tanpa grouping closure, `orWhere` dapat “membocorkan” logika sehingga mengabaikan filter lain di query utama.

Kolom tanggal biasanya tidak relevan untuk keyword search umum, memperbesar noise hasil pencarian, dan lebih tepat ditangani oleh filter terpisah
seperti `start_date`, `end_date`, atau parameter range tanggal.

## Example (Correct)
```php
public function scopeSearch($query, string $search)
{
return $query->where(function ($query) use ($search) {
$query->where('cash_accounts.code', 'like', '%'.$search.'%')
->orWhere('cash_accounts.name', 'like', '%'.$search.'%')
->orWhere('cash_accounts.remarks', 'like', '%'.$search.'%');
});
}
```

## Example (Incorrect)
```php
public function scopeSearch($query, string $search)
{
return $query->where(function ($query) use ($search) {
$query->where('capital_openings.code', 'like', '%'.$search.'%')
->orWhere('capital_openings.date', 'like', '%'.$search.'%')
->orWhere('capital_openings.remarks', 'like', '%'.$search.'%');
});
}
```

# BelongsTo Relationship Standard

## Rule
Setiap relasi `belongsTo` WAJIB menggunakan `withTrashed()` jika model yang direlasikan mendukung SoftDeletes.

## Why
Agar data tidak hilang saat parent (referensi) di-soft delete, sehingga integritas data historis tetap terjaga saat ditampilkan.

## Example (Correct)
```php
public function company()
{
return $this->belongsTo(Company::class)->withTrashed();
}
```

# Field Order Consistency Standard

## Rule
Urutan field pada Model dan layer terkait WAJIB mengikuti urutan definisi kolom di migration utama tabel tersebut.

Aturan ini berlaku untuk:
- `$fillable`
- assignment field di Action `create()` dan `update()`
- urutan output field di Resource
- urutan field di FormRequest `rules()`, `attributes()`, dan `prepareForValidation()`
- array atau mapping lain yang merepresentasikan field yang sama

Jika tidak semua field dipakai pada sebuah method, pertahankan urutan relatif berdasarkan migration dan cukup lewati field yang memang tidak relevan.

## Why
Urutan yang konsisten membuat review lebih cepat, meminimalkan salah mapping antar layer, dan memudahkan pengecekan apakah implementasi sudah sesuai struktur database.

## Example
Jika migration mendefinisikan urutan:
```php
$table->foreignId('company_id');
$table->foreignId('branch_id');
$table->string('code');
$table->dateTime('date');
$table->foreignId('investor_id');
$table->foreignId('cash_account_id');
$table->decimal('amount', 30, 8)->default(0);
$table->string('remarks')->nullable();
```

Maka urutan field di Model, Action, Resource, dan Request harus mengikuti susunan yang sama:
```php
'company_id',
'branch_id',
'code',
'date',
'investor_id',
'cash_account_id',
'amount',
'remarks',
```

# Scopeable Traits Standard

## Rule
1. **Gunakan Trait Standar**:
* `App\Traits\ScopeableByCompany`: Untuk model yang memiliki `company_id`.
* `App\Traits\ScopeableByBranch`: Untuk model yang memiliki `branch_id`.
* `App\Traits\ScopeableByStatus`: Untuk model yang memiliki `status`.
2. **Mandatory Trait**: Jika Action Class atau Controller menggunakan helper `whereCompanyId($id)` atau `whereBranchId($id)`, Model **WAJIB** menggunakan trait terkait secara eksplisit (`use Scopeable...`). Jangan berasumsi helper tersedia secara global.

## Example
```php
use App\Traits\ScopeableByCompany;
use App\Traits\ScopeableByBranch;

class Order extends Model
{
// WAJIB use Trait agar method scope tersedia
use ScopeableByCompany, ScopeableByBranch;
// ...
}

// Usage in Action/Controller
$query->whereCompanyId($companyId)->whereBranchId($branchId);
```
31 changes: 31 additions & 0 deletions .trae/rules/02factory.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
alwaysApply: false
description:
---
# PROMPT RULE FACTORY (Laravel)

Saat membuat/mengedit `database/factories/*.php`:

- Wajib: Hanya field internal (tanpa foreign key).
- State helper: method `public` deskriptif, return `$this->state(...)` (mis. `setStatusActive()`), hanya override field relevan.

Field:
- `code`: uppercase + pola rapi (mis. `SUP-####` via lexify/numerify); jangan `word/uuid` mentah.
- `name`: realistis (Indonesia; “PT/CV …” bila cocok). Jika menambahkan suffix random (misal `Str::random`), wajib tambahkan spasi sebagai pemisah (contoh: `$name . ' ' . Str::random(3)`).
- `remarks`: kalimat pendek wajar (boleh `sentence`, bukan lorem noise).

Lokal Indonesia (jika ada): `city` kota Indo; `address` gaya “Jl.”; `phone/mobile` format `+62/08`; `tax_id` angka masuk akal (mis. `##.###.###.#-###.###`).

Relasi/FK:
- **STRICT FORBIDDEN**: Jangan pernah mendefinisikan `*_id` (Foreign Key) di dalam method `definition()`.
- **Why**:
1. Menghindari inkonsistensi data (misal: Child Model dibuatkan Company baru yang beda dengan Parent Model).
2. Mencegah spam database (membuat ratusan Company baru yang tidak perlu).
3. Memudahkan testing dengan skenario fleksibel.
- **Solution**: Set relasi di pemanggil (Seeder/Test) menggunakan `->for($model)` atau `->for(Model::factory())`.

Enum/boolean:
- Enum cast: pakai enum; boolean: `fake()->boolean()` atau default logis + state variasi.

Gaya:
- Konsisten; `fake()` / `fake('id_ID')`; 1 field per baris; tanpa logika bisnis berat.
Loading