Kaizen
Browse modulesData tabledatatable/serverClasses

Class: DataTableViewsRepository

Defined in: server/datatable/repository.ts:67

Repository for dataTableViews rows.

Extends BaseRepository<PrismaClient, Tx<PrismaClient>> so this.tx resolves to the active transaction handle when called inside TransactionManager.startOrUseTransaction, and falls back to the raw client otherwise. That's what lets composite mutations (ownership check

  • write) ride a single transaction without per-method plumbing.

Unlike most repos in taproot, this one doesn't slot into CrudRepository's template — every mutation carries a per-call userId for ownership checks and audit columns, rather than a constructor-time actor. The methods are written directly.

Extends

Constructors

Constructor

new DataTableViewsRepository(prismaClient: PrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>, options?: RepositoryOptions): DataTableViewsRepository;

Defined in: server/persistence/base-repository.ts:68

Parameters

ParameterType
prismaClientPrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>
optionsRepositoryOptions

Returns

DataTableViewsRepository

Inherited from

BaseRepository.constructor

Properties

ENTITY_TYPE?

protected readonly optional ENTITY_TYPE?: string;

Defined in: server/persistence/base-repository.ts:61

Set ENTITY_TYPE in child repositories to enable automatic activity logging. When set, create/update/delete operations auto-log unless silenced with .silent. Requires an activity model on the consumer's Prisma schema.

Inherited from

BaseRepository.ENTITY_TYPE


logger?

protected readonly optional logger?: Logger;

Defined in: server/persistence/base-repository.ts:64

Inherited from

BaseRepository.logger


prismaClient

protected prismaClient: PrismaClientLike<Tx<PrismaClient<PrismaClientOptions, never, DefaultArgs>>> & PrismaClient<PrismaClientOptions, never, DefaultArgs>;

Defined in: server/persistence/base-repository.ts:69

Inherited from

BaseRepository.prismaClient

Accessors

actorId

Get Signature

get protected actorId(): string | null | undefined;

Defined in: server/persistence/base-repository.ts:76

Returns

string | null | undefined

Inherited from

BaseRepository.actorId


auditCreate

Get Signature

get protected auditCreate(): {
  createdBy: string | null | undefined;
  updatedBy: string | null | undefined;
};

Defined in: server/persistence/base-repository.ts:90

Returns
{
  createdBy: string | null | undefined;
  updatedBy: string | null | undefined;
}
createdBy
createdBy: string | null | undefined = actorId;
updatedBy
updatedBy: string | null | undefined = actorId;

Inherited from

BaseRepository.auditCreate


auditDelete

Get Signature

get protected auditDelete(): {
  deletedAt: Date;
  deletedBy: string | null | undefined;
};

Defined in: server/persistence/base-repository.ts:99

Returns
{
  deletedAt: Date;
  deletedBy: string | null | undefined;
}
deletedAt
deletedAt: Date;
deletedBy
deletedBy: string | null | undefined;

Inherited from

BaseRepository.auditDelete


auditUpdate

Get Signature

get protected auditUpdate(): {
  updatedBy: string | null | undefined;
};

Defined in: server/persistence/base-repository.ts:95

Returns
{
  updatedBy: string | null | undefined;
}
updatedBy
updatedBy: string | null | undefined;

Inherited from

BaseRepository.auditUpdate


silent

Get Signature

get silent(): this;

Defined in: server/persistence/base-repository.ts:115

Suppress activity logging for the next mutation call. One-shot: the flag is consumed by the next create/update/delete.

Example
await repo.silent.update(id, data);   // no activity logged
await repo.update(id, data);          // activity logged normally
Returns

this

Inherited from

BaseRepository.silent


tx

Get Signature

get protected tx(): TTx;

Defined in: server/persistence/base-repository.ts:86

The current Prisma handle: the active transaction if one is running on this async context, otherwise the raw client.

Returns

TTx

Inherited from

BaseRepository.tx

Methods

consumeSilent()

protected consumeSilent(): boolean;

Defined in: server/persistence/base-repository.ts:128

Consume and reset the silent flag. Called by template methods.

Returns

boolean

Inherited from

BaseRepository.consumeSilent


createView()

createView(input: {
  name: string;
  organizationId: string;
  payload: ViewPayload;
  tableKey: string;
  userId: string;
  visibility?: ViewVisibility;
}): Promise<SavedView>;

Defined in: server/datatable/repository.ts:115

Parameters

ParameterType
input{ name: string; organizationId: string; payload: ViewPayload; tableKey: string; userId: string; visibility?: ViewVisibility; }
input.namestring
input.organizationIdstring
input.payloadViewPayload
input.tableKeystring
input.userIdstring
input.visibility?ViewVisibility

Returns

Promise<SavedView>


deleteView()

deleteView(input: {
  id: string;
  organizationId: string;
  userId: string;
}): Promise<void>;

Defined in: server/datatable/repository.ts:196

Parameters

ParameterType
input{ id: string; organizationId: string; userId: string; }
input.idstring
input.organizationIdstring
input.userIdstring

Returns

Promise<void>


getView()

getView(input: {
  id: string;
  organizationId: string;
}): Promise<SavedView>;

Defined in: server/datatable/repository.ts:103

Parameters

ParameterType
input{ id: string; organizationId: string; }
input.idstring
input.organizationIdstring

Returns

Promise<SavedView>


listViews()

listViews(input: {
  organizationId: string;
  tableKey: string;
  userId: string;
}): Promise<SavedView[]>;

Defined in: server/datatable/repository.ts:84

Parameters

ParameterType
input{ organizationId: string; tableKey: string; userId: string; }
input.organizationIdstring
input.tableKeystring
input.userIdstring

Returns

Promise<SavedView[]>


logActivity()

protected logActivity(
   _entityId: string, 
   _action: string, 
   _metadata?: Record<string, unknown>
): Promise<void>;

Defined in: server/persistence/base-repository.ts:140

Log an activity entry.

NOTE: This is not implemented because there's no activity model implemented in taproot yet! https://linear.app/kaizenlabs/issue/ENG-7846/add-activity-log-tables

Parameters

ParameterType
_entityIdstring
_actionstring
_metadata?Record<string, unknown>

Returns

Promise<void>

Inherited from

BaseRepository.logActivity


renameView()

renameView(input: {
  id: string;
  name: string;
  organizationId: string;
  userId: string;
  visibility?: ViewVisibility;
}): Promise<SavedView>;

Defined in: server/datatable/repository.ts:137

Parameters

ParameterType
input{ id: string; name: string; organizationId: string; userId: string; visibility?: ViewVisibility; }
input.idstring
input.namestring
input.organizationIdstring
input.userIdstring
input.visibility?ViewVisibility

Returns

Promise<SavedView>


saveViewPayload()

saveViewPayload(input: {
  id: string;
  organizationId: string;
  payload: ViewPayload;
  userId: string;
}): Promise<SavedView>;

Defined in: server/datatable/repository.ts:169

Parameters

ParameterType
input{ id: string; organizationId: string; payload: ViewPayload; userId: string; }
input.idstring
input.organizationIdstring
input.payloadViewPayload
input.userIdstring

Returns

Promise<SavedView>

On this page