add workspaceId to indirect entities (#19522)

Required for `workspace:export` command

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
neo773
2026-04-10 01:00:28 +05:30
committed by GitHub
parent 7ef80dd238
commit 8a10071253
38 changed files with 439 additions and 15 deletions
@@ -12,12 +12,21 @@ import {
import { FileEntity } from 'src/engine/core-modules/file/entities/file.entity';
import { AgentMessageEntity } from 'src/engine/metadata-modules/ai/ai-agent-execution/entities/agent-message.entity';
import type { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
@Entity('agentMessagePart')
@Entity({ name: 'agentMessagePart', schema: 'core' })
export class AgentMessagePartEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ nullable: false, type: 'uuid' })
@Index()
workspaceId: string;
@ManyToOne('WorkspaceEntity', { onDelete: 'CASCADE' })
@JoinColumn({ name: 'workspaceId' })
workspace: Relation<WorkspaceEntity>;
@Column('uuid')
@Index()
messageId: string;
@@ -13,6 +13,7 @@ import {
import { AgentMessagePartEntity } from 'src/engine/metadata-modules/ai/ai-agent-execution/entities/agent-message-part.entity';
import { AgentTurnEntity } from 'src/engine/metadata-modules/ai/ai-agent-execution/entities/agent-turn.entity';
import { AgentChatThreadEntity } from 'src/engine/metadata-modules/ai/ai-chat/entities/agent-chat-thread.entity';
import type { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
export enum AgentMessageRole {
SYSTEM = 'system',
@@ -25,11 +26,19 @@ export enum AgentMessageStatus {
SENT = 'sent',
}
@Entity('agentMessage')
@Entity({ name: 'agentMessage', schema: 'core' })
export class AgentMessageEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ nullable: false, type: 'uuid' })
@Index()
workspaceId: string;
@ManyToOne('WorkspaceEntity', { onDelete: 'CASCADE' })
@JoinColumn({ name: 'workspaceId' })
workspace: Relation<WorkspaceEntity>;
@Column('uuid')
@Index()
threadId: string;
@@ -13,12 +13,21 @@ import {
import { AgentMessageEntity } from 'src/engine/metadata-modules/ai/ai-agent-execution/entities/agent-message.entity';
import { AgentTurnEvaluationEntity } from 'src/engine/metadata-modules/ai/ai-agent-monitor/entities/agent-turn-evaluation.entity';
import { AgentChatThreadEntity } from 'src/engine/metadata-modules/ai/ai-chat/entities/agent-chat-thread.entity';
import type { WorkspaceEntity } from 'src/engine/core-modules/workspace/workspace.entity';
@Entity('agentTurn')
@Entity({ name: 'agentTurn', schema: 'core' })
export class AgentTurnEntity {
@PrimaryGeneratedColumn('uuid')
id: string;
@Column({ nullable: false, type: 'uuid' })
@Index()
workspaceId: string;
@ManyToOne('WorkspaceEntity', { onDelete: 'CASCADE' })
@JoinColumn({ name: 'workspaceId' })
workspace: Relation<WorkspaceEntity>;
@Column('uuid')
@Index()
threadId: string;
@@ -13,6 +13,7 @@ const isToolPart = (part: ExtendedUIMessagePart): part is ToolUIPart => {
export const mapUIMessagePartsToDBParts = (
uiMessageParts: ExtendedUIMessagePart[],
messageId: string,
workspaceId: string,
): Partial<AgentMessagePartEntity>[] => {
return uiMessageParts
.map((part, index) => {
@@ -20,6 +21,7 @@ export const mapUIMessagePartsToDBParts = (
messageId,
orderIndex: index,
type: part.type,
workspaceId,
};
switch (part.type) {