Skip to content

Commit 6643d8b

Browse files
committed
fix schema issues
1 parent 1a8ed13 commit 6643d8b

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

services/src/auth/api-access-service.test.ts

Whitespace-only changes.
Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1+
import type { ProjectId } from '../project/project'
2+
import { apiAccessSchema, type ApiAccess, type ApiAccessId, type ApiKey } from './api-access'
13
import {
24
createApiAccess,
35
getApiAccessForProject,
46
projectHasKey,
57
setApiAccessName
68
} from './api-access.repository'
79

8-
export const checkApiKeyAccess = async (apiKey: string, projectId: number): Promise<boolean> => {
9-
return await projectHasKey(projectId, apiKey)
10-
}
10+
export const checkApiKeyAccess = async (apiKey: ApiKey, projectId: ProjectId): Promise<boolean> =>
11+
projectHasKey(projectId, apiKey)
1112

12-
export const addApiKey = async (projectId: number): Promise<string> => {
13+
export const addApiAccess = async (projectId: ProjectId): Promise<ApiAccess> => {
1314
const key = await createApiAccess(projectId)
14-
return key.apikey
15+
return apiAccessSchema.parse(key)
1516
}
1617

17-
export const changeApiKeyName = async (apiAccessId: number, name: string) => {
18+
export const changeApiAccessName = async (apiAccessId: ApiAccessId, name: string) => {
1819
await setApiAccessName(apiAccessId, name)
1920
}
2021

21-
export const listApiKeys = async (projectId: number): Promise<string[]> => {
22-
const result = await getApiAccessForProject(projectId)
23-
return result.map((it) => it.apikey)
22+
export const listApiAccessForProject = async (projectId: ProjectId): Promise<ApiAccess[]> => {
23+
const queryResult = await getApiAccessForProject(projectId)
24+
return apiAccessSchema.array().parse(queryResult)
2425
}

services/src/auth/api-access.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import { z } from 'zod'
55
export type ApiKeyCreationParams = Insertable<Omit<Apiaccess, 'id' | 'created_at'>>
66
export type SelectableApiKey = Selectable<Apiaccess>
77

8-
const apiKeyIdSchema = z.number().brand('api-access')
9-
export type ApiKeyId = z.infer<typeof apiKeyIdSchema>
8+
const apiAccessIdSchema = z.number().brand('api-access')
9+
export type ApiAccessId = z.infer<typeof apiAccessIdSchema>
1010

1111
const apiKeyKeySchema = z.string().uuid().brand('api-key')
1212
export type ApiKey = z.infer<typeof apiKeyKeySchema>
1313

14-
const apiAccessSchema = z.object({
15-
id: apiKeyIdSchema,
14+
export const apiAccessSchema = z.object({
15+
id: apiAccessIdSchema,
1616
apikey: apiKeyKeySchema,
1717
name: z.string(),
1818
project_id: z.number(),

0 commit comments

Comments
 (0)