PR-004A: Mission Import API — MVP-0 First Field Upload
- 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
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user