Add cash management schema and immediate variance alerts

This commit is contained in:
Krikorios
2026-05-06 10:51:55 +03:00
parent 1a3de58de6
commit 1896cbdd11
106 changed files with 16800 additions and 4604 deletions
+56 -8
View File
@@ -1,11 +1,59 @@
// This file is automatically generated. Do not edit it directly.
import { createClient } from '@supabase/supabase-js';
import type { Database } from './types';
/**
* Backward-compatible shim that exposes a supabase-shaped client backed
* by the local Express API (`src/lib/api.ts`). Existing components that
* use `supabase.rpc(...)`, `supabase.from(view).select(...).eq(...)` and
* `supabase.auth.*` keep working unchanged.
*/
import { api, type ApiSession } from '@/lib/api';
const SUPABASE_URL = "https://ypdikqcljvradgavpibk.supabase.co";
const SUPABASE_PUBLISHABLE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InlwZGlrcWNsanZyYWRnYXZwaWJrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NDgzNDIwOTgsImV4cCI6MjA2MzkxODA5OH0.TTgI8f_5IFWUVPgGpDTVzNSqIGB-6VzrxFIKfbZrTzg";
type Result<T> = Promise<{ data: T | null; error: { message: string } | null }>;
// Import the supabase client like this:
// import { supabase } from "@/integrations/supabase/client";
interface SelectBuilder<T> extends Result<T[]> {
eq(column: string, value: string | number | boolean): SelectBuilder<T>;
}
export const supabase = createClient<Database>(SUPABASE_URL, SUPABASE_PUBLISHABLE_KEY);
function makeSelectBuilder<T>(view: string): SelectBuilder<T> {
const filters: Record<string, string | number | boolean> = {};
const exec = () => api.fromView<T>(view, filters);
const builder = {
eq(column: string, value: string | number | boolean) {
filters[column] = value;
return builder as SelectBuilder<T>;
},
then(onFulfilled?: Parameters<Promise<unknown>['then']>[0],
onRejected?: Parameters<Promise<unknown>['then']>[1]) {
return exec().then(onFulfilled as never, onRejected as never);
},
} as unknown as SelectBuilder<T>;
return builder;
}
export const supabase = {
auth: {
async signInWithPassword(args: { email: string; password: string }) {
const { data, error } = await api.auth.signInWithPassword(args);
return { data: { session: data.session as ApiSession | null }, error };
},
async signOut() { return api.auth.signOut(); },
async getSession() { return api.auth.getSession(); },
onAuthStateChange(
cb: (event: string, session: ApiSession | null) => void,
) {
return api.auth.onAuthStateChange((event, session) => cb(event, session));
},
},
rpc<T = unknown>(fn: string, args?: Record<string, unknown>) {
return api.rpc<T>(fn, args);
},
from<T = unknown>(view: string) {
return {
select(_cols?: string) {
return makeSelectBuilder<T>(view);
},
};
},
};
export default supabase;