TenantAtlas/apps/platform/.pnpm-store/v10/files/a3/936c720e9170f760374123c7e171f20379584691b245a64b6217969b6b9f15150de0db3311c5949b66453ede490a5a307c1a10fb9086bd4d3b53e1c0eb6d28
Ahmed Darrazi 9f74f7a658
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 51s
feat: compress governance operator outcomes
2026-04-19 14:15:11 +02:00

21 lines
1.5 KiB
Plaintext

import { type AnyPgColumn, type PgPolicyToOption } from "../pg-core/index.js";
import { PgRole } from "../pg-core/roles.js";
import { type SQL } from "../sql/sql.js";
/**
* Generates a set of PostgreSQL row-level security (RLS) policies for CRUD operations based on the provided options.
*
* @param options - An object containing the policy configuration.
* @param options.role - The PostgreSQL role(s) to apply the policy to. Can be a single `PgRole` instance or an array of `PgRole` instances or role names.
* @param options.read - The SQL expression or boolean value that defines the read policy. Set to `true` to allow all reads, `false` to deny all reads, or provide a custom SQL expression. Set to `null` to prevent the policy from being generated.
* @param options.modify - The SQL expression or boolean value that defines the modify (insert, update, delete) policies. Set to `true` to allow all modifications, `false` to deny all modifications, or provide a custom SQL expression. Set to `null` to prevent policies from being generated.
* @returns An array of PostgreSQL policy definitions, one for each CRUD operation.
*/
export declare const crudPolicy: (options: {
role: PgPolicyToOption;
read: SQL | boolean | null;
modify: SQL | boolean | null;
}) => (import("../pg-core/index.js").PgPolicy | undefined)[];
export declare const authenticatedRole: PgRole;
export declare const anonymousRole: PgRole;
export declare const authUid: (userIdColumn: AnyPgColumn) => SQL<unknown>;