From 33f29cc3fdef66ca08434535e3fd0763ac809387 Mon Sep 17 00:00:00 2001 From: Olivier Sambourg Date: Sat, 17 Feb 2024 01:37:58 +0100 Subject: [PATCH] feat: display editor in versions history --- .../flows/flow-version/flow-version.service.ts | 7 ++++++- packages/shared/src/lib/flows/flow-version.ts | 3 +++ .../version-history.component.html | 4 ++-- .../version-history/version-history.component.ts | 16 ++++++++++------ 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/packages/server/api/src/app/flows/flow-version/flow-version.service.ts b/packages/server/api/src/app/flows/flow-version/flow-version.service.ts index c58881fefb..a816b83308 100644 --- a/packages/server/api/src/app/flows/flow-version/flow-version.service.ts +++ b/packages/server/api/src/app/flows/flow-version/flow-version.service.ts @@ -201,7 +201,12 @@ export const flowVersionService = { }, }) const paginationResult = await paginator.paginate( - flowVersionRepo().createQueryBuilder('flow_version').where({ + flowVersionRepo().createQueryBuilder('flow_version').innerJoinAndMapOne( + 'flow_version.updatedByUser', + 'user', + 'user', + 'flow_version.updatedBy = "user"."id"', + ).where({ flowId, }), ) diff --git a/packages/shared/src/lib/flows/flow-version.ts b/packages/shared/src/lib/flows/flow-version.ts index 84d5043eb4..bc74fc4873 100755 --- a/packages/shared/src/lib/flows/flow-version.ts +++ b/packages/shared/src/lib/flows/flow-version.ts @@ -2,6 +2,7 @@ import { BaseModelSchema, Nullable } from '../common/base-model' import { ApId } from '../common/id-generator' import { Trigger } from './triggers/trigger' import { Static, Type } from '@sinclair/typebox' +import { User } from '../user' export type FlowVersionId = ApId @@ -28,6 +29,8 @@ export const FlowVersionMetadata = Type.Object({ displayName: Type.String(), valid: Type.Boolean(), state: Type.Enum(FlowVersionState), + updatedBy: Nullable(Type.String()), + updatedByUser: Nullable(User), }) export type FlowVersionMetadata = Static diff --git a/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.html b/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.html index f8ac12dc72..3dc86215a0 100644 --- a/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.html +++ b/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.html @@ -9,7 +9,7 @@
{{version.created |date:'mediumDate' }}, {{version.created |date:'shortTime' }}
Version - #{{flowVersions.data.length - idx}}
+ #{{flowVersions.data.length - idx}} ({{version.updatedByUser?.email}})
@@ -73,4 +73,4 @@ - \ No newline at end of file + diff --git a/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.ts b/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.ts index 85d3a54816..798fd51323 100644 --- a/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.ts +++ b/packages/ui/feature-builder-left-sidebar/src/lib/components/version-history/version-history.component.ts @@ -1,4 +1,8 @@ -import { FlowOperationType, FlowVersion, SeekPage } from '@activepieces/shared'; +import { + FlowOperationType, + FlowVersionMetadata, + SeekPage, +} from '@activepieces/shared'; import { FlowService } from '@activepieces/ui/common'; import { BuilderSelectors, @@ -32,13 +36,13 @@ import { MatDialog } from '@angular/material/dialog'; }) export class VersionHistoryComponent { sideBarDisplayName = $localize`Versions`; - flowVersions$: Observable>; + flowVersions$: Observable>; useAsDraft$?: Observable; rewritingDraft = false; - publishedVersion$: Observable; + publishedVersion$: Observable; draftVersionId$: Observable; displayVersion$?: Observable; - viewedVersion$: Observable; + viewedVersion$: Observable; constructor( private flowService: FlowService, private store: Store, @@ -58,7 +62,7 @@ export class VersionHistoryComponent { ); } - useAsDraft(flowVersion: FlowVersion, versionNumber: number) { + useAsDraft(flowVersion: FlowVersionMetadata, versionNumber: number) { if (this.rewritingDraft) { return; } @@ -109,7 +113,7 @@ export class VersionHistoryComponent { ); } - displayVersion(flowVersion: FlowVersion) { + displayVersion(flowVersion: FlowVersionMetadata) { this.displayVersion$ = forkJoin({ flow: this.flowService.get(flowVersion.flowId, flowVersion.id), published: this.store