@memberjunction/ng-conversations 2.112.0 → 2.113.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.d.ts.map +1 -1
- package/dist/lib/components/agent/active-agent-indicator.component.js +13 -15
- package/dist/lib/components/agent/active-agent-indicator.component.js.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.d.ts +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.d.ts.map +1 -1
- package/dist/lib/components/agent/agent-process-panel.component.js +14 -18
- package/dist/lib/components/agent/agent-process-panel.component.js.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/artifact/artifact-share-modal.component.js +11 -11
- package/dist/lib/components/artifact/artifact-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js +30 -24
- package/dist/lib/components/collection/artifact-collection-picker-modal.component.js.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/artifact-create-modal.component.js +10 -8
- package/dist/lib/components/collection/artifact-create-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts +9 -8
- package/dist/lib/components/collection/collection-artifact-card.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-artifact-card.component.js +51 -35
- package/dist/lib/components/collection/collection-artifact-card.component.js.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-form-modal.component.js +6 -5
- package/dist/lib/components/collection/collection-form-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-share-modal.component.js +12 -12
- package/dist/lib/components/collection/collection-share-modal.component.js.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts +1 -1
- package/dist/lib/components/collection/collection-tree.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-tree.component.js +11 -11
- package/dist/lib/components/collection/collection-tree.component.js.map +1 -1
- package/dist/lib/components/collection/collection-view.component.d.ts +29 -10
- package/dist/lib/components/collection/collection-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collection-view.component.js +128 -62
- package/dist/lib/components/collection/collection-view.component.js.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.d.ts +19 -7
- package/dist/lib/components/collection/collections-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/collection/collections-full-view.component.js +99 -69
- package/dist/lib/components/collection/collections-full-view.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts +38 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-chat-area.component.js +303 -181
- package/dist/lib/components/conversation/conversation-chat-area.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-empty-state.component.js +21 -21
- package/dist/lib/components/conversation/conversation-empty-state.component.js.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.d.ts +11 -4
- package/dist/lib/components/conversation/conversation-list.component.d.ts.map +1 -1
- package/dist/lib/components/conversation/conversation-list.component.js +122 -81
- package/dist/lib/components/conversation/conversation-list.component.js.map +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts +1 -1
- package/dist/lib/components/export/export-modal.component.d.ts.map +1 -1
- package/dist/lib/components/export/export-modal.component.js +11 -9
- package/dist/lib/components/export/export-modal.component.js.map +1 -1
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts +25 -0
- package/dist/lib/components/global-tasks/global-tasks-panel.component.d.ts.map +1 -0
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js +206 -0
- package/dist/lib/components/global-tasks/global-tasks-panel.component.js.map +1 -0
- package/dist/lib/components/library/library-full-view.component.d.ts +1 -1
- package/dist/lib/components/library/library-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/library/library-full-view.component.js +6 -5
- package/dist/lib/components/library/library-full-view.component.js.map +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts +1 -1
- package/dist/lib/components/members/members-modal.component.d.ts.map +1 -1
- package/dist/lib/components/members/members-modal.component.js +8 -8
- package/dist/lib/components/members/members-modal.component.js.map +1 -1
- package/dist/lib/components/message/conversation-message-rating.component.d.ts +47 -0
- package/dist/lib/components/message/conversation-message-rating.component.d.ts.map +1 -0
- package/dist/lib/components/message/conversation-message-rating.component.js +224 -0
- package/dist/lib/components/message/conversation-message-rating.component.js.map +1 -0
- package/dist/lib/components/message/message-input-box.component.d.ts +1 -1
- package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input-box.component.js +4 -14
- package/dist/lib/components/message/message-input-box.component.js.map +1 -1
- package/dist/lib/components/message/message-input.component.d.ts +18 -3
- package/dist/lib/components/message/message-input.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-input.component.js +288 -297
- package/dist/lib/components/message/message-input.component.js.map +1 -1
- package/dist/lib/components/message/message-item.component.d.ts +32 -2
- package/dist/lib/components/message/message-item.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-item.component.js +253 -129
- package/dist/lib/components/message/message-item.component.js.map +1 -1
- package/dist/lib/components/message/message-list.component.d.ts +4 -2
- package/dist/lib/components/message/message-list.component.d.ts.map +1 -1
- package/dist/lib/components/message/message-list.component.js +35 -18
- package/dist/lib/components/message/message-list.component.js.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts +7 -1
- package/dist/lib/components/navigation/conversation-navigation.component.d.ts.map +1 -1
- package/dist/lib/components/navigation/conversation-navigation.component.js +24 -14
- package/dist/lib/components/navigation/conversation-navigation.component.js.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.d.ts +1 -1
- package/dist/lib/components/project/project-form-modal.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-form-modal.component.js +7 -7
- package/dist/lib/components/project/project-form-modal.component.js.map +1 -1
- package/dist/lib/components/project/project-selector.component.d.ts +1 -1
- package/dist/lib/components/project/project-selector.component.d.ts.map +1 -1
- package/dist/lib/components/project/project-selector.component.js +10 -10
- package/dist/lib/components/project/project-selector.component.js.map +1 -1
- package/dist/lib/components/search/search-panel.component.d.ts +1 -1
- package/dist/lib/components/search/search-panel.component.d.ts.map +1 -1
- package/dist/lib/components/search/search-panel.component.js +16 -8
- package/dist/lib/components/search/search-panel.component.js.map +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts +1 -1
- package/dist/lib/components/share/share-modal.component.d.ts.map +1 -1
- package/dist/lib/components/share/share-modal.component.js +12 -12
- package/dist/lib/components/share/share-modal.component.js.map +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts +1 -1
- package/dist/lib/components/shared/user-picker.component.d.ts.map +1 -1
- package/dist/lib/components/shared/user-picker.component.js +7 -7
- package/dist/lib/components/shared/user-picker.component.js.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.d.ts.map +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js +1 -1
- package/dist/lib/components/sidebar/conversation-sidebar.component.js.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.d.ts +1 -1
- package/dist/lib/components/task/tasks-full-view.component.d.ts.map +1 -1
- package/dist/lib/components/task/tasks-full-view.component.js +20 -18
- package/dist/lib/components/task/tasks-full-view.component.js.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts +18 -29
- package/dist/lib/components/tasks/tasks-dropdown.component.d.ts.map +1 -1
- package/dist/lib/components/tasks/tasks-dropdown.component.js +178 -218
- package/dist/lib/components/tasks/tasks-dropdown.component.js.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.d.ts +1 -1
- package/dist/lib/components/thread/thread-panel.component.d.ts.map +1 -1
- package/dist/lib/components/thread/thread-panel.component.js +2 -2
- package/dist/lib/components/thread/thread-panel.component.js.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts +15 -9
- package/dist/lib/components/workspace/conversation-workspace.component.d.ts.map +1 -1
- package/dist/lib/components/workspace/conversation-workspace.component.js +126 -79
- package/dist/lib/components/workspace/conversation-workspace.component.js.map +1 -1
- package/dist/lib/conversations.module.d.ts +54 -52
- package/dist/lib/conversations.module.d.ts.map +1 -1
- package/dist/lib/conversations.module.js +11 -3
- package/dist/lib/conversations.module.js.map +1 -1
- package/dist/lib/models/conversation-complete-query.model.d.ts +31 -22
- package/dist/lib/models/conversation-complete-query.model.d.ts.map +1 -1
- package/dist/lib/models/conversation-complete-query.model.js +5 -2
- package/dist/lib/models/conversation-complete-query.model.js.map +1 -1
- package/dist/lib/models/lazy-artifact-info.d.ts +4 -1
- package/dist/lib/models/lazy-artifact-info.d.ts.map +1 -1
- package/dist/lib/models/lazy-artifact-info.js +12 -4
- package/dist/lib/models/lazy-artifact-info.js.map +1 -1
- package/dist/lib/services/active-tasks.service.d.ts +18 -0
- package/dist/lib/services/active-tasks.service.d.ts.map +1 -1
- package/dist/lib/services/active-tasks.service.js +53 -3
- package/dist/lib/services/active-tasks.service.js.map +1 -1
- package/dist/lib/services/agent-state.service.d.ts +1 -1
- package/dist/lib/services/agent-state.service.d.ts.map +1 -1
- package/dist/lib/services/agent-state.service.js +11 -11
- package/dist/lib/services/agent-state.service.js.map +1 -1
- package/dist/lib/services/artifact-permission.service.d.ts +1 -1
- package/dist/lib/services/artifact-permission.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-permission.service.js +15 -13
- package/dist/lib/services/artifact-permission.service.js.map +1 -1
- package/dist/lib/services/artifact-state.service.d.ts +23 -6
- package/dist/lib/services/artifact-state.service.d.ts.map +1 -1
- package/dist/lib/services/artifact-state.service.js +129 -38
- package/dist/lib/services/artifact-state.service.js.map +1 -1
- package/dist/lib/services/artifact-use-tracking.service.d.ts +35 -0
- package/dist/lib/services/artifact-use-tracking.service.d.ts.map +1 -0
- package/dist/lib/services/artifact-use-tracking.service.js +76 -0
- package/dist/lib/services/artifact-use-tracking.service.js.map +1 -0
- package/dist/lib/services/collection-permission.service.d.ts +1 -1
- package/dist/lib/services/collection-permission.service.d.ts.map +1 -1
- package/dist/lib/services/collection-permission.service.js +13 -13
- package/dist/lib/services/collection-permission.service.js.map +1 -1
- package/dist/lib/services/conversation-agent.service.d.ts +30 -3
- package/dist/lib/services/conversation-agent.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-agent.service.js +127 -34
- package/dist/lib/services/conversation-agent.service.js.map +1 -1
- package/dist/lib/services/conversation-state.service.d.ts +14 -1
- package/dist/lib/services/conversation-state.service.d.ts.map +1 -1
- package/dist/lib/services/conversation-state.service.js +36 -9
- package/dist/lib/services/conversation-state.service.js.map +1 -1
- package/dist/lib/services/data-cache.service.d.ts +1 -1
- package/dist/lib/services/data-cache.service.d.ts.map +1 -1
- package/dist/lib/services/data-cache.service.js +13 -13
- package/dist/lib/services/data-cache.service.js.map +1 -1
- package/dist/lib/services/export.service.d.ts +1 -1
- package/dist/lib/services/export.service.d.ts.map +1 -1
- package/dist/lib/services/export.service.js +13 -15
- package/dist/lib/services/export.service.js.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts +1 -1
- package/dist/lib/services/mention-autocomplete.service.d.ts.map +1 -1
- package/dist/lib/services/mention-autocomplete.service.js +5 -5
- package/dist/lib/services/mention-autocomplete.service.js.map +1 -1
- package/dist/lib/services/mention-parser.service.d.ts +1 -1
- package/dist/lib/services/mention-parser.service.d.ts.map +1 -1
- package/dist/lib/services/mention-parser.service.js +16 -13
- package/dist/lib/services/mention-parser.service.js.map +1 -1
- package/dist/lib/services/search.service.d.ts +1 -1
- package/dist/lib/services/search.service.d.ts.map +1 -1
- package/dist/lib/services/search.service.js +32 -26
- package/dist/lib/services/search.service.js.map +1 -1
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +14 -13
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
|
-
import { UserInfo } from '@memberjunction/
|
|
3
|
+
import { UserInfo } from '@memberjunction/core';
|
|
4
4
|
import { AIAgentRunEntity } from '@memberjunction/core-entities';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export type AgentStatus = 'acknowledging' | 'working' | 'completing' | 'completed' | 'error';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-state.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/agent-state.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAmB,UAAU,EAA0B,MAAM,MAAM,CAAC;AAE3E,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-state.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/agent-state.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAmB,UAAU,EAA0B,MAAM,MAAM,CAAC;AAE3E,OAAO,EAAwB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;;AAEjE,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAE7F,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,gBAAgB,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAGa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAC,CAAe;IACxC,OAAO,CAAC,WAAW,CAAC,CAAW;IAC/B,OAAO,CAAC,YAAY,CAAiB;IAGrC,SAAgB,aAAa,gCAAsC;;IAInE,WAAW,IAAI,IAAI;IAInB;;;;OAIG;IACH,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IAalE;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;;OAGG;IACH,eAAe,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;IAUvE;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIzD;;;OAGG;IACG,OAAO,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;OAEG;YACW,gBAAgB;IA8C9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAqC5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;;OAGG;IACG,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BvD;;;OAGG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;yCAtOhC,iBAAiB;6CAAjB,iBAAiB;CA8O7B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, interval } from 'rxjs';
|
|
3
3
|
import { map, shareReplay, switchMap } from 'rxjs/operators';
|
|
4
|
-
import { RunView } from '@memberjunction/
|
|
4
|
+
import { LogStatusEx, RunView } from '@memberjunction/core';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
7
7
|
* Manages agent state and provides real-time updates for active agents
|
|
@@ -48,7 +48,7 @@ export class AgentStateService {
|
|
|
48
48
|
*/
|
|
49
49
|
getActiveAgents(conversationId) {
|
|
50
50
|
if (conversationId) {
|
|
51
|
-
return this.activeAgents$.pipe(map(
|
|
51
|
+
return this.activeAgents$.pipe(map(agents => agents.filter(a => a.run.ConversationID === conversationId)), shareReplay(1));
|
|
52
52
|
}
|
|
53
53
|
return this.activeAgents$;
|
|
54
54
|
}
|
|
@@ -57,7 +57,7 @@ export class AgentStateService {
|
|
|
57
57
|
* @param agentRunId The agent run ID
|
|
58
58
|
*/
|
|
59
59
|
getAgent(agentRunId) {
|
|
60
|
-
return this._activeAgents$.value.find(
|
|
60
|
+
return this._activeAgents$.value.find(a => a.run.ID === agentRunId);
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Manually refreshes active agents
|
|
@@ -74,7 +74,7 @@ export class AgentStateService {
|
|
|
74
74
|
return;
|
|
75
75
|
}
|
|
76
76
|
const timestamp = new Date().toISOString();
|
|
77
|
-
|
|
77
|
+
LogStatusEx({ message: `[${timestamp}] 🤖 AgentStateService.loadActiveAgents - Polling for active agents (conversation: ${conversationId || 'ALL'})`, verboseOnly: true });
|
|
78
78
|
try {
|
|
79
79
|
const rv = new RunView();
|
|
80
80
|
// Valid statuses: Running, Completed, Paused, Failed, Cancelled
|
|
@@ -82,22 +82,22 @@ export class AgentStateService {
|
|
|
82
82
|
if (conversationId) {
|
|
83
83
|
filter += ` AND ConversationID='${conversationId}'`;
|
|
84
84
|
}
|
|
85
|
-
|
|
85
|
+
LogStatusEx({ message: `[${timestamp}] 🤖 AgentStateService - Executing RunView for AI Agent Runs`, verboseOnly: true });
|
|
86
86
|
const result = await rv.RunView({
|
|
87
87
|
EntityName: 'MJ: AI Agent Runs',
|
|
88
88
|
ExtraFilter: filter,
|
|
89
89
|
OrderBy: 'StartedAt DESC',
|
|
90
90
|
MaxRows: 50,
|
|
91
|
-
ResultType: 'entity_object'
|
|
91
|
+
ResultType: 'entity_object'
|
|
92
92
|
}, this.currentUser);
|
|
93
93
|
if (result.Success) {
|
|
94
94
|
const runs = result.Results || [];
|
|
95
|
-
|
|
96
|
-
const agentsWithStatus = runs.map(
|
|
95
|
+
LogStatusEx({ message: `[${timestamp}] 🤖 AgentStateService - Found ${runs.length} active agent(s)`, verboseOnly: true });
|
|
96
|
+
const agentsWithStatus = runs.map(run => this.mapRunToAgentWithStatus(run));
|
|
97
97
|
this._activeAgents$.next(agentsWithStatus);
|
|
98
98
|
// Stop polling if no active agents (optimization to reduce DB load)
|
|
99
99
|
if (runs.length === 0 && this.pollSubscription) {
|
|
100
|
-
|
|
100
|
+
LogStatusEx({ message: `[${timestamp}] 🤖 AgentStateService - No active agents, stopping polling`, verboseOnly: true });
|
|
101
101
|
this.stopPolling();
|
|
102
102
|
}
|
|
103
103
|
}
|
|
@@ -115,7 +115,7 @@ export class AgentStateService {
|
|
|
115
115
|
return {
|
|
116
116
|
run,
|
|
117
117
|
status,
|
|
118
|
-
confidence
|
|
118
|
+
confidence
|
|
119
119
|
};
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
@@ -212,7 +212,7 @@ export class AgentStateService {
|
|
|
212
212
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AgentStateService, [{
|
|
213
213
|
type: Injectable,
|
|
214
214
|
args: [{
|
|
215
|
-
providedIn: 'root'
|
|
215
|
+
providedIn: 'root'
|
|
216
216
|
}]
|
|
217
217
|
}], () => [], null); })();
|
|
218
218
|
//# sourceMappingURL=agent-state.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-state.service.js","sourceRoot":"","sources":["../../../src/lib/services/agent-state.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,eAAe,EAAc,QAAQ,EAAgB,MAAM,MAAM,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"agent-state.service.js","sourceRoot":"","sources":["../../../src/lib/services/agent-state.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UserInfo } from '@memberjunction/
|
|
1
|
+
import { UserInfo } from '@memberjunction/core';
|
|
2
2
|
import { ArtifactPermissionEntity } from '@memberjunction/core-entities';
|
|
3
3
|
import { CollectionPermissionService } from './collection-permission.service';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-permission.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/artifact-permission.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAqB,MAAM,
|
|
1
|
+
{"version":3,"file":"artifact-permission.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/artifact-permission.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { RunView, Metadata } from '@memberjunction/
|
|
2
|
+
import { RunView, Metadata } from '@memberjunction/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "./collection-permission.service";
|
|
5
5
|
export class ArtifactPermissionService {
|
|
@@ -16,10 +16,10 @@ export class ArtifactPermissionService {
|
|
|
16
16
|
EntityName: 'MJ: Artifact Permissions',
|
|
17
17
|
ExtraFilter: `ArtifactID='${artifactId}'`,
|
|
18
18
|
OrderBy: '__mj_CreatedAt ASC',
|
|
19
|
-
ResultType: 'entity_object'
|
|
19
|
+
ResultType: 'entity_object'
|
|
20
20
|
}, currentUser);
|
|
21
21
|
if (result.Success && result.Results) {
|
|
22
|
-
return result.Results.map(
|
|
22
|
+
return result.Results.map(p => this.mapToPermission(p));
|
|
23
23
|
}
|
|
24
24
|
return [];
|
|
25
25
|
}
|
|
@@ -58,7 +58,7 @@ export class ArtifactPermissionService {
|
|
|
58
58
|
EntityName: 'MJ: Artifact Permissions',
|
|
59
59
|
ExtraFilter: `ArtifactID='${artifactId}' AND UserID='${userId}'`,
|
|
60
60
|
MaxRows: 1,
|
|
61
|
-
ResultType: 'entity_object'
|
|
61
|
+
ResultType: 'entity_object'
|
|
62
62
|
}, currentUser);
|
|
63
63
|
if (result.Success && result.Results && result.Results.length > 0) {
|
|
64
64
|
return this.mapToPermission(result.Results[0]);
|
|
@@ -85,7 +85,7 @@ export class ArtifactPermissionService {
|
|
|
85
85
|
sharedByUserId: null,
|
|
86
86
|
sharedByUserName: null,
|
|
87
87
|
sharedAt: artifact.__mj_CreatedAt,
|
|
88
|
-
source: 'owner'
|
|
88
|
+
source: 'owner'
|
|
89
89
|
});
|
|
90
90
|
seenUsers.add(artifact.UserID);
|
|
91
91
|
}
|
|
@@ -95,7 +95,7 @@ export class ArtifactPermissionService {
|
|
|
95
95
|
if (!seenUsers.has(perm.userId)) {
|
|
96
96
|
effectivePermissions.push({
|
|
97
97
|
...perm,
|
|
98
|
-
source: 'explicit'
|
|
98
|
+
source: 'explicit'
|
|
99
99
|
});
|
|
100
100
|
seenUsers.add(perm.userId);
|
|
101
101
|
}
|
|
@@ -118,7 +118,7 @@ export class ArtifactPermissionService {
|
|
|
118
118
|
sharedByUserName: collPerm.sharedByUserName,
|
|
119
119
|
sharedAt: collPerm.sharedAt,
|
|
120
120
|
source: 'collection',
|
|
121
|
-
collectionName: collection.Collection || 'Unknown Collection'
|
|
121
|
+
collectionName: collection.Collection || 'Unknown Collection'
|
|
122
122
|
});
|
|
123
123
|
seenUsers.add(collPerm.userId);
|
|
124
124
|
}
|
|
@@ -206,7 +206,7 @@ export class ArtifactPermissionService {
|
|
|
206
206
|
const [canRead, canEdit, canShare] = await Promise.all([
|
|
207
207
|
this.checkPermission(artifactId, currentUser.ID, 'read', currentUser),
|
|
208
208
|
this.checkPermission(artifactId, currentUser.ID, 'edit', currentUser),
|
|
209
|
-
this.checkPermission(artifactId, currentUser.ID, 'share', currentUser)
|
|
209
|
+
this.checkPermission(artifactId, currentUser.ID, 'share', currentUser)
|
|
210
210
|
]);
|
|
211
211
|
return { canRead, canEdit, canShare };
|
|
212
212
|
}
|
|
@@ -219,7 +219,7 @@ export class ArtifactPermissionService {
|
|
|
219
219
|
EntityName: 'MJ: Artifacts',
|
|
220
220
|
ExtraFilter: `ID='${artifactId}'`,
|
|
221
221
|
MaxRows: 1,
|
|
222
|
-
ResultType: 'entity_object'
|
|
222
|
+
ResultType: 'entity_object'
|
|
223
223
|
}, currentUser);
|
|
224
224
|
if (result.Success && result.Results && result.Results.length > 0) {
|
|
225
225
|
return result.Results[0];
|
|
@@ -233,8 +233,10 @@ export class ArtifactPermissionService {
|
|
|
233
233
|
const rv = new RunView();
|
|
234
234
|
const result = await rv.RunView({
|
|
235
235
|
EntityName: 'MJ: Collection Artifacts',
|
|
236
|
-
ExtraFilter: `
|
|
237
|
-
|
|
236
|
+
ExtraFilter: `ArtifactVersionID IN (
|
|
237
|
+
SELECT ID FROM [__mj].[vwArtifactVersions] WHERE ArtifactID='${artifactId}'
|
|
238
|
+
)`,
|
|
239
|
+
ResultType: 'entity_object'
|
|
238
240
|
}, currentUser);
|
|
239
241
|
return result.Success && result.Results ? result.Results : [];
|
|
240
242
|
}
|
|
@@ -279,7 +281,7 @@ export class ArtifactPermissionService {
|
|
|
279
281
|
canShare: entity.CanShare,
|
|
280
282
|
sharedByUserId: entity.SharedByUserID || null,
|
|
281
283
|
sharedByUserName: entity.SharedByUser || null,
|
|
282
|
-
sharedAt: entity.__mj_CreatedAt
|
|
284
|
+
sharedAt: entity.__mj_CreatedAt
|
|
283
285
|
};
|
|
284
286
|
}
|
|
285
287
|
static ɵfac = function ArtifactPermissionService_Factory(t) { return new (t || ArtifactPermissionService)(i0.ɵɵinject(i1.CollectionPermissionService)); };
|
|
@@ -288,7 +290,7 @@ export class ArtifactPermissionService {
|
|
|
288
290
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactPermissionService, [{
|
|
289
291
|
type: Injectable,
|
|
290
292
|
args: [{
|
|
291
|
-
providedIn: 'root'
|
|
293
|
+
providedIn: 'root'
|
|
292
294
|
}]
|
|
293
295
|
}], () => [{ type: i1.CollectionPermissionService }], null); })();
|
|
294
296
|
//# sourceMappingURL=artifact-permission.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-permission.service.js","sourceRoot":"","sources":["../../../src/lib/services/artifact-permission.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAY,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"artifact-permission.service.js","sourceRoot":"","sources":["../../../src/lib/services/artifact-permission.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
|
-
import { ArtifactEntity } from '@memberjunction/core-entities';
|
|
3
|
-
import { UserInfo } from '@memberjunction/
|
|
2
|
+
import { ArtifactEntity, ArtifactVersionEntity } from '@memberjunction/core-entities';
|
|
3
|
+
import { UserInfo } from '@memberjunction/core';
|
|
4
4
|
import { ArtifactPermissionService } from './artifact-permission.service';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
/**
|
|
@@ -47,6 +47,11 @@ export declare class ArtifactStateService {
|
|
|
47
47
|
* @param versionNumber Optional specific version number
|
|
48
48
|
*/
|
|
49
49
|
openArtifact(id: string, versionNumber?: number): void;
|
|
50
|
+
/**
|
|
51
|
+
* Opens an artifact by version ID
|
|
52
|
+
* @param versionId The artifact version ID
|
|
53
|
+
*/
|
|
54
|
+
openArtifactByVersionId(versionId: string): Promise<void>;
|
|
50
55
|
/**
|
|
51
56
|
* Closes the artifact panel
|
|
52
57
|
*/
|
|
@@ -88,6 +93,17 @@ export declare class ArtifactStateService {
|
|
|
88
93
|
* @returns Array of artifacts
|
|
89
94
|
*/
|
|
90
95
|
loadArtifactsForCollection(collectionId: string, currentUser: UserInfo): Promise<ArtifactEntity[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Loads artifact VERSIONS for a collection (all versions, not deduplicated by artifact ID)
|
|
98
|
+
* This method returns each version as a separate item with its parent artifact metadata
|
|
99
|
+
* @param collectionId The collection ID
|
|
100
|
+
* @param currentUser The current user context
|
|
101
|
+
* @returns Array of objects containing version and parent artifact info
|
|
102
|
+
*/
|
|
103
|
+
loadArtifactVersionsForCollection(collectionId: string, currentUser: UserInfo): Promise<Array<{
|
|
104
|
+
version: ArtifactVersionEntity;
|
|
105
|
+
artifact: ArtifactEntity;
|
|
106
|
+
}>>;
|
|
91
107
|
/**
|
|
92
108
|
* Loads a single artifact by ID
|
|
93
109
|
* @param id The artifact ID
|
|
@@ -118,14 +134,15 @@ export declare class ArtifactStateService {
|
|
|
118
134
|
*/
|
|
119
135
|
deleteArtifact(id: string, currentUser: UserInfo): Promise<boolean>;
|
|
120
136
|
/**
|
|
121
|
-
* Adds an artifact to a collection
|
|
122
|
-
* @param artifactId The artifact ID
|
|
137
|
+
* Adds an artifact version to a collection
|
|
138
|
+
* @param artifactId The artifact ID (for permission checking)
|
|
123
139
|
* @param collectionId The collection ID
|
|
124
140
|
* @param currentUser The current user context
|
|
141
|
+
* @param versionId Optional specific version ID. If not provided, uses latest version
|
|
125
142
|
*/
|
|
126
|
-
addToCollection(artifactId: string, collectionId: string, currentUser: UserInfo): Promise<void>;
|
|
143
|
+
addToCollection(artifactId: string, collectionId: string, currentUser: UserInfo, versionId?: string): Promise<void>;
|
|
127
144
|
/**
|
|
128
|
-
* Removes an artifact from a collection
|
|
145
|
+
* Removes all versions of an artifact from a collection
|
|
129
146
|
* @param artifactId The artifact ID
|
|
130
147
|
* @param collectionId The collection ID
|
|
131
148
|
* @param currentUser The current user context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-state.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/artifact-state.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,UAAU,EAAiB,MAAM,MAAM,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"artifact-state.service.d.ts","sourceRoot":"","sources":["../../../src/lib/services/artifact-state.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
3
3
|
import { map, shareReplay } from 'rxjs/operators';
|
|
4
|
-
import { Metadata, RunView } from '@memberjunction/
|
|
4
|
+
import { Metadata, RunView } from '@memberjunction/core';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "./artifact-permission.service";
|
|
7
7
|
/**
|
|
@@ -21,7 +21,10 @@ export class ArtifactStateService {
|
|
|
21
21
|
isPanelOpen$ = this._isPanelOpen$.asObservable();
|
|
22
22
|
panelMode$ = this._panelMode$.asObservable();
|
|
23
23
|
// Derived observable for active artifact
|
|
24
|
-
activeArtifact$ = combineLatest([
|
|
24
|
+
activeArtifact$ = combineLatest([
|
|
25
|
+
this.activeArtifactId$,
|
|
26
|
+
this._artifacts$
|
|
27
|
+
]).pipe(map(([id, artifacts]) => id ? artifacts.get(id) || null : null), shareReplay(1));
|
|
25
28
|
constructor(artifactPermissionService) {
|
|
26
29
|
this.artifactPermissionService = artifactPermissionService;
|
|
27
30
|
}
|
|
@@ -62,6 +65,27 @@ export class ArtifactStateService {
|
|
|
62
65
|
this._activeVersionNumber$.next(versionNumber || null);
|
|
63
66
|
this._isPanelOpen$.next(true);
|
|
64
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Opens an artifact by version ID
|
|
70
|
+
* @param versionId The artifact version ID
|
|
71
|
+
*/
|
|
72
|
+
async openArtifactByVersionId(versionId) {
|
|
73
|
+
try {
|
|
74
|
+
const md = new Metadata();
|
|
75
|
+
const version = await md.GetEntityObject('MJ: Artifact Versions');
|
|
76
|
+
const loaded = await version.Load(versionId);
|
|
77
|
+
if (loaded) {
|
|
78
|
+
// Open the artifact with the specific version number
|
|
79
|
+
this.openArtifact(version.ArtifactID, version.VersionNumber);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.error('Failed to load artifact version:', versionId);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error('Error loading artifact version:', error);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
65
89
|
/**
|
|
66
90
|
* Closes the artifact panel
|
|
67
91
|
*/
|
|
@@ -122,11 +146,11 @@ export class ArtifactStateService {
|
|
|
122
146
|
ExtraFilter: `ConversationID='${conversationId}'`,
|
|
123
147
|
OrderBy: '__mj_CreatedAt DESC',
|
|
124
148
|
MaxRows: 1000,
|
|
125
|
-
ResultType: 'entity_object'
|
|
149
|
+
ResultType: 'entity_object'
|
|
126
150
|
}, currentUser);
|
|
127
151
|
if (result.Success && result.Results) {
|
|
128
152
|
// Cache all artifacts
|
|
129
|
-
result.Results.forEach(
|
|
153
|
+
result.Results.forEach(artifact => this.cacheArtifact(artifact));
|
|
130
154
|
return result.Results;
|
|
131
155
|
}
|
|
132
156
|
return [];
|
|
@@ -145,34 +169,80 @@ export class ArtifactStateService {
|
|
|
145
169
|
async loadArtifactsForCollection(collectionId, currentUser) {
|
|
146
170
|
try {
|
|
147
171
|
const rv = new RunView();
|
|
148
|
-
//
|
|
149
|
-
const
|
|
150
|
-
EntityName: 'MJ:
|
|
151
|
-
ExtraFilter: `
|
|
172
|
+
// Load artifacts through the collection join - use subquery to get artifact IDs from versions
|
|
173
|
+
const artifactsResult = await rv.RunView({
|
|
174
|
+
EntityName: 'MJ: Artifacts',
|
|
175
|
+
ExtraFilter: `ID IN (
|
|
176
|
+
SELECT DISTINCT av.ArtifactID
|
|
177
|
+
FROM [__mj].[vwArtifactVersions] av
|
|
178
|
+
INNER JOIN [__mj].[vwCollectionArtifacts] ca ON ca.ArtifactVersionID = av.ID
|
|
179
|
+
WHERE ca.CollectionID = '${collectionId}'
|
|
180
|
+
)`,
|
|
152
181
|
OrderBy: '__mj_CreatedAt DESC',
|
|
153
|
-
|
|
154
|
-
ResultType: 'entity_object',
|
|
182
|
+
ResultType: 'entity_object'
|
|
155
183
|
}, currentUser);
|
|
156
|
-
if (
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
184
|
+
if (artifactsResult.Success && artifactsResult.Results) {
|
|
185
|
+
artifactsResult.Results.forEach(artifact => this.cacheArtifact(artifact));
|
|
186
|
+
return artifactsResult.Results;
|
|
187
|
+
}
|
|
188
|
+
return [];
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
console.error('Error loading collection artifacts:', error);
|
|
192
|
+
return [];
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Loads artifact VERSIONS for a collection (all versions, not deduplicated by artifact ID)
|
|
197
|
+
* This method returns each version as a separate item with its parent artifact metadata
|
|
198
|
+
* @param collectionId The collection ID
|
|
199
|
+
* @param currentUser The current user context
|
|
200
|
+
* @returns Array of objects containing version and parent artifact info
|
|
201
|
+
*/
|
|
202
|
+
async loadArtifactVersionsForCollection(collectionId, currentUser) {
|
|
203
|
+
try {
|
|
204
|
+
const rv = new RunView();
|
|
205
|
+
// Load ALL versions in collection (no DISTINCT - each version is separate)
|
|
206
|
+
const versionResult = await rv.RunView({
|
|
207
|
+
EntityName: 'MJ: Artifact Versions',
|
|
208
|
+
ExtraFilter: `ID IN (
|
|
209
|
+
SELECT ca.ArtifactVersionID
|
|
210
|
+
FROM [__mj].[vwCollectionArtifacts] ca
|
|
211
|
+
WHERE ca.CollectionID='${collectionId}'
|
|
212
|
+
)`,
|
|
213
|
+
OrderBy: '__mj_UpdatedAt DESC',
|
|
214
|
+
ResultType: 'entity_object'
|
|
215
|
+
}, currentUser);
|
|
216
|
+
if (!versionResult.Success || !versionResult.Results) {
|
|
217
|
+
return [];
|
|
218
|
+
}
|
|
219
|
+
// Load parent artifacts for display metadata
|
|
220
|
+
const artifactIds = [...new Set(versionResult.Results.map(v => v.ArtifactID))];
|
|
221
|
+
const artifactMap = new Map();
|
|
222
|
+
if (artifactIds.length > 0) {
|
|
223
|
+
const artifactFilter = artifactIds.map(id => `ID='${id}'`).join(' OR ');
|
|
224
|
+
const artifactResult = await rv.RunView({
|
|
162
225
|
EntityName: 'MJ: Artifacts',
|
|
163
|
-
ExtraFilter:
|
|
164
|
-
|
|
165
|
-
ResultType: 'entity_object',
|
|
226
|
+
ExtraFilter: artifactFilter,
|
|
227
|
+
ResultType: 'entity_object'
|
|
166
228
|
}, currentUser);
|
|
167
|
-
if (
|
|
168
|
-
|
|
169
|
-
|
|
229
|
+
if (artifactResult.Success && artifactResult.Results) {
|
|
230
|
+
artifactResult.Results.forEach(a => {
|
|
231
|
+
artifactMap.set(a.ID, a);
|
|
232
|
+
this.cacheArtifact(a); // Cache parent artifacts
|
|
233
|
+
});
|
|
170
234
|
}
|
|
171
235
|
}
|
|
172
|
-
|
|
236
|
+
// Combine version + artifact
|
|
237
|
+
return versionResult.Results
|
|
238
|
+
.map(version => ({
|
|
239
|
+
version,
|
|
240
|
+
artifact: artifactMap.get(version.ArtifactID)
|
|
241
|
+
}))
|
|
242
|
+
.filter(item => item.artifact != null);
|
|
173
243
|
}
|
|
174
244
|
catch (error) {
|
|
175
|
-
console.error('Error loading collection
|
|
245
|
+
console.error('Error loading collection artifact versions:', error);
|
|
176
246
|
return [];
|
|
177
247
|
}
|
|
178
248
|
}
|
|
@@ -277,28 +347,45 @@ export class ArtifactStateService {
|
|
|
277
347
|
}
|
|
278
348
|
}
|
|
279
349
|
/**
|
|
280
|
-
* Adds an artifact to a collection
|
|
281
|
-
* @param artifactId The artifact ID
|
|
350
|
+
* Adds an artifact version to a collection
|
|
351
|
+
* @param artifactId The artifact ID (for permission checking)
|
|
282
352
|
* @param collectionId The collection ID
|
|
283
353
|
* @param currentUser The current user context
|
|
354
|
+
* @param versionId Optional specific version ID. If not provided, uses latest version
|
|
284
355
|
*/
|
|
285
|
-
async addToCollection(artifactId, collectionId, currentUser) {
|
|
356
|
+
async addToCollection(artifactId, collectionId, currentUser, versionId) {
|
|
286
357
|
// Check edit permission (required to modify collection membership)
|
|
287
358
|
const canEdit = await this.artifactPermissionService.checkPermission(artifactId, currentUser.ID, 'edit', currentUser);
|
|
288
359
|
if (!canEdit) {
|
|
289
360
|
throw new Error('You do not have permission to add this artifact to a collection');
|
|
290
361
|
}
|
|
362
|
+
// Get version ID if not provided
|
|
363
|
+
let targetVersionId = versionId;
|
|
364
|
+
if (!targetVersionId) {
|
|
365
|
+
const rv = new RunView();
|
|
366
|
+
const versionResult = await rv.RunView({
|
|
367
|
+
EntityName: 'MJ: Artifact Versions',
|
|
368
|
+
ExtraFilter: `ArtifactID='${artifactId}'`,
|
|
369
|
+
OrderBy: 'VersionNumber DESC',
|
|
370
|
+
MaxRows: 1,
|
|
371
|
+
ResultType: 'entity_object'
|
|
372
|
+
}, currentUser);
|
|
373
|
+
if (!versionResult.Success || !versionResult.Results || versionResult.Results.length === 0) {
|
|
374
|
+
throw new Error('No versions found for artifact');
|
|
375
|
+
}
|
|
376
|
+
targetVersionId = versionResult.Results[0].ID;
|
|
377
|
+
}
|
|
291
378
|
const md = new Metadata();
|
|
292
379
|
const collectionArtifact = await md.GetEntityObject('MJ: Collection Artifacts', currentUser);
|
|
293
380
|
collectionArtifact.CollectionID = collectionId;
|
|
294
|
-
collectionArtifact.
|
|
381
|
+
collectionArtifact.ArtifactVersionID = targetVersionId;
|
|
295
382
|
const saved = await collectionArtifact.Save();
|
|
296
383
|
if (!saved) {
|
|
297
384
|
throw new Error('Failed to add artifact to collection');
|
|
298
385
|
}
|
|
299
386
|
}
|
|
300
387
|
/**
|
|
301
|
-
* Removes an artifact from a collection
|
|
388
|
+
* Removes all versions of an artifact from a collection
|
|
302
389
|
* @param artifactId The artifact ID
|
|
303
390
|
* @param collectionId The collection ID
|
|
304
391
|
* @param currentUser The current user context
|
|
@@ -310,11 +397,13 @@ export class ArtifactStateService {
|
|
|
310
397
|
throw new Error('You do not have permission to remove this artifact from a collection');
|
|
311
398
|
}
|
|
312
399
|
const rv = new RunView();
|
|
400
|
+
// Find all versions of this artifact in the collection
|
|
313
401
|
const result = await rv.RunView({
|
|
314
402
|
EntityName: 'MJ: Collection Artifacts',
|
|
315
|
-
ExtraFilter: `CollectionID='${collectionId}' AND
|
|
316
|
-
|
|
317
|
-
|
|
403
|
+
ExtraFilter: `CollectionID='${collectionId}' AND ArtifactVersionID IN (
|
|
404
|
+
SELECT ID FROM [__mj].[vwArtifactVersions] WHERE ArtifactID='${artifactId}'
|
|
405
|
+
)`,
|
|
406
|
+
ResultType: 'entity_object'
|
|
318
407
|
}, currentUser);
|
|
319
408
|
if (!result.Success) {
|
|
320
409
|
throw new Error(result.ErrorMessage || 'Failed to find collection artifact');
|
|
@@ -322,11 +411,13 @@ export class ArtifactStateService {
|
|
|
322
411
|
if (!result.Results || result.Results.length === 0) {
|
|
323
412
|
throw new Error('Collection artifact link not found');
|
|
324
413
|
}
|
|
325
|
-
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
414
|
+
// Delete all version associations
|
|
415
|
+
for (const collectionArtifact of result.Results) {
|
|
416
|
+
const deleted = await collectionArtifact.Delete();
|
|
417
|
+
if (!deleted) {
|
|
418
|
+
const errorMsg = collectionArtifact.LatestResult?.Message || 'Failed to remove artifact from collection';
|
|
419
|
+
throw new Error(errorMsg);
|
|
420
|
+
}
|
|
330
421
|
}
|
|
331
422
|
}
|
|
332
423
|
static ɵfac = function ArtifactStateService_Factory(t) { return new (t || ArtifactStateService)(i0.ɵɵinject(i1.ArtifactPermissionService)); };
|
|
@@ -335,7 +426,7 @@ export class ArtifactStateService {
|
|
|
335
426
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ArtifactStateService, [{
|
|
336
427
|
type: Injectable,
|
|
337
428
|
args: [{
|
|
338
|
-
providedIn: 'root'
|
|
429
|
+
providedIn: 'root'
|
|
339
430
|
}]
|
|
340
431
|
}], () => [{ type: i1.ArtifactPermissionService }], null); })();
|
|
341
432
|
//# sourceMappingURL=artifact-state.service.js.map
|