@abyss-project/console 8.0.0 → 9.1.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/CHANGELOG.md +12 -0
- package/dist/types/dto/internal-ticket-activity.dto.d.ts +15 -4
- package/dist/types/dto/internal-ticket-activity.dto.js.map +1 -1
- package/dist/types/enum/internal-ticket.enum.d.ts +8 -2
- package/dist/types/enum/internal-ticket.enum.js +9 -2
- package/dist/types/enum/internal-ticket.enum.js.map +1 -1
- package/dist/types/interface/models/internal-ticket-approval-rule.model.d.ts +1 -0
- package/dist/types/interface/models/internal-ticket-approval.model.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 9.1.0
|
|
4
|
+
|
|
5
|
+
- `IInternalTicketApproval.adminGroupId: string | null` — approvals sharing it form one admin group (#473): the first admin who decides settles it, and the API withdraws the others' pending rows in the same transaction. Null on every other approval.
|
|
6
|
+
- `IInternalTicketApprovalRule.approverOrganizationAdmins: boolean` — the rule addresses the organization's admins instead of `approverUserId`, which is kept as the record of the member it named.
|
|
7
|
+
- `InternalTicketActivityType.APPROVAL_REASSIGNED` with `IApprovalReassignedActivityData` (`fromUserId`, `toUserIds`, `previousApprovalId`, optional `adminGroupId`) — a departed member's pending approval handed to the admins. `adminGroupId` is absent, and `toUserIds` empty, when every admin was already waiting on the ticket.
|
|
8
|
+
- `InternalTicketApprovalWithdrawalReason.ADMIN_GROUP_DECIDED`, and the optional `reason` and `decidedApprovalId` on `IApprovalWithdrawnActivityData` — set when an approval was closed because another admin of its group decided first. Columns added by the API migration `20260915180000-internal-ticket-approval-admin-group`.
|
|
9
|
+
|
|
10
|
+
## 9.0.0
|
|
11
|
+
|
|
12
|
+
- **BREAKING** — `InternalTicketActivityType.BOARD_CARD_CREATED` and `IBoardCardCreatedActivityData` are removed. Linking a card never created one: the activity is now `BOARD_CARD_LINKED`, and unlinking writes `BOARD_CARD_UNLINKED`. Both carry `IBoardCardLinkedActivityData` (`boardId: string | null`, `boardCardId: string`); `boardId` is `null` only on rows migrated from `BOARD_CARD_CREATED` whose ticket no longer holds that card. Existing rows are rewritten by the API migration `20260915140000-internal-ticket-board-card-activity-types`.
|
|
13
|
+
- `InternalTicketRefusal.BOARD_CARD_LINKED_TO_ANOTHER_TICKET` — answered with a 409 when the card already tracks another ticket (previously an untranslated 500).
|
|
14
|
+
|
|
3
15
|
## 1.0.80
|
|
4
16
|
|
|
5
17
|
- chore(deps): bump `axios` floor from `^1.6.0` to `^1.13.6` to align with the rest of the Abyss workspace (security advisories CVE-2023-45857 / CVE-2024-39338) and pick up the `AxiosHeaders` API. SDK surface unchanged. The legacy `defaults.headers.common[...]` API still used by `AbyssConsoleCore.setConfig` remains supported across this range; end-to-end auth-header propagation continues to be exercised by the consuming `apps/api` integration suite (no functional change observed).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InternalTicketActivityType } from '../enum';
|
|
1
|
+
import { InternalTicketActivityType, InternalTicketApprovalWithdrawalReason } from '../enum';
|
|
2
2
|
export interface IStatusChangedActivityData {
|
|
3
3
|
fromStatus: string | null;
|
|
4
4
|
toStatus: string;
|
|
@@ -48,8 +48,9 @@ export interface IAttachmentRemovedActivityData {
|
|
|
48
48
|
}
|
|
49
49
|
export type IArchivedActivityData = Record<string, never>;
|
|
50
50
|
export type IUnarchivedActivityData = Record<string, never>;
|
|
51
|
-
export interface
|
|
52
|
-
|
|
51
|
+
export interface IBoardCardLinkedActivityData {
|
|
52
|
+
boardId: string | null;
|
|
53
|
+
boardCardId: string;
|
|
53
54
|
}
|
|
54
55
|
export interface IFollowerAddedActivityData {
|
|
55
56
|
followerUserId: string;
|
|
@@ -85,6 +86,14 @@ export interface IApprovalDecidedActivityData {
|
|
|
85
86
|
export interface IApprovalWithdrawnActivityData {
|
|
86
87
|
approvalId: string;
|
|
87
88
|
approverUserId: string;
|
|
89
|
+
reason?: InternalTicketApprovalWithdrawalReason;
|
|
90
|
+
decidedApprovalId?: string;
|
|
91
|
+
}
|
|
92
|
+
export interface IApprovalReassignedActivityData {
|
|
93
|
+
fromUserId: string;
|
|
94
|
+
toUserIds: string[];
|
|
95
|
+
previousApprovalId: string;
|
|
96
|
+
adminGroupId?: string;
|
|
88
97
|
}
|
|
89
98
|
export type InternalTicketActivityDataMap = {
|
|
90
99
|
[InternalTicketActivityType.STATUS_CHANGED]: IStatusChangedActivityData;
|
|
@@ -99,7 +108,8 @@ export type InternalTicketActivityDataMap = {
|
|
|
99
108
|
[InternalTicketActivityType.ATTACHMENT_REMOVED]: IAttachmentRemovedActivityData;
|
|
100
109
|
[InternalTicketActivityType.ARCHIVED]: IArchivedActivityData;
|
|
101
110
|
[InternalTicketActivityType.UNARCHIVED]: IUnarchivedActivityData;
|
|
102
|
-
[InternalTicketActivityType.
|
|
111
|
+
[InternalTicketActivityType.BOARD_CARD_LINKED]: IBoardCardLinkedActivityData;
|
|
112
|
+
[InternalTicketActivityType.BOARD_CARD_UNLINKED]: IBoardCardLinkedActivityData;
|
|
103
113
|
[InternalTicketActivityType.FOLLOWER_ADDED]: IFollowerAddedActivityData;
|
|
104
114
|
[InternalTicketActivityType.FOLLOWER_REMOVED]: IFollowerRemovedActivityData;
|
|
105
115
|
[InternalTicketActivityType.TAG_ADDED]: ITagAddedActivityData;
|
|
@@ -109,5 +119,6 @@ export type InternalTicketActivityDataMap = {
|
|
|
109
119
|
[InternalTicketActivityType.APPROVAL_REQUESTED]: IApprovalRequestedActivityData;
|
|
110
120
|
[InternalTicketActivityType.APPROVAL_DECIDED]: IApprovalDecidedActivityData;
|
|
111
121
|
[InternalTicketActivityType.APPROVAL_WITHDRAWN]: IApprovalWithdrawnActivityData;
|
|
122
|
+
[InternalTicketActivityType.APPROVAL_REASSIGNED]: IApprovalReassignedActivityData;
|
|
112
123
|
};
|
|
113
124
|
export type InternalTicketActivityData = InternalTicketActivityDataMap[InternalTicketActivityType];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-ticket-activity.dto.js","sourceRoot":"","sources":["../../../src/types/dto/internal-ticket-activity.dto.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"internal-ticket-activity.dto.js","sourceRoot":"","sources":["../../../src/types/dto/internal-ticket-activity.dto.ts"],"names":[],"mappings":";;AAAA,kCAA6F"}
|
|
@@ -54,7 +54,8 @@ export declare enum InternalTicketActivityType {
|
|
|
54
54
|
ATTACHMENT_REMOVED = "ATTACHMENT_REMOVED",
|
|
55
55
|
ARCHIVED = "ARCHIVED",
|
|
56
56
|
UNARCHIVED = "UNARCHIVED",
|
|
57
|
-
|
|
57
|
+
BOARD_CARD_LINKED = "BOARD_CARD_LINKED",
|
|
58
|
+
BOARD_CARD_UNLINKED = "BOARD_CARD_UNLINKED",
|
|
58
59
|
FOLLOWER_ADDED = "FOLLOWER_ADDED",
|
|
59
60
|
FOLLOWER_REMOVED = "FOLLOWER_REMOVED",
|
|
60
61
|
TAG_ADDED = "TAG_ADDED",
|
|
@@ -63,7 +64,11 @@ export declare enum InternalTicketActivityType {
|
|
|
63
64
|
ARTIFACT_REMOVED = "ARTIFACT_REMOVED",
|
|
64
65
|
APPROVAL_REQUESTED = "APPROVAL_REQUESTED",
|
|
65
66
|
APPROVAL_DECIDED = "APPROVAL_DECIDED",
|
|
66
|
-
APPROVAL_WITHDRAWN = "APPROVAL_WITHDRAWN"
|
|
67
|
+
APPROVAL_WITHDRAWN = "APPROVAL_WITHDRAWN",
|
|
68
|
+
APPROVAL_REASSIGNED = "APPROVAL_REASSIGNED"
|
|
69
|
+
}
|
|
70
|
+
export declare enum InternalTicketApprovalWithdrawalReason {
|
|
71
|
+
ADMIN_GROUP_DECIDED = "ADMIN_GROUP_DECIDED"
|
|
67
72
|
}
|
|
68
73
|
export declare enum InternalTicketSectionVisibility {
|
|
69
74
|
OPEN = "OPEN",
|
|
@@ -111,6 +116,7 @@ export declare enum InternalTicketRefusal {
|
|
|
111
116
|
AUTHOR_OR_AGENT_ONLY = "AUTHOR_OR_AGENT_ONLY",
|
|
112
117
|
ASSIGNEE_NOT_AGENT = "ASSIGNEE_NOT_AGENT",
|
|
113
118
|
BOARD_CARD_ALREADY_LINKED = "BOARD_CARD_ALREADY_LINKED",
|
|
119
|
+
BOARD_CARD_LINKED_TO_ANOTHER_TICKET = "BOARD_CARD_LINKED_TO_ANOTHER_TICKET",
|
|
114
120
|
TRACKING_LINK_EXPIRED = "TRACKING_LINK_EXPIRED",
|
|
115
121
|
NOT_FOUND = "NOT_FOUND",
|
|
116
122
|
UNKNOWN = "UNKNOWN"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InternalTicketRefusal = exports.InternalTicketSystemView = exports.InternalTicketOrderDirection = exports.InternalTicketOrderBy = exports.ArtifactValueType = exports.InternalTicketApprovalState = exports.InternalTicketApprovalDecision = exports.InternalTicketSectionVisibility = exports.InternalTicketActivityType = exports.InternalTicketStatusReason = exports.InternalTicketStatus = exports.InternalTicketSSEEvent = void 0;
|
|
3
|
+
exports.InternalTicketRefusal = exports.InternalTicketSystemView = exports.InternalTicketOrderDirection = exports.InternalTicketOrderBy = exports.ArtifactValueType = exports.InternalTicketApprovalState = exports.InternalTicketApprovalDecision = exports.InternalTicketSectionVisibility = exports.InternalTicketApprovalWithdrawalReason = exports.InternalTicketActivityType = exports.InternalTicketStatusReason = exports.InternalTicketStatus = exports.InternalTicketSSEEvent = void 0;
|
|
4
4
|
var InternalTicketSSEEvent;
|
|
5
5
|
(function (InternalTicketSSEEvent) {
|
|
6
6
|
InternalTicketSSEEvent["TICKET_UPDATED"] = "TICKET_UPDATED";
|
|
@@ -61,7 +61,8 @@ var InternalTicketActivityType;
|
|
|
61
61
|
InternalTicketActivityType["ATTACHMENT_REMOVED"] = "ATTACHMENT_REMOVED";
|
|
62
62
|
InternalTicketActivityType["ARCHIVED"] = "ARCHIVED";
|
|
63
63
|
InternalTicketActivityType["UNARCHIVED"] = "UNARCHIVED";
|
|
64
|
-
InternalTicketActivityType["
|
|
64
|
+
InternalTicketActivityType["BOARD_CARD_LINKED"] = "BOARD_CARD_LINKED";
|
|
65
|
+
InternalTicketActivityType["BOARD_CARD_UNLINKED"] = "BOARD_CARD_UNLINKED";
|
|
65
66
|
InternalTicketActivityType["FOLLOWER_ADDED"] = "FOLLOWER_ADDED";
|
|
66
67
|
InternalTicketActivityType["FOLLOWER_REMOVED"] = "FOLLOWER_REMOVED";
|
|
67
68
|
InternalTicketActivityType["TAG_ADDED"] = "TAG_ADDED";
|
|
@@ -71,7 +72,12 @@ var InternalTicketActivityType;
|
|
|
71
72
|
InternalTicketActivityType["APPROVAL_REQUESTED"] = "APPROVAL_REQUESTED";
|
|
72
73
|
InternalTicketActivityType["APPROVAL_DECIDED"] = "APPROVAL_DECIDED";
|
|
73
74
|
InternalTicketActivityType["APPROVAL_WITHDRAWN"] = "APPROVAL_WITHDRAWN";
|
|
75
|
+
InternalTicketActivityType["APPROVAL_REASSIGNED"] = "APPROVAL_REASSIGNED";
|
|
74
76
|
})(InternalTicketActivityType || (exports.InternalTicketActivityType = InternalTicketActivityType = {}));
|
|
77
|
+
var InternalTicketApprovalWithdrawalReason;
|
|
78
|
+
(function (InternalTicketApprovalWithdrawalReason) {
|
|
79
|
+
InternalTicketApprovalWithdrawalReason["ADMIN_GROUP_DECIDED"] = "ADMIN_GROUP_DECIDED";
|
|
80
|
+
})(InternalTicketApprovalWithdrawalReason || (exports.InternalTicketApprovalWithdrawalReason = InternalTicketApprovalWithdrawalReason = {}));
|
|
75
81
|
var InternalTicketSectionVisibility;
|
|
76
82
|
(function (InternalTicketSectionVisibility) {
|
|
77
83
|
InternalTicketSectionVisibility["OPEN"] = "OPEN";
|
|
@@ -126,6 +132,7 @@ var InternalTicketRefusal;
|
|
|
126
132
|
InternalTicketRefusal["AUTHOR_OR_AGENT_ONLY"] = "AUTHOR_OR_AGENT_ONLY";
|
|
127
133
|
InternalTicketRefusal["ASSIGNEE_NOT_AGENT"] = "ASSIGNEE_NOT_AGENT";
|
|
128
134
|
InternalTicketRefusal["BOARD_CARD_ALREADY_LINKED"] = "BOARD_CARD_ALREADY_LINKED";
|
|
135
|
+
InternalTicketRefusal["BOARD_CARD_LINKED_TO_ANOTHER_TICKET"] = "BOARD_CARD_LINKED_TO_ANOTHER_TICKET";
|
|
129
136
|
InternalTicketRefusal["TRACKING_LINK_EXPIRED"] = "TRACKING_LINK_EXPIRED";
|
|
130
137
|
InternalTicketRefusal["NOT_FOUND"] = "NOT_FOUND";
|
|
131
138
|
InternalTicketRefusal["UNKNOWN"] = "UNKNOWN";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-ticket.enum.js","sourceRoot":"","sources":["../../../src/types/enum/internal-ticket.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAqBX;AArBD,WAAY,sBAAsB;IAChC,2DAAiC,CAAA;IACjC,6DAAmC,CAAA;IACnC,iEAAuC,CAAA;IACvC,2DAAiC,CAAA;IACjC,6DAAmC,CAAA;IACnC,6DAAmC,CAAA;IACnC,6DAAmC,CAAA;IACnC,+DAAqC,CAAA;IACrC,mEAAyC,CAAA;IACzC,2DAAiC,CAAA;IACjC,+DAAqC,CAAA;IACrC,2DAAiC,CAAA;IACjC,+DAAqC,CAAA;IACrC,2DAAiC,CAAA;IACjC,+DAAqC,CAAA;IACrC,+DAAqC,CAAA;IACrC,iDAAuB,CAAA;IACvB,qDAA2B,CAAA;IAC3B,2DAAiC,CAAA;IACjC,+DAAqC,CAAA;AACvC,CAAC,EArBW,sBAAsB,sCAAtB,sBAAsB,QAqBjC;AAED,IAAY,oBAWX;AAXD,WAAY,oBAAoB;IAC9B,yDAAiC,CAAA;IACjC,6DAAqC,CAAA;IAErC,6DAAqC,CAAA;IAErC,+DAAuC,CAAA;IACvC,mDAA2B,CAAA;IAC3B,6CAAqB,CAAA;IACrB,yCAAiB,CAAA;IACjB,6CAAqB,CAAA;AACvB,CAAC,EAXW,oBAAoB,oCAApB,oBAAoB,QAW/B;AAED,IAAY,0BAYX;AAZD,WAAY,0BAA0B;IACpC,2DAA6B,CAAA;IAC7B,yDAA2B,CAAA;IAC3B,2DAA6B,CAAA;IAE7B,mEAAqC,CAAA;IAErC,mEAAqC,CAAA;IACrC,2EAA6C,CAAA;IAC7C,iEAAmC,CAAA;IACnC,6DAA+B,CAAA;IAC/B,iEAAmC,CAAA;AACrC,CAAC,EAZW,0BAA0B,0CAA1B,0BAA0B,QAYrC;AAED,IAAY,
|
|
1
|
+
{"version":3,"file":"internal-ticket.enum.js","sourceRoot":"","sources":["../../../src/types/enum/internal-ticket.enum.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ export interface IInternalTicketApproval {
|
|
|
12
12
|
comment: string | null;
|
|
13
13
|
withdrawnAt: Date | null;
|
|
14
14
|
lastRemindedAt: Date | null;
|
|
15
|
+
adminGroupId: string | null;
|
|
15
16
|
createdAt?: Date;
|
|
16
17
|
updatedAt?: Date;
|
|
17
18
|
internalTicketApprovalRule?: IInternalTicketApprovalRule;
|