fix(api-key): creating API keys metadata always returns null (#1698)

This commit is contained in:
Maxwell
2025-03-06 06:30:10 +10:00
committed by GitHub
parent 7d72173dce
commit 0ffbb6233a
2 changed files with 14 additions and 8 deletions

View File

@@ -489,6 +489,18 @@ describe("api-key", async () => {
expect(apiKey).not.toBeNull();
expect(apiKey.metadata).toEqual(metadata);
const res = await auth.api.getApiKey({
query: {
id: apiKey.id,
},
headers,
});
expect(res).not.toBeNull();
if (res) {
expect(res.metadata).toEqual(metadata);
}
});
it("create API key's returned metadata should be an object", async () => {

View File

@@ -275,14 +275,8 @@ export function createApiKey({
};
if (metadata) {
const parseMetadata = parseInputData(
data,
apiKeySchema({
rateLimitMax: opts.rateLimit.maxRequests!,
timeWindow: opts.rateLimit.timeWindow!,
}).apikey,
);
data.metadata = parseMetadata.metadata ?? null;
//@ts-expect-error - we intentionally save the metadata as string on DB.
data.metadata = schema.apikey.fields.metadata.transform.input(metadata);
}
const apiKey = await ctx.context.adapter.create<ApiKey>({