Add cash management schema and immediate variance alerts
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user