From 962b7dc8b14078b9c8afd54f118fa855fe915c40 Mon Sep 17 00:00:00 2001 From: devanshu052000 Date: Tue, 22 Apr 2025 16:35:50 +0530 Subject: [PATCH] Added useful indexes to the entities for query optimization --- server/src/entities/group_permissions.entity.ts | 2 ++ server/src/entities/group_users.entity.ts | 3 +++ server/src/entities/page_users.entity.ts | 5 ++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/server/src/entities/group_permissions.entity.ts b/server/src/entities/group_permissions.entity.ts index 693f4f930c..92868d7510 100644 --- a/server/src/entities/group_permissions.entity.ts +++ b/server/src/entities/group_permissions.entity.ts @@ -3,6 +3,7 @@ import { Column, CreateDateColumn, Entity, + Index, JoinColumn, ManyToOne, OneToMany, @@ -20,6 +21,7 @@ export class GroupPermissions extends BaseEntity { @PrimaryGeneratedColumn('uuid') id: string; + @Index() @Column({ name: 'organization_id', nullable: false }) organizationId: string; diff --git a/server/src/entities/group_users.entity.ts b/server/src/entities/group_users.entity.ts index 03ac55386b..29771a5557 100644 --- a/server/src/entities/group_users.entity.ts +++ b/server/src/entities/group_users.entity.ts @@ -3,6 +3,7 @@ import { Column, CreateDateColumn, Entity, + Index, JoinColumn, ManyToOne, PrimaryGeneratedColumn, @@ -16,9 +17,11 @@ export class GroupUsers extends BaseEntity { @PrimaryGeneratedColumn('uuid') id: string; + @Index() @Column({ name: 'user_id', nullable: false }) userId: string; + @Index() @Column({ name: 'group_id', nullable: false }) groupId: string; diff --git a/server/src/entities/page_users.entity.ts b/server/src/entities/page_users.entity.ts index 960be5b32f..ca3ef77c65 100644 --- a/server/src/entities/page_users.entity.ts +++ b/server/src/entities/page_users.entity.ts @@ -1,4 +1,4 @@ -import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn } from 'typeorm'; +import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn, Index } from 'typeorm'; import { User } from './user.entity'; import { PagePermission } from './page_permissions.entity'; import { GroupPermissions } from './group_permissions.entity'; @@ -8,12 +8,15 @@ export class PageUser { @PrimaryGeneratedColumn('uuid') id: string; + @Index() @Column({ name: 'page_permissions_id', type: 'uuid' }) pagePermissionsId: string; + @Index() @Column({ name: 'user_id', type: 'uuid', nullable: true }) userId: string | null; + @Index() @Column({ name: 'permission_groups_id', type: 'uuid', nullable: true }) permissionGroupsId: string | null;