Merge branch 'testing-improvements'

Combines testing improvements with org invites feature:
- Sessions and devices now use subrouter structure (me.sessions.*, me.devices.*)
- Added me.invites subrouter for org invitations
- Updated test scripts to include coverage and unit tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
RevIQ
2026-01-10 17:24:51 +08:00
15 changed files with 878 additions and 162 deletions

View File

@@ -162,19 +162,25 @@ export const contract = oc.router({
.output(successResponseSchema),
}),
// Sessions & devices
listSessions: oc.output(z.array(sessionOutputSchema)),
revokeSession: oc
.input(z.object({ sessionId: z.number() }))
.output(successResponseSchema),
revokeAllSessions: oc.output(successResponseSchema),
getDeviceInfo: oc.output(deviceOutputSchema),
trustDevice: oc.input(trustDeviceInputSchema).output(successResponseSchema),
listTrustedDevices: oc.output(z.array(deviceOutputSchema)),
untrustDevice: oc
.input(z.object({ deviceId: z.number() }))
.output(successResponseSchema),
revokeAllTrustedDevices: oc.output(successResponseSchema),
// Sessions
sessions: oc.router({
list: oc.output(z.array(sessionOutputSchema)),
revoke: oc
.input(z.object({ sessionId: z.number() }))
.output(successResponseSchema),
revokeAll: oc.output(successResponseSchema),
}),
// Devices
devices: oc.router({
getInfo: oc.output(deviceOutputSchema),
trust: oc.input(trustDeviceInputSchema).output(successResponseSchema),
listTrusted: oc.output(z.array(deviceOutputSchema)),
untrust: oc
.input(z.object({ deviceId: z.number() }))
.output(successResponseSchema),
revokeAll: oc.output(successResponseSchema),
}),
}),
orgs: oc.router({