13780baeb8
- POST /api/v1/missions/import — multipart upload with video - GET /api/v1/missions/:id — retrieve mission - GET /api/v1/missions — list active missions - Express + multer for file handling - Uses application layer handlers (PR-002.5) - In-memory repositories (swap for PostgreSQL in PR-003B) Acceptance Tests (5/5 passing): ✅ Import mission with video ✅ Reject upload without video ✅ Retrieve mission by ID ✅ 404 for non-existent mission ✅ Health check MVP-0 Definition of Done: ✅ Phone → Upload → Store → Retrieve ✅ No AI required ✅ First real artifact produced Next: PR-005A — Minimal Mission Import UI
36 lines
926 B
JSON
36 lines
926 B
JSON
{
|
|
"name": "@landvex/api",
|
|
"version": "0.1.0",
|
|
"description": "Mission Import API for LandveX Intelligence Lab",
|
|
"main": "dist/index.js",
|
|
"types": "dist/index.d.ts",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"dev": "ts-node src/index.ts"
|
|
},
|
|
"dependencies": {
|
|
"@landvex/domain": "file:../domain",
|
|
"@landvex/infrastructure": "file:../infrastructure",
|
|
"@landvex/application": "file:../application",
|
|
"express": "^4.18.2",
|
|
"multer": "^1.4.5-lts.1",
|
|
"cors": "^2.8.5",
|
|
"helmet": "^7.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/express": "^4.17.21",
|
|
"@types/multer": "^1.4.11",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/jest": "^29.5.0",
|
|
"@types/node": "^20.0.0",
|
|
"jest": "^29.5.0",
|
|
"ts-jest": "^29.1.0",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.3.0",
|
|
"supertest": "^6.3.3",
|
|
"@types/supertest": "^6.0.2"
|
|
}
|
|
}
|