Complete rewrite of Scry using TypeScript stack:
- Expo/React Native with Expo Router (file-based routing)
- Convex backend (serverless functions + real-time database)
- Adaptive camera system (expo-camera in Expo Go, Vision Camera in production)
- React Native Skia + fast-opencv for image processing
- GDPR-compliant auth setup with Zitadel OIDC (pending configuration)
Key features:
- Card recognition pipeline ported to TypeScript
- Perceptual hashing (192-bit color pHash)
- CLAHE preprocessing for lighting normalization
- Local SQLite cache with Convex sync
- Collection management with offline support
Removes all .NET/MAUI code (src/, test/, tools/).
💘 Generated with Crush
Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
20 lines
411 B
TypeScript
20 lines
411 B
TypeScript
/**
|
|
* User queries and mutations using Convex Auth.
|
|
*/
|
|
|
|
import { query } from "./_generated/server";
|
|
import { getAuthUserId } from "@convex-dev/auth/server";
|
|
|
|
/**
|
|
* Get the currently authenticated user.
|
|
*/
|
|
export const me = query({
|
|
args: {},
|
|
handler: async (ctx) => {
|
|
const userId = await getAuthUserId(ctx);
|
|
if (!userId) {
|
|
return null;
|
|
}
|
|
return await ctx.db.get(userId);
|
|
},
|
|
});
|