Home / File/ rls.ts — drizzle-orm Source File

rls.ts — drizzle-orm Source File

Architecture documentation for rls.ts, a typescript file in the drizzle-orm codebase. 3 imports, 0 dependents.

File typescript 3 imports

Entity Profile

Dependency Diagram

graph LR
  54ae6dbd_e2ec_3835_6db8_e5b6a88c8d52["rls.ts"]
  fa14e9c0_b73d_4bcb_463b_adf18df8a285["index.ts"]
  54ae6dbd_e2ec_3835_6db8_e5b6a88c8d52 --> fa14e9c0_b73d_4bcb_463b_adf18df8a285
  fd46616a_1f86_f019_eb0a_9c87f4d363a8["roles.ts"]
  54ae6dbd_e2ec_3835_6db8_e5b6a88c8d52 --> fd46616a_1f86_f019_eb0a_9c87f4d363a8
  be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd["sql.ts"]
  54ae6dbd_e2ec_3835_6db8_e5b6a88c8d52 --> be483a7f_d5d7_7a9b_9a13_44a4a6aafbbd
  style 54ae6dbd_e2ec_3835_6db8_e5b6a88c8d52 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { bigserial, pgSchema, text, timestamp, uuid, varchar } from '~/pg-core/index.ts';
import { pgRole } from '~/pg-core/roles.ts';
import { sql } from '~/sql/sql.ts';

export const anonRole = pgRole('anon').existing();
export const authenticatedRole = pgRole('authenticated').existing();
export const serviceRole = pgRole('service_role').existing();
export const postgresRole = pgRole('postgres_role').existing();
export const supabaseAuthAdminRole = pgRole('supabase_auth_admin').existing();

/* ------------------------------ auth schema; ------------------------------ */
const auth = pgSchema('auth');

export const authUsers = auth.table('users', {
	id: uuid().primaryKey().notNull(),
	email: varchar({ length: 255 }),
	phone: text().unique(),
	emailConfirmedAt: timestamp('email_confirmed_at', { withTimezone: true }),
	phoneConfirmedAt: timestamp('phone_confirmed_at', { withTimezone: true }),
	lastSignInAt: timestamp('last_sign_in_at', { withTimezone: true }),
	createdAt: timestamp('created_at', { withTimezone: true }),
	updatedAt: timestamp('updated_at', { withTimezone: true }),
});

/* ------------------------------ realtime schema; ------------------------------- */
const realtime = pgSchema('realtime');

export const realtimeMessages = realtime.table(
	'messages',
	{
		id: bigserial({ mode: 'bigint' }).primaryKey(),
		topic: text().notNull(),
		extension: text({
			enum: ['presence', 'broadcast', 'postgres_changes'],
		}).notNull(),
	},
);

export const authUid = sql`(select auth.uid())`;
export const realtimeTopic = sql`realtime.topic()`;

Dependencies

  • index.ts
  • roles.ts
  • sql.ts

Frequently Asked Questions

What does rls.ts do?
rls.ts is a source file in the drizzle-orm codebase, written in typescript.
What does rls.ts depend on?
rls.ts imports 3 module(s): index.ts, roles.ts, sql.ts.
Where is rls.ts in the architecture?
rls.ts is located at drizzle-orm/src/supabase/rls.ts (directory: drizzle-orm/src/supabase).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free