Fix lint errors and add ast-grep rule for countAll

- Fix template literal expressions: wrap Date.now() in String()
- Add missing afterAll import in admin.test.ts
- Fix countOwners to use countAll() without misleading <number> type
- Add ast-grep rule to prevent countAll<number>() usage
- Fix formatting issues from merge conflict resolution

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
igm
2026-01-12 13:40:06 +08:00
parent 92f7e1df09
commit 6fa4da1abb
8 changed files with 3866 additions and 3442 deletions

View File

@@ -115,11 +115,11 @@ export async function countOwners(
): Promise<number> {
const result = await db
.selectFrom("org_members")
.select((eb) => eb.fn.countAll<number>().as("count"))
.select((eb) => eb.fn.countAll().as("count"))
.where("org_id", "=", orgId)
.where("role", "=", "owner")
.executeTakeFirstOrThrow();
// PostgreSQL COUNT returns bigint which may be a string; ensure numeric comparison works
// PostgreSQL COUNT returns bigint (string), convert to number
return Number(result.count);
}