-
03d74d69c1
Rename AssetItemStatus 'assigned' to 'in_use'
feat/inventory-scan-move-project
toanhoang
2026-08-24 21:57:33 -04:00
-
10508f9d04
Server-side pagination for /assets (50/page), fix duplicated manufacturer in model labels
toanhoang
2026-08-24 21:30:52 -04:00
-
4063b81f16
Add AssetItem.areaId, show assigned-to + area on /assets, mm/dd/yyyy dates
toanhoang
2026-08-24 21:05:03 -04:00
-
6863323cce
Add AssetItemStatus.lost, category filter on /assets page
toanhoang
2026-08-24 20:41:50 -04:00
-
3ebd7efd7f
Assets page: show model name instead of UUID, row index instead of raw ID, add filters
toanhoang
2026-08-24 20:28:30 -04:00
-
2cbe746bde
Add AssetItem.cost/costCurrency/externalPoNumber, make import upsert-capable
toanhoang
2026-08-23 22:14:48 -04:00
-
1360bb3c45
docs: record real Employee/Assignment backfill (2026-08-24)
toanhoang
2026-08-23 21:50:37 -04:00
-
69437cf38f
Add AssetItem.assetTag, status-aware bulk import, nullable purchaseDate
toanhoang
2026-08-23 21:33:48 -04:00
-
aa7f5515db
Add AssetItem CSV import/export
toanhoang
2026-08-23 07:41:52 -04:00
-
d9b360c1df
Auto-fill AssetItem.warrantyEndDate from AssetModel.warrantyMonths
toanhoang
2026-08-21 09:10:55 -04:00
-
8ac95c974b
Add ExpectedAsset CSV import + bot search/pick for pre-known inventory
toanhoang
2026-08-21 08:59:18 -04:00
-
b4e2f6c83e
docs: note decision to merge inventory-capture bot into this app

toanhoangandClaude Sonnet 5
2026-08-20 09:47:33 -04:00
-
b52106dfa6
fix(ci): use db service hostname instead of localhost for Postgres

toanhoangandClaude Sonnet 5
2026-08-19 22:48:19 -04:00
-
d7c0da2328
ci: retrigger #3 (cleared orphaned container holding port 5432)

toanhoangandClaude Sonnet 5
2026-08-19 22:31:51 -04:00
-
555fbf64fd
ci: retrigger #2

toanhoangandClaude Sonnet 5
2026-08-19 22:30:27 -04:00
-
5a8dea2ea3
ci: retrigger after runner network + resource-limit fix

toanhoangandClaude Sonnet 5
2026-08-19 22:25:05 -04:00
-
acc79a1d3c
chore: add Gitea Actions CI workflow

toanhoangandClaude Sonnet 5
2026-08-19 22:07:42 -04:00
-
9773dd8a39
docs: document InventoryScan feature + note deviation from agent pipeline

toanhoangandClaude Sonnet 5
2026-08-19 22:07:39 -04:00
-
84e6db7406
test: add Area, InventoryScan and bot API tests

toanhoangandClaude Sonnet 5
2026-08-19 22:07:32 -04:00
-
77dbd15450
feat: add Inventory Scans review page

toanhoangandClaude Sonnet 5
2026-08-19 22:07:25 -04:00
-
ae84737620
feat: add session-authed Area + InventoryScan API routes

toanhoangandClaude Sonnet 5
2026-08-19 22:07:18 -04:00
-
17c5882e86
feat: add bot-facing API routes (catalog, areas, employees, asset-models, inventory-scans)

