From aa15ef0282e887f4da1f1284150a935eae6b14dd Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 6 Jun 2022 13:34:23 +0800 Subject: [PATCH] Sort by expires at desc nulls last --- packages/api/src/resolvers/api_key/index.ts | 5 ++++- packages/web/pages/settings/api-keys.tsx | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/api/src/resolvers/api_key/index.ts b/packages/api/src/resolvers/api_key/index.ts index f6c067e75..5ef001fc4 100644 --- a/packages/api/src/resolvers/api_key/index.ts +++ b/packages/api/src/resolvers/api_key/index.ts @@ -34,7 +34,10 @@ export const apiKeysResolver = authorized( const apiKeys = await getRepository(ApiKey).find({ select: ['id', 'name', 'scopes', 'expiresAt', 'createdAt', 'usedAt'], where: { user: { id: uid } }, - order: { usedAt: 'DESC', createdAt: 'DESC' }, + order: { + usedAt: { direction: 'DESC', nulls: 'last' }, + createdAt: 'DESC', + }, }) return { diff --git a/packages/web/pages/settings/api-keys.tsx b/packages/web/pages/settings/api-keys.tsx index 012d1759f..c1617ca85 100644 --- a/packages/web/pages/settings/api-keys.tsx +++ b/packages/web/pages/settings/api-keys.tsx @@ -35,7 +35,9 @@ export default function ApiKeys(): JSX.Element { rows.set(apiKey.id, { name: apiKey.name, scopes: apiKey.scopes.join(', ') || 'All', - usedAt: apiKey.usedAt?.toISOString() || 'Never used', + usedAt: apiKey.usedAt + ? new Date(apiKey.usedAt).toISOString() + : 'Never used', expiresAt: new Date(apiKey.expiresAt).toDateString(), }) )