Replace void returns with { success: true } across all API endpoints

- Add successResponseSchema to common.ts for explicit success responses
- Update all auth, me, orgs, and admin procedures to return { success: true }
- Update contract.ts to use successResponseSchema instead of z.void()
- Add ast-grep rule to prevent future z.void() usage in contracts
- Add build:packages script to root package.json
- Fix test file lint errors with eslint-disable comments

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
RevIQ
2026-01-10 16:30:22 +08:00
parent 5e13809c0e
commit 1bf05465c3
31 changed files with 179 additions and 53 deletions

View File

@@ -47,4 +47,6 @@ export const meDelete = os.me.delete
// Clear session cookie
deleteCookie(context.resHeaders, COOKIE_NAMES.SESSION_TOKEN);
return { success: true };
});

View File

@@ -64,6 +64,8 @@ export const trustDevice = os.me.trustDevice
if (!result.numUpdatedRows || result.numUpdatedRows === 0n) {
throw new ORPCError("NOT_FOUND", { message: "Device not found" });
}
return { success: true };
});
/**
@@ -113,6 +115,8 @@ export const untrustDevice = os.me.untrustDevice
if (!result.numUpdatedRows || result.numUpdatedRows === 0n) {
throw new ORPCError("NOT_FOUND", { message: "Device not found" });
}
return { success: true };
});
/**
@@ -128,4 +132,6 @@ export const revokeAllTrustedDevices = os.me.revokeAllTrustedDevices
.set({ is_trusted: false })
.where("user_id", "=", context.user.id)
.execute();
return { success: true };
});

View File

@@ -45,6 +45,8 @@ export const renamePasskey = os.me.passkeys.rename
if (!result.numUpdatedRows || result.numUpdatedRows === 0n) {
throw new ORPCError("NOT_FOUND", { message: "Passkey not found" });
}
return { success: true };
});
/**
@@ -92,4 +94,6 @@ export const deletePasskey = os.me.passkeys.delete
throw new ORPCError("NOT_FOUND", { message: "Passkey not found" });
}
});
return { success: true };
});

View File

@@ -65,6 +65,8 @@ export const revokeSession = os.me.revokeSession
if (!result.numUpdatedRows || result.numUpdatedRows === 0n) {
throw new ORPCError("NOT_FOUND", { message: "Session not found" });
}
return { success: true };
});
/**
@@ -83,4 +85,6 @@ export const revokeAllSessions = os.me.revokeAllSessions
.where("id", "!=", context.session.id)
.where("revoked_at", "is", null)
.execute();
return { success: true };
});

View File

@@ -58,4 +58,6 @@ export const setPassword = os.me.setPassword
.set({ password_hash: newHash, updated_at: new Date() })
.where("id", "=", context.user.id)
.execute();
return { success: true };
});

View File

@@ -36,4 +36,6 @@ export const updateProfile = os.me.updateProfile
.where("id", "=", context.user.id)
.execute();
}
return { success: true };
});