toanhoangandClaude Sonnet 5
2026-08-19 22:07:10 -04:00
-
d5a0f1cb74
feat: add bot-secret auth helper for /api/bot/* routes

toanhoangandClaude Sonnet 5
2026-08-19 22:07:07 -04:00
-
8a02a7c7ef
feat: add InventoryScan validation + CRUD (src/lib/inventory-scans.ts)

toanhoangandClaude Sonnet 5
2026-08-19 22:07:00 -04:00
-
1e6dec9cf2
feat: add Area validation + CRUD (src/lib/areas.ts)

toanhoangandClaude Sonnet 5
2026-08-19 22:06:58 -04:00
-
3078d9e8c5
feat: add Area and InventoryScan Prisma models + migrations

toanhoangandClaude Sonnet 5
2026-08-19 22:06:52 -04:00
-
e30489297c
docs: note Assignment transfer UI landing in CLAUDE.md
feat/assignment
toanhoang
2026-08-04 10:44:05 -04:00
-
d700eaa6a9
feat: add transfer UI for Assignment
toanhoang
2026-08-04 10:43:39 -04:00
-
713dfad364
docs: note MaintenanceRecord UI landing in CLAUDE.md
toanhoang
2026-08-04 10:24:27 -04:00
-
74e78322b4
feat: add list+create+close UI for MaintenanceRecord
toanhoang
2026-08-04 10:23:50 -04:00
-
651ff2d626
fix: read password from stdin prompt instead of CLI arg in create-user script
toanhoang
2026-08-04 06:42:35 -04:00
-
b702528e19
fix: change Assignment.assetItemId/licenseId FK onDelete to RESTRICT

toanhoangandClaude Sonnet 5
2026-08-04 06:41:13 -04:00
-
be47eb69d3
test: add malformed/non-object body tests for assets, employees, requests
toanhoang
2026-08-04 06:40:13 -04:00
-
2a0acd11a9
fix: run dummy bcrypt.compare on unknown user to prevent timing side-channel
toanhoang
2026-08-04 06:39:08 -04:00
-
44dd33dd3b
docs: note MaintenanceRecord landing + code-review gate PASS in CLAUDE.md
toanhoang
2026-08-04 06:36:05 -04:00
-
7e1351bde2
fix: isolate Prisma Client per test file, re-enable fileParallelism
toanhoang
2026-08-04 06:04:23 -04:00
-
91624d5f07
fix: close MaintenanceRecord race condition + restrict targetStatus
toanhoang
2026-08-04 06:01:34 -04:00
-
dfbee1a00d
test: add MaintenanceRecord API tests
toanhoang
2026-08-04 05:35:37 -04:00
-
7f4a727669
feat: add MaintenanceRecord API routes
toanhoang
2026-08-04 05:32:21 -04:00
-
67fe335e76
feat: add MaintenanceRecord validation + CRUD (src/lib/maintenance-records.ts)
toanhoang
2026-08-04 05:29:26 -04:00
-
5089bd6dfc
feat: add MaintenanceRecord Prisma model + migration
toanhoang
2026-08-04 05:25:22 -04:00
-
d557694f77
docs: chốt spec MaintenanceRecord (BA + stakeholder 2026-08-04)
toanhoang
2026-08-04 04:18:47 -04:00
-
e1ad9da72d
docs: consolidate CLAUDE.md status/backlog, add Assignment review findings
toanhoang
2026-08-03 20:27:52 -04:00
-
d6cea577c9
fix: scope vitest to tests/ dir to avoid picking up stray worktree checkouts
toanhoang
2026-08-03 19:54:49 -04:00
-
a9dafcc140
fix: add atomic Assignment transfer (close old + create new in one transaction)
toanhoang
2026-08-03 19:46:43 -04:00
-
e951a14cc5
feat: add basic list+create+return UI for Assignment
worktree-ui-basic
toanhoang
2026-08-03 07:31:32 -04:00
-
2981ea6202
feat: add basic list+create UI for AssetItem, License, Request
toanhoang
2026-08-03 07:23:25 -04:00
-
e471ae9c90
feat: add basic list+create UI for AssetCategoryAttributeDef, AssetModel, PurchaseOrder
toanhoang
2026-08-03 07:09:42 -04:00
-
4bcd4da11b
feat: add basic list+create UI for Employee, Vendor, AssetCategory
toanhoang
2026-08-03 06:54:41 -04:00
-
0576d6e61c
feat: add shared UI nav + fetch hook + table/select/label/textarea primitives
toanhoang
2026-08-03 06:36:16 -04:00
-
6b39c01f4e
test: add Assignment API tests
toanhoang
2026-08-02 21:19:40 -04:00
-
5145c6af31
feat: add Assignment API routes
toanhoang
2026-08-02 21:19:34 -04:00
-
a72b8dbbbe
feat: add Assignment validation + CRUD (src/lib/assignments.ts)
toanhoang
2026-08-02 21:19:28 -04:00
-
07b01cd707
feat: add Assignment Prisma model + migration
toanhoang
2026-08-02 21:13:46 -04:00
-
2037e6939e
Merge branch 'feat/asset-item-model-id'
master

toanhoangandClaude Sonnet 5
2026-08-02 21:11:13 -04:00
-
-
2a5792df67
fix: retrofit AssetItem.model to modelId FK
toanhoang
2026-08-02 21:07:12 -04:00
-
-
d280279322
Merge branch 'feat/asset-model-dynamic-specs'

toanhoangandClaude Sonnet 5
2026-08-02 21:02:21 -04:00
-
-
dc4c438ca9
feat: wire dynamic specs validation into AssetModel creation
toanhoang
2026-08-02 20:58:19 -04:00
-
-
bcd41e4ba3
Merge branch 'feat/asset-model'

toanhoangandClaude Sonnet 5
2026-08-02 20:54:06 -04:00
-
-
0fdf82be61
test: add AssetModel API tests
toanhoang
2026-08-02 20:49:24 -04:00
-
c9b595118a
feat: add AssetModel API routes
toanhoang
2026-08-02 20:48:09 -04:00
-
1c530a3162
feat: add AssetModel validation + CRUD (src/lib/asset-models.ts)
toanhoang
2026-08-02 20:48:09 -04:00
-
c02235f381
feat: add AssetModel Prisma model + migration
toanhoang
2026-08-02 20:46:48 -04:00
-
-
d3536b60ad
Merge branch 'feat/asset-category-attribute-def'

toanhoangandClaude Sonnet 5
2026-08-02 20:44:32 -04:00
-
-
b91a1d2185
test: add AssetCategoryAttributeDef API tests
toanhoang
2026-08-02 20:40:17 -04:00
-
59425a159b
feat: add AssetCategoryAttributeDef API routes
toanhoang
2026-08-02 20:38:46 -04:00
-
123cbce2bc
feat: add AssetCategoryAttributeDef validation + CRUD (src/lib/asset-category-attribute-defs.ts)
toanhoang
2026-08-02 20:38:41 -04:00
-
f7b9566b04
feat: add AssetCategoryAttributeDef Prisma model + migration
toanhoang
2026-08-02 20:38:06 -04:00
-
-
065c8cb59e
Merge branch 'feat/asset-category'

toanhoangandClaude Sonnet 5
2026-08-02 20:36:20 -04:00
-
-
aaab8fd9b7
test: add AssetCategory API tests
toanhoang
2026-08-02 20:32:38 -04:00
-
63eb3df33d
feat: add AssetCategory API routes
toanhoang
2026-08-02 20:31:27 -04:00
-
20ec7a11df
feat: add AssetCategory validation + CRUD (src/lib/asset-categories.ts)
toanhoang
2026-08-02 20:31:22 -04:00
-
69fa00012b
feat: add AssetCategory Prisma model + migration
toanhoang
2026-08-02 20:30:38 -04:00
-
-
b8b1709a31
Merge branch 'feat/request-po-id'

toanhoangandClaude Sonnet 5
2026-08-02 20:28:50 -04:00
-
-
65232fc62c
feat: add Request.purchaseOrderId (nullable FK)
toanhoang
2026-08-02 20:24:59 -04:00
-
-
3dd1b22828
Merge branch 'feat/license-po-id'

toanhoangandClaude Sonnet 5
2026-08-02 20:20:58 -04:00
-
-
abec58d239
feat: add License.purchaseOrderId (nullable FK)
toanhoang
2026-08-02 20:17:09 -04:00
-
-
fb52f473a5
Merge branch 'feat/asset-item-po-id'

toanhoangandClaude Sonnet 5
2026-08-02 20:12:50 -04:00
-
-
a6d7c7b302
feat: add AssetItem.purchaseOrderId (nullable FK)
toanhoang
2026-08-02 20:09:06 -04:00
-
-
4d12885500
Merge branch 'feat/purchase-order'

toanhoangandClaude Sonnet 5
2026-08-02 20:04:58 -04:00
-
-
2b3c39a291
test: add PurchaseOrder API tests
toanhoang
2026-08-02 20:00:48 -04:00
-
ad4b5d7c2f
feat: add PurchaseOrder API routes
toanhoang
2026-08-02 19:59:18 -04:00
-
cc98ca4d51
feat: add PurchaseOrder validation + CRUD (src/lib/purchase-orders.ts)
toanhoang
2026-08-02 19:59:05 -04:00
-
58235112f0
feat: add PurchaseOrder Prisma model + migration
toanhoang
2026-08-02 19:57:58 -04:00
-
-
7b5ab70596
Merge branch 'feat/license-vendor-id'

toanhoangandClaude Sonnet 5
2026-08-02 19:55:35 -04:00
-
-
9d99ebb425
fix: retrofit License.vendor to vendorId FK + createLicense error handling
toanhoang
2026-08-02 19:41:33 -04:00
-
-
9a4a3fede3
Merge branch 'feat/vendor'

toanhoangandClaude Sonnet 5
2026-08-02 19:36:49 -04:00
-
-
f613763ba4
test: add Vendor API tests
toanhoang
2026-08-02 19:29:48 -04:00
-
283d94f07a
feat: add Vendor API routes
toanhoang
2026-08-02 19:28:36 -04:00
-
19b652142a
feat: add Vendor validation + CRUD (src/lib/vendors.ts)
toanhoang
2026-08-02 19:28:25 -04:00
-
07ef1582d3
feat: add Vendor Prisma model + migration
toanhoang
2026-08-02 19:28:09 -04:00
-
-
f325abf22c
docs: resolve Assignment open questions, unblock Lane C

toanhoangandClaude Sonnet 5
2026-08-02 19:22:43 -04:00
-
e3a3780253
Merge branch 'worktree-vendor-po-assignment-spec'
toanhoang
2026-08-02 19:20:34 -04:00
-
-
4a0d00afd8
docs: spec Vendor/PurchaseOrder/Assignment + attribute defs, sequence tasks
worktree-vendor-po-assignment-spec

toanhoangandClaude Sonnet 5
2026-08-02 13:12:27 -04:00
-
29febf8205
docs: add asset high-value/low-value classification spec

toanhoangandClaude Sonnet 5
2026-08-02 13:00:51 -04:00
-
513e70ff52
docs: add asset high-value/low-value classification spec

toanhoangandClaude Sonnet 5
2026-08-02 13:00:51 -04:00
-
-
e319f88a75
docs: add BA spec for high/low-value classification + per-category custom fields
worktree-asset-custom-fields

toanhoangandClaude Sonnet 5
2026-08-02 12:40:30 -04:00
-
-
3a18414d03
docs: add ba<->pm feedback loop + commit-mapping to workflow
toanhoang
2026-08-02 11:24:35 -04:00
-
296a8c5d35
docs: update CLAUDE.md + docs for License entity

toanhoangandClaude Sonnet 5
2026-08-02 08:55:51 -04:00
-
5af1465a91
test: add License API tests
toanhoang
2026-08-02 08:55:08 -04:00