Home / Class/ PgPolicy Class — drizzle-orm Architecture

PgPolicy Class — drizzle-orm Architecture

Architecture documentation for the PgPolicy class in policies.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  fb5adfe9_0485_7f32_8c4e_5c81265ae2e4["PgPolicy"]
  85575027_808b_f07e_b2a8_8d47e8b3189b["policies.ts"]
  fb5adfe9_0485_7f32_8c4e_5c81265ae2e4 -->|defined in| 85575027_808b_f07e_b2a8_8d47e8b3189b
  cbb6f329_9357_fed3_2035_78d5366ff109["constructor()"]
  fb5adfe9_0485_7f32_8c4e_5c81265ae2e4 -->|method| cbb6f329_9357_fed3_2035_78d5366ff109
  5f1347a6_4369_9248_00bd_5e7e9cb869f2["link()"]
  fb5adfe9_0485_7f32_8c4e_5c81265ae2e4 -->|method| 5f1347a6_4369_9248_00bd_5e7e9cb869f2

Relationship Graph

Source Code

drizzle-orm/src/pg-core/policies.ts lines 23–52

export class PgPolicy implements PgPolicyConfig {
	static readonly [entityKind]: string = 'PgPolicy';

	readonly as: PgPolicyConfig['as'];
	readonly for: PgPolicyConfig['for'];
	readonly to: PgPolicyConfig['to'];
	readonly using: PgPolicyConfig['using'];
	readonly withCheck: PgPolicyConfig['withCheck'];

	/** @internal */
	_linkedTable?: PgTable;

	constructor(
		readonly name: string,
		config?: PgPolicyConfig,
	) {
		if (config) {
			this.as = config.as;
			this.for = config.for;
			this.to = config.to;
			this.using = config.using;
			this.withCheck = config.withCheck;
		}
	}

	link(table: PgTable): this {
		this._linkedTable = table;
		return this;
	}
}

Domain

Frequently Asked Questions

What is the PgPolicy class?
PgPolicy is a class in the drizzle-orm codebase, defined in drizzle-orm/src/pg-core/policies.ts.
Where is PgPolicy defined?
PgPolicy is defined in drizzle-orm/src/pg-core/policies.ts at line 23.

Analyze Your Own Codebase

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

Try Supermodel Free