feat(api-client-phase5): API um customer-detail, project-detail, settings, theme erwe [tsc:fail]

This commit is contained in:
Dennis (via Claude+Gemma) 2026-05-23 05:24:51 +02:00
parent 6131788183
commit 6bc539533a
3 changed files with 42 additions and 2 deletions

View File

@ -4,6 +4,9 @@
"customer-detail-page",
"project-detail-page"
],
"current_feature": "settings-page",
"started_at": "2026-05-23T05:20:11.407108"
"current_feature": "api-client-phase5",
"started_at": "2026-05-23T05:20:11.407108",
"attempted_features": [
"settings-page"
]
}

View File

@ -589,3 +589,17 @@ src/routes/settings.ts(3,10): error TS2305: Module '"../db/schema"' has no expor
undefined
/home/dark/Developer/EmberClone/apps/api:
ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command failed with exit code 2: tsc --noEmit -p tsconfig.json
- `05:24:10` **INFO** Committed feature settings-page
- `05:24:11` **INFO** Pushed: rc=0
## Phase-3 Feature: api-client-phase5 (2026-05-23 05:24:11)
- `05:24:11` **INFO** Description: API um customer-detail, project-detail, settings, theme erweitern
- `05:24:11` **INFO** Generating apps/web/src/lib/api.ts (ERWEITERT — behalte ALLES. Füge: getCustomerProjects(id), getCustomerT…)
- `05:24:50` **INFO** wrote 4448 chars in 38.9s (attempt 1)
- `05:24:50` **INFO** Running tsc --noEmit on api…
- `05:24:51` **WARN** tsc errors:
src/routes/settings.ts(3,10): error TS2305: Module '"../db/schema"' has no exported member 'settings'.
undefined
/home/dark/Developer/EmberClone/apps/api:
ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command failed with exit code 2: tsc --noEmit -p tsconfig.json

View File

@ -113,11 +113,23 @@ export const api = {
})
},
async getCustomerProjects(customerId: string) {
return request<any[]>(`/customers/${customerId}/projects`)
},
async getCustomerTimeEntries(customerId: string) {
return request<any[]>(`/customers/${customerId}/time-entries`)
},
async listProjects(opts?: Record<string, string>) {
const query = opts ? `?${new URLSearchParams(opts).toString()}` : ""
return request<any[]>(`/projects${query}`)
},
async getProject(id: string) {
return request<any>(`/projects/${id}`)
},
async createProject(data: Partial<ProjectInsert>) {
return request("/projects", {
method: "POST",
@ -153,5 +165,16 @@ export const api = {
return request(`/users/${id}`, {
method: "DELETE"
})
},
async getSettings() {
return request<any>("/settings")
},
async updateSettings(data: { workspaceName?: string; defaultBillable?: boolean; weekStart?: number }) {
return request("/settings", {
method: "PATCH",
body: JSON.stringify(data)
})
}
}