@ever-gauzy/plugin-integration-plane-api 0.1.0 → 0.1.1
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/README.md +1 -1
- package/dist/config/serializers/analytics/analytics.serializer.d.ts +4 -0
- package/dist/config/serializers/analytics/analytics.serializer.js +1 -0
- package/dist/config/serializers/analytics/analytics.serializer.js.map +1 -1
- package/dist/config/serializers/cycles/cycle.serializer.d.ts +9 -0
- package/dist/config/serializers/cycles/cycle.serializer.js +32 -2
- package/dist/config/serializers/cycles/cycle.serializer.js.map +1 -1
- package/dist/config/serializers/index.d.ts +1 -0
- package/dist/config/serializers/index.js +1 -0
- package/dist/config/serializers/index.js.map +1 -1
- package/dist/config/serializers/issue-link/issue-link.serializer.js +6 -3
- package/dist/config/serializers/issue-link/issue-link.serializer.js.map +1 -1
- package/dist/config/serializers/modules/module.serializer.js +6 -10
- package/dist/config/serializers/modules/module.serializer.js.map +1 -1
- package/dist/config/serializers/notification/notification.serializer.js +3 -2
- package/dist/config/serializers/notification/notification.serializer.js.map +1 -1
- package/dist/config/serializers/recent-visits/recent-visits.serializer.js +2 -2
- package/dist/config/serializers/recent-visits/recent-visits.serializer.js.map +1 -1
- package/dist/config/serializers/stickies/index.d.ts +1 -0
- package/dist/config/serializers/stickies/index.js +18 -0
- package/dist/config/serializers/stickies/index.js.map +1 -0
- package/dist/config/serializers/stickies/sticky.serializer.d.ts +14 -0
- package/dist/config/serializers/stickies/sticky.serializer.js +100 -0
- package/dist/config/serializers/stickies/sticky.serializer.js.map +1 -0
- package/dist/config/serializers/tasks/tasks.serializer.d.ts +19 -16
- package/dist/config/serializers/tasks/tasks.serializer.js +147 -132
- package/dist/config/serializers/tasks/tasks.serializer.js.map +1 -1
- package/dist/config/serializers/user/actor-details.helper.d.ts +1 -1
- package/dist/config/serializers/user/actor-details.helper.js.map +1 -1
- package/dist/config/serializers/user/user.serializer.d.ts +37 -0
- package/dist/config/serializers/user/user.serializer.js +48 -0
- package/dist/config/serializers/user/user.serializer.js.map +1 -1
- package/dist/main.js +12 -0
- package/dist/main.js.map +1 -1
- package/dist/modules/activity/activity.service.js +1 -1
- package/dist/modules/activity/activity.service.js.map +1 -1
- package/dist/modules/advance-analytics/advance-analytics.controller.d.ts +10 -14
- package/dist/modules/advance-analytics/advance-analytics.controller.js +32 -71
- package/dist/modules/advance-analytics/advance-analytics.controller.js.map +1 -1
- package/dist/modules/advance-analytics/advance-analytics.module.d.ts +3 -11
- package/dist/modules/advance-analytics/advance-analytics.module.js +4 -30
- package/dist/modules/advance-analytics/advance-analytics.module.js.map +1 -1
- package/dist/modules/advance-analytics/advance-analytics.service.d.ts +59 -4
- package/dist/modules/advance-analytics/advance-analytics.service.js +274 -8
- package/dist/modules/advance-analytics/advance-analytics.service.js.map +1 -1
- package/dist/modules/advance-analytics/index.d.ts +2 -0
- package/dist/modules/advance-analytics/index.js +2 -0
- package/dist/modules/advance-analytics/index.js.map +1 -1
- package/dist/modules/advance-analytics/workspace-advance-analytics.controller.d.ts +37 -0
- package/dist/modules/advance-analytics/workspace-advance-analytics.controller.js +98 -0
- package/dist/modules/advance-analytics/workspace-advance-analytics.controller.js.map +1 -0
- package/dist/modules/advance-analytics/workspace-advance-analytics.module.d.ts +7 -0
- package/dist/modules/advance-analytics/workspace-advance-analytics.module.js +30 -0
- package/dist/modules/advance-analytics/workspace-advance-analytics.module.js.map +1 -0
- package/dist/modules/api-fetch/api-fetch.service.d.ts +26 -4
- package/dist/modules/api-fetch/api-fetch.service.js +70 -7
- package/dist/modules/api-fetch/api-fetch.service.js.map +1 -1
- package/dist/modules/auth/auth.guard.js +9 -4
- package/dist/modules/auth/auth.guard.js.map +1 -1
- package/dist/modules/auth/auth.service.js +17 -12
- package/dist/modules/auth/auth.service.js.map +1 -1
- package/dist/modules/comments/comments.service.js +7 -7
- package/dist/modules/comments/comments.service.js.map +1 -1
- package/dist/modules/cycles/archived-cycles.controller.d.ts +19 -0
- package/dist/modules/cycles/archived-cycles.controller.js +65 -0
- package/dist/modules/cycles/archived-cycles.controller.js.map +1 -0
- package/dist/modules/cycles/archived-cycles.module.d.ts +2 -0
- package/dist/modules/cycles/archived-cycles.module.js +22 -0
- package/dist/modules/cycles/archived-cycles.module.js.map +1 -0
- package/dist/modules/cycles/cycles.controller.d.ts +29 -1
- package/dist/modules/cycles/cycles.controller.js +66 -0
- package/dist/modules/cycles/cycles.controller.js.map +1 -1
- package/dist/modules/cycles/cycles.service.d.ts +56 -0
- package/dist/modules/cycles/cycles.service.js +209 -11
- package/dist/modules/cycles/cycles.service.js.map +1 -1
- package/dist/modules/dashboard/dashboard.service.js +3 -4
- package/dist/modules/dashboard/dashboard.service.js.map +1 -1
- package/dist/modules/dashboard/widget.service.js +2 -2
- package/dist/modules/dashboard/widget.service.js.map +1 -1
- package/dist/modules/employee-properties/employee-properties.service.js +3 -3
- package/dist/modules/employee-properties/employee-properties.service.js.map +1 -1
- package/dist/modules/invitation/invitation.service.js +23 -13
- package/dist/modules/invitation/invitation.service.js.map +1 -1
- package/dist/modules/issue-links/issue-links.service.js +5 -5
- package/dist/modules/issue-links/issue-links.service.js.map +1 -1
- package/dist/modules/issue-relations/issue-relations.service.js +3 -3
- package/dist/modules/issue-relations/issue-relations.service.js.map +1 -1
- package/dist/modules/issues/draft-issues/draft-issues.service.js +4 -4
- package/dist/modules/issues/draft-issues/draft-issues.service.js.map +1 -1
- package/dist/modules/issues/intake-issues/intake-issues.service.js +4 -4
- package/dist/modules/issues/intake-issues/intake-issues.service.js.map +1 -1
- package/dist/modules/issues/issue-labels/issue-labels.service.js +4 -4
- package/dist/modules/issues/issue-labels/issue-labels.service.js.map +1 -1
- package/dist/modules/issues/issues.service.js +34 -28
- package/dist/modules/issues/issues.service.js.map +1 -1
- package/dist/modules/mention/mention.service.js +1 -1
- package/dist/modules/mention/mention.service.js.map +1 -1
- package/dist/modules/notification/notification.service.js +4 -4
- package/dist/modules/notification/notification.service.js.map +1 -1
- package/dist/modules/pages/pages.controller.d.ts +7 -0
- package/dist/modules/pages/pages.controller.js +8 -7
- package/dist/modules/pages/pages.controller.js.map +1 -1
- package/dist/modules/pages/pages.service.d.ts +4 -4
- package/dist/modules/pages/pages.service.js +42 -68
- package/dist/modules/pages/pages.service.js.map +1 -1
- package/dist/modules/project/project-deploy-boards/project-deploy-boards.service.js +3 -3
- package/dist/modules/project/project-deploy-boards/project-deploy-boards.service.js.map +1 -1
- package/dist/modules/project/project-identifiers/project-identifiers.service.js +1 -1
- package/dist/modules/project/project-identifiers/project-identifiers.service.js.map +1 -1
- package/dist/modules/project/project.module.js +11 -9
- package/dist/modules/project/project.module.js.map +1 -1
- package/dist/modules/project/project.service.js +10 -10
- package/dist/modules/project/project.service.js.map +1 -1
- package/dist/modules/project-module/archived-modules.controller.d.ts +19 -0
- package/dist/modules/project-module/archived-modules.controller.js +65 -0
- package/dist/modules/project-module/archived-modules.controller.js.map +1 -0
- package/dist/modules/project-module/archived-modules.module.d.ts +2 -0
- package/dist/modules/project-module/archived-modules.module.js +22 -0
- package/dist/modules/project-module/archived-modules.module.js.map +1 -0
- package/dist/modules/project-module/project-module.controller.d.ts +62 -2
- package/dist/modules/project-module/project-module.controller.js +161 -2
- package/dist/modules/project-module/project-module.controller.js.map +1 -1
- package/dist/modules/project-module/project-module.module.js +2 -1
- package/dist/modules/project-module/project-module.module.js.map +1 -1
- package/dist/modules/project-module/project-module.service.d.ts +33 -0
- package/dist/modules/project-module/project-module.service.js +115 -7
- package/dist/modules/project-module/project-module.service.js.map +1 -1
- package/dist/modules/reactions/reactions.service.js +3 -3
- package/dist/modules/reactions/reactions.service.js.map +1 -1
- package/dist/modules/recent-visits/recent-visits.service.js +1 -1
- package/dist/modules/recent-visits/recent-visits.service.js.map +1 -1
- package/dist/modules/states/states.service.js +3 -5
- package/dist/modules/states/states.service.js.map +1 -1
- package/dist/modules/stickies/stickies.controller.d.ts +41 -0
- package/dist/modules/stickies/stickies.controller.js +116 -0
- package/dist/modules/stickies/stickies.controller.js.map +1 -0
- package/dist/modules/stickies/stickies.module.d.ts +2 -0
- package/dist/modules/stickies/stickies.module.js +23 -0
- package/dist/modules/stickies/stickies.module.js.map +1 -0
- package/dist/modules/stickies/stickies.service.d.ts +47 -0
- package/dist/modules/stickies/stickies.service.js +162 -0
- package/dist/modules/stickies/stickies.service.js.map +1 -0
- package/dist/modules/subscription/subscription.service.js +3 -3
- package/dist/modules/subscription/subscription.service.js.map +1 -1
- package/dist/modules/user/user.service.d.ts +9 -1
- package/dist/modules/user/user.service.js +94 -7
- package/dist/modules/user/user.service.js.map +1 -1
- package/dist/modules/user-favorites/user-favorites.service.js +3 -3
- package/dist/modules/user-favorites/user-favorites.service.js.map +1 -1
- package/dist/modules/views/view.service.js +4 -4
- package/dist/modules/views/view.service.js.map +1 -1
- package/dist/modules/work-items/work-items.controller.d.ts +11 -1
- package/dist/modules/work-items/work-items.controller.js +14 -3
- package/dist/modules/work-items/work-items.controller.js.map +1 -1
- package/dist/modules/work-items/work-items.module.js +3 -0
- package/dist/modules/work-items/work-items.module.js.map +1 -1
- package/dist/modules/work-items/work-items.service.d.ts +20 -4
- package/dist/modules/work-items/work-items.service.js +76 -9
- package/dist/modules/work-items/work-items.service.js.map +1 -1
- package/dist/modules/workspace/workspace-context.service.d.ts +18 -0
- package/dist/modules/workspace/workspace-context.service.js +29 -3
- package/dist/modules/workspace/workspace-context.service.js.map +1 -1
- package/dist/modules/workspace/workspace.controller.d.ts +9 -0
- package/dist/modules/workspace/workspace.controller.js +26 -0
- package/dist/modules/workspace/workspace.controller.js.map +1 -1
- package/dist/modules/workspace/workspace.middleware.d.ts +14 -1
- package/dist/modules/workspace/workspace.middleware.js +57 -4
- package/dist/modules/workspace/workspace.middleware.js.map +1 -1
- package/dist/modules/workspace/workspace.module.js +20 -2
- package/dist/modules/workspace/workspace.module.js.map +1 -1
- package/dist/modules/workspace/workspace.service.d.ts +13 -2
- package/dist/modules/workspace/workspace.service.js +106 -27
- package/dist/modules/workspace/workspace.service.js.map +1 -1
- package/dist/mount.js +8 -3
- package/dist/mount.js.map +1 -1
- package/dist/plane-proxy.module.js +5 -3
- package/dist/plane-proxy.module.js.map +1 -1
- package/dist/request-context.d.ts +53 -0
- package/dist/request-context.js +67 -0
- package/dist/request-context.js.map +1 -0
- package/package.json +109 -109
|
@@ -37,6 +37,43 @@ export declare function organizationsTranformer(userOrganizations: IUserOrganiza
|
|
|
37
37
|
role: number;
|
|
38
38
|
organization_size: string;
|
|
39
39
|
}[];
|
|
40
|
+
/**
|
|
41
|
+
* Transforms the cross-tenant workspace response from GET /auth/workspaces
|
|
42
|
+
* into the format expected by the Plane frontend.
|
|
43
|
+
*
|
|
44
|
+
* Each workspace entry has `{ user: IUser, token: string }` where `user.tenant`
|
|
45
|
+
* carries the tenant info. The user's `lastOrganizationId` / `defaultOrganizationId`
|
|
46
|
+
* tells us which organization this workspace maps to.
|
|
47
|
+
*
|
|
48
|
+
* Side-effect: stores orgId → tenantId in WorkspaceContextService for the
|
|
49
|
+
* workspace middleware to detect cross-tenant switches.
|
|
50
|
+
*/
|
|
51
|
+
export declare function workspacesResponseTransformer(workspaces: Array<{
|
|
52
|
+
user: IUser;
|
|
53
|
+
token: string;
|
|
54
|
+
}>): {
|
|
55
|
+
id: string;
|
|
56
|
+
owner: {
|
|
57
|
+
id: string | undefined;
|
|
58
|
+
first_name: string;
|
|
59
|
+
last_name: string;
|
|
60
|
+
avatar: string | undefined;
|
|
61
|
+
is_bot: boolean;
|
|
62
|
+
display_name: string;
|
|
63
|
+
email: string | undefined;
|
|
64
|
+
};
|
|
65
|
+
total_members: number;
|
|
66
|
+
created_at: Date | undefined;
|
|
67
|
+
current_plan: string;
|
|
68
|
+
updated_at: Date | undefined;
|
|
69
|
+
deleted_at: null;
|
|
70
|
+
is_on_trial: boolean;
|
|
71
|
+
name: any;
|
|
72
|
+
logo: any;
|
|
73
|
+
slug: string;
|
|
74
|
+
role: number;
|
|
75
|
+
organization_size: string;
|
|
76
|
+
}[];
|
|
40
77
|
/**
|
|
41
78
|
* Transforms user data into a format suitable for /user/me endpoint response
|
|
42
79
|
* @param user - User entity with employee relationship
|
|
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getUserMeQueryParams = void 0;
|
|
4
4
|
exports.getUserOrganizationsQueryParams = getUserOrganizationsQueryParams;
|
|
5
5
|
exports.organizationsTranformer = organizationsTranformer;
|
|
6
|
+
exports.workspacesResponseTransformer = workspacesResponseTransformer;
|
|
6
7
|
exports.userMeTransformer = userMeTransformer;
|
|
7
8
|
exports.userProfileTransformer = userProfileTransformer;
|
|
8
9
|
exports.updateUserProfileInputTranformer = updateUserProfileInputTranformer;
|
|
9
10
|
exports.userSettingsTranformer = userSettingsTranformer;
|
|
10
11
|
exports.memberPropertiesSerializer = memberPropertiesSerializer;
|
|
11
12
|
const plugin_integration_plane_models_1 = require("@ever-gauzy/plugin-integration-plane-models");
|
|
13
|
+
const workspace_context_service_1 = require("../../../modules/workspace/workspace-context.service");
|
|
12
14
|
const credentials_1 = require("../../credentials");
|
|
13
15
|
const employee_properties_1 = require("../employee-properties");
|
|
14
16
|
const workspace_organization_1 = require("../workspace-organization");
|
|
@@ -70,6 +72,52 @@ function organizationsTranformer(userOrganizations) {
|
|
|
70
72
|
};
|
|
71
73
|
});
|
|
72
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Transforms the cross-tenant workspace response from GET /auth/workspaces
|
|
77
|
+
* into the format expected by the Plane frontend.
|
|
78
|
+
*
|
|
79
|
+
* Each workspace entry has `{ user: IUser, token: string }` where `user.tenant`
|
|
80
|
+
* carries the tenant info. The user's `lastOrganizationId` / `defaultOrganizationId`
|
|
81
|
+
* tells us which organization this workspace maps to.
|
|
82
|
+
*
|
|
83
|
+
* Side-effect: stores orgId → tenantId in WorkspaceContextService for the
|
|
84
|
+
* workspace middleware to detect cross-tenant switches.
|
|
85
|
+
*/
|
|
86
|
+
function workspacesResponseTransformer(workspaces) {
|
|
87
|
+
workspace_context_service_1.WorkspaceContextService.clearOrgTenantMappings();
|
|
88
|
+
return workspaces
|
|
89
|
+
.filter((ws) => {
|
|
90
|
+
const orgId = ws.user.lastOrganizationId || ws.user.defaultOrganizationId;
|
|
91
|
+
return !!orgId;
|
|
92
|
+
})
|
|
93
|
+
.map((ws) => {
|
|
94
|
+
const user = ws.user;
|
|
95
|
+
const tenant = user.tenant;
|
|
96
|
+
const orgId = (user.lastOrganizationId || user.defaultOrganizationId);
|
|
97
|
+
const tenantId = user.tenantId || (tenant === null || tenant === void 0 ? void 0 : tenant.id);
|
|
98
|
+
// Store the mapping for workspace middleware
|
|
99
|
+
if (tenantId) {
|
|
100
|
+
workspace_context_service_1.WorkspaceContextService.setOrgTenantMapping(orgId, tenantId);
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
id: orgId,
|
|
104
|
+
owner: (0, actor_details_helper_1.actorDetailsTransformer)(user.employee),
|
|
105
|
+
total_members: 0,
|
|
106
|
+
created_at: user.createdAt,
|
|
107
|
+
current_plan: 'PRO',
|
|
108
|
+
updated_at: user.updatedAt,
|
|
109
|
+
deleted_at: null,
|
|
110
|
+
is_on_trial: false,
|
|
111
|
+
name: (tenant === null || tenant === void 0 ? void 0 : tenant.name) || 'Workspace',
|
|
112
|
+
logo: (tenant === null || tenant === void 0 ? void 0 : tenant.logo) || null,
|
|
113
|
+
slug: orgId,
|
|
114
|
+
role: user.role
|
|
115
|
+
? (0, workspace_organization_1.roleTransformer)(user.role)
|
|
116
|
+
: 20, // Default to admin
|
|
117
|
+
organization_size: '11-50'
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
}
|
|
73
121
|
/**
|
|
74
122
|
* Transforms user data into a format suitable for /user/me endpoint response
|
|
75
123
|
* @param user - User entity with employee relationship
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.serializer.js","sourceRoot":"","sources":["../../../../../../../packages/plugin-plane/src/config/serializers/user/user.serializer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"user.serializer.js","sourceRoot":"","sources":["../../../../../../../packages/plugin-plane/src/config/serializers/user/user.serializer.ts"],"names":[],"mappings":"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"}
|
package/dist/main.js
CHANGED
|
@@ -8,8 +8,10 @@ const core_1 = require("@nestjs/core");
|
|
|
8
8
|
const swagger_1 = require("@nestjs/swagger");
|
|
9
9
|
const app_module_1 = require("./modules/app.module");
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
|
+
const express_1 = require("express");
|
|
11
12
|
const cookie_parser_1 = __importDefault(require("cookie-parser"));
|
|
12
13
|
const plane_config_registry_1 = require("./plane-config.registry");
|
|
14
|
+
const request_context_1 = require("./request-context");
|
|
13
15
|
async function bootstrap() {
|
|
14
16
|
const app = await core_1.NestFactory.create(app_module_1.AppModule);
|
|
15
17
|
// Enable CORS for the client URLs
|
|
@@ -19,7 +21,17 @@ async function bootstrap() {
|
|
|
19
21
|
methods: ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],
|
|
20
22
|
allowedHeaders: ['Content-Type', 'Accept', 'Authorization']
|
|
21
23
|
});
|
|
24
|
+
// Wrap every request in AsyncLocalStorage for per-request token & workspace isolation.
|
|
25
|
+
// This MUST be registered before cookieParser / TokenMiddleware so the store
|
|
26
|
+
// is already active when downstream middleware writes to it.
|
|
27
|
+
app.use((_req, _res, next) => {
|
|
28
|
+
request_context_1.RequestContextService.store.run(request_context_1.RequestContextService.createContext(), () => {
|
|
29
|
+
next();
|
|
30
|
+
});
|
|
31
|
+
});
|
|
22
32
|
app.use((0, cookie_parser_1.default)());
|
|
33
|
+
app.use((0, express_1.json)({ limit: '50mb' }));
|
|
34
|
+
app.use((0, express_1.urlencoded)({ extended: true, limit: '50mb' }));
|
|
23
35
|
app.setGlobalPrefix('api/workspaces/:workspace_name', {
|
|
24
36
|
exclude: [
|
|
25
37
|
'auth/:authEndPoint',
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/plugin-plane/src/main.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../packages/plugin-plane/src/main.ts"],"names":[],"mappings":";;;;;AASA,8BAqDC;AA9DD,uCAA2C;AAC3C,6CAAiE;AACjE,qDAAiD;AACjD,2CAAgD;AAChD,qCAA4E;AAC5E,kEAAyC;AACzC,mEAA8D;AAC9D,uDAA0D;AAEnD,KAAK,UAAU,SAAS;IAC9B,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAEhD,kCAAkC;IAClC,GAAG,CAAC,UAAU,CAAC;QACd,MAAM,EAAE,2CAAmB,CAAC,UAAU;QACtC,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;QAC7D,cAAc,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,eAAe,CAAC;KAC3D,CAAC,CAAC;IAEH,uFAAuF;IACvF,6EAA6E;IAC7E,6DAA6D;IAC7D,GAAG,CAAC,GAAG,CAAC,CAAC,IAAa,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAC7D,uCAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAqB,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE;YAC3E,IAAI,EAAE,CAAC;QACR,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,GAAG,CAAC,GAAG,CAAC,IAAA,oBAAU,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,eAAe,CAAC,gCAAgC,EAAE;QACrD,OAAO,EAAE;YACR,oBAAoB;YACpB,2BAA2B;YAC3B,cAAc;YACd,oBAAoB;YACpB,uDAAuD;YACvD,eAAe;YACf,eAAe;YACf,sCAAsC;YACtC,qDAAqD;YACrD,0BAA0B;YAC1B,gBAAgB;YAChB,iBAAiB;SACjB;KACD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SAClC,QAAQ,CAAC,kBAAkB,CAAC;SAC5B,cAAc,CAAC,kCAAkC,CAAC;SAClD,UAAU,CAAC,KAAK,CAAC;SACjB,MAAM,CAAC,cAAc,CAAC;SACtB,KAAK,EAAE,CAAC;IAEV,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,uBAAa,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE3C,GAAG,CAAC,cAAc,CAAC,IAAI,uBAAc,EAAE,CAAC,CAAC;IAEzC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -34,7 +34,7 @@ let ActivityService = class ActivityService extends api_fetch_service_1.ApiFetch
|
|
|
34
34
|
}
|
|
35
35
|
catch (error) {
|
|
36
36
|
this.logger.error(`Operation failed: ${((_b = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.message) || error.message}`, error.stack);
|
|
37
|
-
|
|
37
|
+
this.handleApiError(error);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.service.js","sourceRoot":"","sources":["../../../../../../packages/plugin-plane/src/modules/activity/activity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiE;AACjE,4CAAoB;AAMpB,sEAAiE;AACjE,yCAAoD;AAG7C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mCAAe;IAA7C;;QACW,SAAI,GAAG,eAAe,CAAC;IAyBzC,CAAC;IAvBA;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAgC;;QAC7C,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,YAAE,CAAC,SAAS,CAAC,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC,CAAC;YAE1D,MAAM,YAAY,GAA8B,CAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAC9D,CAAC,IAAI,CAAC;YAEP,OAAO,YAAY,CAAC,KAAK,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,KAAI,KAAK,CAAC,OAAO,EAAE,EACtE,KAAK,CAAC,KAAK,CACX,CAAC;YACF,
|
|
1
|
+
{"version":3,"file":"activity.service.js","sourceRoot":"","sources":["../../../../../../packages/plugin-plane/src/modules/activity/activity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiE;AACjE,4CAAoB;AAMpB,sEAAiE;AACjE,yCAAoD;AAG7C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mCAAe;IAA7C;;QACW,SAAI,GAAG,eAAe,CAAC;IAyBzC,CAAC;IAvBA;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAgC;;QAC7C,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,YAAE,CAAC,SAAS,CAAC,IAAA,6BAAoB,EAAC,OAAO,CAAC,CAAC,CAAC;YAE1D,MAAM,YAAY,GAA8B,CAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAC9D,CAAC,IAAI,CAAC;YAEP,OAAO,YAAY,CAAC,KAAK,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,KAAI,KAAK,CAAC,OAAO,EAAE,EACtE,KAAK,CAAC,KAAK,CACX,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;CACD,CAAA;AA1BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;GACA,eAAe,CA0B3B"}
|
|
@@ -1,30 +1,26 @@
|
|
|
1
1
|
import { IAdvanceAnalyticsChartResponse, IAdvanceAnalyticsResponse, ID, IWorkItemInsightRow } from '@ever-gauzy/plugin-integration-plane-models';
|
|
2
2
|
import { AdvanceAnalyticsService } from './advance-analytics.service';
|
|
3
3
|
import { AdvanceAnalyticsChartsQueryDto, AdvanceAnalyticsQueryDto, AdvanceAnalyticsStatsQueryDto } from './dto';
|
|
4
|
+
/**
|
|
5
|
+
* Controller for project-level advance analytics routes.
|
|
6
|
+
* Mounted under /projects/:projectId/ via RouterModule in ProjectModule.
|
|
7
|
+
*/
|
|
4
8
|
export declare class AdvanceAnalyticsController {
|
|
5
9
|
private readonly _advanceAnalyticsService;
|
|
6
10
|
constructor(_advanceAnalyticsService: AdvanceAnalyticsService);
|
|
7
11
|
/**
|
|
8
|
-
* Get advance analytics overview stats for a project
|
|
9
|
-
* Returns work item counts by state group (total, started, backlog, unstarted, completed)
|
|
12
|
+
* Get advance analytics overview stats for a project.
|
|
13
|
+
* Returns work item counts by state group (total, started, backlog, unstarted, completed).
|
|
10
14
|
*/
|
|
11
15
|
getAdvanceAnalytics(projectId: ID, query: AdvanceAnalyticsQueryDto): Promise<IAdvanceAnalyticsResponse>;
|
|
12
|
-
}
|
|
13
|
-
export declare class AdvanceAnalyticsStatsController {
|
|
14
|
-
private readonly _advanceAnalyticsService;
|
|
15
|
-
constructor(_advanceAnalyticsService: AdvanceAnalyticsService);
|
|
16
16
|
/**
|
|
17
|
-
* Get advance analytics stats per assignee (for table view)
|
|
18
|
-
* Returns work item counts per assignee by state group
|
|
17
|
+
* Get advance analytics stats per assignee (for table view).
|
|
18
|
+
* Returns work item counts per assignee by state group.
|
|
19
19
|
*/
|
|
20
20
|
getAdvanceAnalyticsStats(projectId: ID, query: AdvanceAnalyticsStatsQueryDto): Promise<IWorkItemInsightRow[]>;
|
|
21
|
-
}
|
|
22
|
-
export declare class AdvanceAnalyticsChartsController {
|
|
23
|
-
private readonly _advanceAnalyticsService;
|
|
24
|
-
constructor(_advanceAnalyticsService: AdvanceAnalyticsService);
|
|
25
21
|
/**
|
|
26
|
-
* Get advance analytics charts data
|
|
27
|
-
* Returns chart data with configurable x_axis, y_axis, and group_by
|
|
22
|
+
* Get advance analytics charts data.
|
|
23
|
+
* Returns chart data with configurable x_axis, y_axis, and group_by.
|
|
28
24
|
*/
|
|
29
25
|
getAdvanceAnalyticsCharts(projectId: ID, query: AdvanceAnalyticsChartsQueryDto): Promise<IAdvanceAnalyticsChartResponse>;
|
|
30
26
|
}
|
|
@@ -12,117 +12,78 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.AdvanceAnalyticsController = void 0;
|
|
16
16
|
const common_1 = require("@nestjs/common");
|
|
17
17
|
const swagger_1 = require("@nestjs/swagger");
|
|
18
18
|
const advance_analytics_service_1 = require("./advance-analytics.service");
|
|
19
19
|
const dto_1 = require("./dto");
|
|
20
|
+
/**
|
|
21
|
+
* Controller for project-level advance analytics routes.
|
|
22
|
+
* Mounted under /projects/:projectId/ via RouterModule in ProjectModule.
|
|
23
|
+
*/
|
|
20
24
|
let AdvanceAnalyticsController = class AdvanceAnalyticsController {
|
|
21
25
|
constructor(_advanceAnalyticsService) {
|
|
22
26
|
this._advanceAnalyticsService = _advanceAnalyticsService;
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
|
-
* Get advance analytics overview stats for a project
|
|
26
|
-
* Returns work item counts by state group (total, started, backlog, unstarted, completed)
|
|
29
|
+
* Get advance analytics overview stats for a project.
|
|
30
|
+
* Returns work item counts by state group (total, started, backlog, unstarted, completed).
|
|
27
31
|
*/
|
|
28
32
|
async getAdvanceAnalytics(projectId, query) {
|
|
29
33
|
return this._advanceAnalyticsService.getAdvanceAnalytics(projectId, query);
|
|
30
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Get advance analytics stats per assignee (for table view).
|
|
37
|
+
* Returns work item counts per assignee by state group.
|
|
38
|
+
*/
|
|
39
|
+
async getAdvanceAnalyticsStats(projectId, query) {
|
|
40
|
+
return this._advanceAnalyticsService.getAdvanceAnalyticsStats(projectId, query);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get advance analytics charts data.
|
|
44
|
+
* Returns chart data with configurable x_axis, y_axis, and group_by.
|
|
45
|
+
*/
|
|
46
|
+
async getAdvanceAnalyticsCharts(projectId, query) {
|
|
47
|
+
return this._advanceAnalyticsService.getAdvanceAnalyticsCharts(projectId, query);
|
|
48
|
+
}
|
|
31
49
|
};
|
|
32
50
|
exports.AdvanceAnalyticsController = AdvanceAnalyticsController;
|
|
33
51
|
__decorate([
|
|
34
52
|
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
35
53
|
(0, swagger_1.ApiOperation)({ summary: 'Get project advance analytics overview' }),
|
|
36
|
-
(0, swagger_1.ApiResponse)({
|
|
37
|
-
|
|
38
|
-
description: 'Successfully retrieved advance analytics overview'
|
|
39
|
-
}),
|
|
40
|
-
(0, swagger_1.ApiResponse)({
|
|
41
|
-
status: 400,
|
|
42
|
-
description: 'Bad Request'
|
|
43
|
-
}),
|
|
44
|
-
(0, common_1.Get)(),
|
|
54
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Successfully retrieved advance analytics overview' }),
|
|
55
|
+
(0, common_1.Get)('advance-analytics'),
|
|
45
56
|
__param(0, (0, common_1.Param)('projectId')),
|
|
46
57
|
__param(1, (0, common_1.Query)()),
|
|
47
58
|
__metadata("design:type", Function),
|
|
48
59
|
__metadata("design:paramtypes", [String, dto_1.AdvanceAnalyticsQueryDto]),
|
|
49
60
|
__metadata("design:returntype", Promise)
|
|
50
61
|
], AdvanceAnalyticsController.prototype, "getAdvanceAnalytics", null);
|
|
51
|
-
exports.AdvanceAnalyticsController = AdvanceAnalyticsController = __decorate([
|
|
52
|
-
(0, swagger_1.ApiTags)('Advance Analytics'),
|
|
53
|
-
(0, common_1.Controller)(),
|
|
54
|
-
__metadata("design:paramtypes", [advance_analytics_service_1.AdvanceAnalyticsService])
|
|
55
|
-
], AdvanceAnalyticsController);
|
|
56
|
-
let AdvanceAnalyticsStatsController = class AdvanceAnalyticsStatsController {
|
|
57
|
-
constructor(_advanceAnalyticsService) {
|
|
58
|
-
this._advanceAnalyticsService = _advanceAnalyticsService;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Get advance analytics stats per assignee (for table view)
|
|
62
|
-
* Returns work item counts per assignee by state group
|
|
63
|
-
*/
|
|
64
|
-
async getAdvanceAnalyticsStats(projectId, query) {
|
|
65
|
-
return this._advanceAnalyticsService.getAdvanceAnalyticsStats(projectId, query);
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
exports.AdvanceAnalyticsStatsController = AdvanceAnalyticsStatsController;
|
|
69
62
|
__decorate([
|
|
70
63
|
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
71
64
|
(0, swagger_1.ApiOperation)({ summary: 'Get project advance analytics stats per assignee' }),
|
|
72
|
-
(0, swagger_1.ApiResponse)({
|
|
73
|
-
|
|
74
|
-
description: 'Successfully retrieved advance analytics stats'
|
|
75
|
-
}),
|
|
76
|
-
(0, swagger_1.ApiResponse)({
|
|
77
|
-
status: 400,
|
|
78
|
-
description: 'Bad Request'
|
|
79
|
-
}),
|
|
80
|
-
(0, common_1.Get)(),
|
|
65
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Successfully retrieved advance analytics stats' }),
|
|
66
|
+
(0, common_1.Get)('advance-analytics-stats'),
|
|
81
67
|
__param(0, (0, common_1.Param)('projectId')),
|
|
82
68
|
__param(1, (0, common_1.Query)()),
|
|
83
69
|
__metadata("design:type", Function),
|
|
84
70
|
__metadata("design:paramtypes", [String, dto_1.AdvanceAnalyticsStatsQueryDto]),
|
|
85
71
|
__metadata("design:returntype", Promise)
|
|
86
|
-
],
|
|
87
|
-
exports.AdvanceAnalyticsStatsController = AdvanceAnalyticsStatsController = __decorate([
|
|
88
|
-
(0, swagger_1.ApiTags)('Advance Analytics Stats'),
|
|
89
|
-
(0, common_1.Controller)(),
|
|
90
|
-
__metadata("design:paramtypes", [advance_analytics_service_1.AdvanceAnalyticsService])
|
|
91
|
-
], AdvanceAnalyticsStatsController);
|
|
92
|
-
let AdvanceAnalyticsChartsController = class AdvanceAnalyticsChartsController {
|
|
93
|
-
constructor(_advanceAnalyticsService) {
|
|
94
|
-
this._advanceAnalyticsService = _advanceAnalyticsService;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Get advance analytics charts data
|
|
98
|
-
* Returns chart data with configurable x_axis, y_axis, and group_by
|
|
99
|
-
*/
|
|
100
|
-
async getAdvanceAnalyticsCharts(projectId, query) {
|
|
101
|
-
return this._advanceAnalyticsService.getAdvanceAnalyticsCharts(projectId, query);
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
exports.AdvanceAnalyticsChartsController = AdvanceAnalyticsChartsController;
|
|
72
|
+
], AdvanceAnalyticsController.prototype, "getAdvanceAnalyticsStats", null);
|
|
105
73
|
__decorate([
|
|
106
74
|
(0, common_1.HttpCode)(common_1.HttpStatus.OK),
|
|
107
75
|
(0, swagger_1.ApiOperation)({ summary: 'Get project advance analytics charts data' }),
|
|
108
|
-
(0, swagger_1.ApiResponse)({
|
|
109
|
-
|
|
110
|
-
description: 'Successfully retrieved advance analytics charts'
|
|
111
|
-
}),
|
|
112
|
-
(0, swagger_1.ApiResponse)({
|
|
113
|
-
status: 400,
|
|
114
|
-
description: 'Bad Request'
|
|
115
|
-
}),
|
|
116
|
-
(0, common_1.Get)(),
|
|
76
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Successfully retrieved advance analytics charts' }),
|
|
77
|
+
(0, common_1.Get)('advance-analytics-charts'),
|
|
117
78
|
__param(0, (0, common_1.Param)('projectId')),
|
|
118
79
|
__param(1, (0, common_1.Query)()),
|
|
119
80
|
__metadata("design:type", Function),
|
|
120
81
|
__metadata("design:paramtypes", [String, dto_1.AdvanceAnalyticsChartsQueryDto]),
|
|
121
82
|
__metadata("design:returntype", Promise)
|
|
122
|
-
],
|
|
123
|
-
exports.
|
|
124
|
-
(0, swagger_1.ApiTags)('Advance Analytics
|
|
83
|
+
], AdvanceAnalyticsController.prototype, "getAdvanceAnalyticsCharts", null);
|
|
84
|
+
exports.AdvanceAnalyticsController = AdvanceAnalyticsController = __decorate([
|
|
85
|
+
(0, swagger_1.ApiTags)('Advance Analytics'),
|
|
125
86
|
(0, common_1.Controller)(),
|
|
126
87
|
__metadata("design:paramtypes", [advance_analytics_service_1.AdvanceAnalyticsService])
|
|
127
|
-
],
|
|
88
|
+
], AdvanceAnalyticsController);
|
|
128
89
|
//# sourceMappingURL=advance-analytics.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-analytics.controller.js","sourceRoot":"","sources":["../../../../../../packages/plugin-plane/src/modules/advance-analytics/advance-analytics.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,6CAAqE;AAOrE,2EAAsE;AACtE,+BAIe;
|
|
1
|
+
{"version":3,"file":"advance-analytics.controller.js","sourceRoot":"","sources":["../../../../../../packages/plugin-plane/src/modules/advance-analytics/advance-analytics.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAqF;AACrF,6CAAqE;AAOrE,2EAAsE;AACtE,+BAIe;AAEf;;;GAGG;AAGI,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IACtC,YACkB,wBAAiD;QAAjD,6BAAwB,GAAxB,wBAAwB,CAAyB;IAChE,CAAC;IAEJ;;;OAGG;IAKG,AAAN,KAAK,CAAC,mBAAmB,CACJ,SAAa,EACxB,KAA+B;QAExC,OAAO,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IAKG,AAAN,KAAK,CAAC,wBAAwB,CACT,SAAa,EACxB,KAAoC;QAE7C,OAAO,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAED;;;OAGG;IAKG,AAAN,KAAK,CAAC,yBAAyB,CACV,SAAa,EACxB,KAAqC;QAE9C,OAAO,IAAI,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAClF,CAAC;CACD,CAAA;AAjDY,gEAA0B;AAahC;IAJL,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC;IACnE,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,mDAAmD,EAAE,CAAC;IAC9F,IAAA,YAAG,EAAC,mBAAmB,CAAC;IAEvB,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,cAAK,GAAE,CAAA;;6CAAQ,8BAAwB;;qEAGxC;AAUK;IAJL,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,kDAAkD,EAAE,CAAC;IAC7E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;IAC3F,IAAA,YAAG,EAAC,yBAAyB,CAAC;IAE7B,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,cAAK,GAAE,CAAA;;6CAAQ,mCAA6B;;0EAG7C;AAUK;IAJL,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACtE,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;IAC5F,IAAA,YAAG,EAAC,0BAA0B,CAAC;IAE9B,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,cAAK,GAAE,CAAA;;6CAAQ,oCAA8B;;2EAG9C;qCAhDW,0BAA0B;IAFtC,IAAA,iBAAO,EAAC,mBAAmB,CAAC;IAC5B,IAAA,mBAAU,GAAE;qCAGgC,mDAAuB;GAFvD,0BAA0B,CAiDtC"}
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Module for advance
|
|
2
|
+
* Module for project-level advance analytics routes.
|
|
3
|
+
* Provides advance-analytics, advance-analytics-stats, and advance-analytics-charts
|
|
4
|
+
* endpoints under /projects/:projectId/.
|
|
3
5
|
*/
|
|
4
6
|
export declare class AdvanceAnalyticsModule {
|
|
5
7
|
}
|
|
6
|
-
/**
|
|
7
|
-
* Module for advance-analytics-stats route
|
|
8
|
-
*/
|
|
9
|
-
export declare class AdvanceAnalyticsStatsModule {
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Module for advance-analytics-charts route
|
|
13
|
-
*/
|
|
14
|
-
export declare class AdvanceAnalyticsChartsModule {
|
|
15
|
-
}
|
|
@@ -6,13 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.AdvanceAnalyticsModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const project_module_1 = require("../project/project.module");
|
|
12
12
|
const advance_analytics_service_1 = require("./advance-analytics.service");
|
|
13
13
|
const advance_analytics_controller_1 = require("./advance-analytics.controller");
|
|
14
14
|
/**
|
|
15
|
-
* Module for advance
|
|
15
|
+
* Module for project-level advance analytics routes.
|
|
16
|
+
* Provides advance-analytics, advance-analytics-stats, and advance-analytics-charts
|
|
17
|
+
* endpoints under /projects/:projectId/.
|
|
16
18
|
*/
|
|
17
19
|
let AdvanceAnalyticsModule = class AdvanceAnalyticsModule {
|
|
18
20
|
};
|
|
@@ -25,32 +27,4 @@ exports.AdvanceAnalyticsModule = AdvanceAnalyticsModule = __decorate([
|
|
|
25
27
|
exports: [advance_analytics_service_1.AdvanceAnalyticsService]
|
|
26
28
|
})
|
|
27
29
|
], AdvanceAnalyticsModule);
|
|
28
|
-
/**
|
|
29
|
-
* Module for advance-analytics-stats route
|
|
30
|
-
*/
|
|
31
|
-
let AdvanceAnalyticsStatsModule = class AdvanceAnalyticsStatsModule {
|
|
32
|
-
};
|
|
33
|
-
exports.AdvanceAnalyticsStatsModule = AdvanceAnalyticsStatsModule;
|
|
34
|
-
exports.AdvanceAnalyticsStatsModule = AdvanceAnalyticsStatsModule = __decorate([
|
|
35
|
-
(0, common_1.Module)({
|
|
36
|
-
imports: [(0, common_1.forwardRef)(() => project_module_1.ProjectModule)],
|
|
37
|
-
providers: [advance_analytics_service_1.AdvanceAnalyticsService],
|
|
38
|
-
controllers: [advance_analytics_controller_1.AdvanceAnalyticsStatsController],
|
|
39
|
-
exports: [advance_analytics_service_1.AdvanceAnalyticsService]
|
|
40
|
-
})
|
|
41
|
-
], AdvanceAnalyticsStatsModule);
|
|
42
|
-
/**
|
|
43
|
-
* Module for advance-analytics-charts route
|
|
44
|
-
*/
|
|
45
|
-
let AdvanceAnalyticsChartsModule = class AdvanceAnalyticsChartsModule {
|
|
46
|
-
};
|
|
47
|
-
exports.AdvanceAnalyticsChartsModule = AdvanceAnalyticsChartsModule;
|
|
48
|
-
exports.AdvanceAnalyticsChartsModule = AdvanceAnalyticsChartsModule = __decorate([
|
|
49
|
-
(0, common_1.Module)({
|
|
50
|
-
imports: [(0, common_1.forwardRef)(() => project_module_1.ProjectModule)],
|
|
51
|
-
providers: [advance_analytics_service_1.AdvanceAnalyticsService],
|
|
52
|
-
controllers: [advance_analytics_controller_1.AdvanceAnalyticsChartsController],
|
|
53
|
-
exports: [advance_analytics_service_1.AdvanceAnalyticsService]
|
|
54
|
-
})
|
|
55
|
-
], AdvanceAnalyticsChartsModule);
|
|
56
30
|
//# sourceMappingURL=advance-analytics.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advance-analytics.module.js","sourceRoot":"","sources":["../../../../../../packages/plugin-plane/src/modules/advance-analytics/advance-analytics.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,8DAA0D;AAC1D,2EAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"advance-analytics.module.js","sourceRoot":"","sources":["../../../../../../packages/plugin-plane/src/modules/advance-analytics/advance-analytics.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,8DAA0D;AAC1D,2EAAsE;AACtE,iFAA4E;AAE5E;;;;GAIG;AAOI,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CAAG,CAAA;AAAzB,wDAAsB;iCAAtB,sBAAsB;IANlC,IAAA,eAAM,EAAC;QACP,OAAO,EAAE,CAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC,CAAC;QAC1C,SAAS,EAAE,CAAC,mDAAuB,CAAC;QACpC,WAAW,EAAE,CAAC,yDAA0B,CAAC;QACzC,OAAO,EAAE,CAAC,mDAAuB,CAAC;KAClC,CAAC;GACW,sBAAsB,CAAG"}
|
|
@@ -8,22 +8,77 @@ export declare class AdvanceAnalyticsService extends ApiFetchService {
|
|
|
8
8
|
constructor(_projectService: ProjectService, _serverFetchService: ApiFetchService);
|
|
9
9
|
private readonly path;
|
|
10
10
|
/**
|
|
11
|
-
* Get tasks from external API
|
|
11
|
+
* Get ALL tasks from external API (workspace-level, no project filter)
|
|
12
|
+
*/
|
|
13
|
+
private getAllTasks;
|
|
14
|
+
/**
|
|
15
|
+
* Get tasks from external API with optional project/cycle/module filters
|
|
12
16
|
*/
|
|
13
17
|
private getTasks;
|
|
14
18
|
/**
|
|
15
19
|
* Get advance analytics stats (total/started/backlog/unstarted/completed counts)
|
|
16
|
-
* Endpoint: GET /:projectId/advance-analytics
|
|
20
|
+
* Endpoint: GET /projects/:projectId/advance-analytics
|
|
17
21
|
*/
|
|
18
22
|
getAdvanceAnalytics(projectId: ID, query: AdvanceAnalyticsQueryDto): Promise<IAdvanceAnalyticsResponse>;
|
|
19
23
|
/**
|
|
20
24
|
* Get advance analytics stats per assignee (for table view)
|
|
21
|
-
* Endpoint: GET /:projectId/advance-analytics-stats/
|
|
25
|
+
* Endpoint: GET /projects/:projectId/advance-analytics-stats/
|
|
22
26
|
*/
|
|
23
27
|
getAdvanceAnalyticsStats(projectId: ID, query: AdvanceAnalyticsStatsQueryDto): Promise<IWorkItemInsightRow[]>;
|
|
24
28
|
/**
|
|
25
29
|
* Get advance analytics charts data
|
|
26
|
-
* Endpoint: GET /:projectId/advance-analytics-charts/
|
|
30
|
+
* Endpoint: GET /projects/:projectId/advance-analytics-charts/
|
|
27
31
|
*/
|
|
28
32
|
getAdvanceAnalyticsCharts(projectId: ID, query: AdvanceAnalyticsChartsQueryDto): Promise<IAdvanceAnalyticsChartResponse>;
|
|
33
|
+
/**
|
|
34
|
+
* Get workspace-level advance analytics.
|
|
35
|
+
*
|
|
36
|
+
* Matches Plane's AdvanceAnalyticsEndpoint.get() which dispatches by tab:
|
|
37
|
+
*
|
|
38
|
+
* - tab=overview → { total_users, total_admins, total_members, total_guests,
|
|
39
|
+
* total_projects, total_work_items, total_cycles, total_intake }
|
|
40
|
+
* Each field is { count: number }.
|
|
41
|
+
*
|
|
42
|
+
* - tab=work-items → { total_work_items, started_work_items, backlog_work_items,
|
|
43
|
+
* un_started_work_items, completed_work_items }
|
|
44
|
+
* Each field is { count: number }.
|
|
45
|
+
*/
|
|
46
|
+
getWorkspaceAdvanceAnalytics(tab: string | undefined, query: AdvanceAnalyticsQueryDto): Promise<any>;
|
|
47
|
+
/**
|
|
48
|
+
* Get workspace-level advance analytics charts data.
|
|
49
|
+
*
|
|
50
|
+
* Matches Plane's AdvanceAnalyticsChartEndpoint.get() which dispatches by type:
|
|
51
|
+
*
|
|
52
|
+
* - type=projects → Returns a flat array [{key, name, count}]
|
|
53
|
+
* (work_items, cycles, modules, intake, members, pages, views)
|
|
54
|
+
*
|
|
55
|
+
* - type=work-items → Returns {data, schema} with created vs completed over time
|
|
56
|
+
*
|
|
57
|
+
* - type=custom-work-items → Returns {data, schema} with x_axis/group_by charting
|
|
58
|
+
*/
|
|
59
|
+
getWorkspaceAdvanceAnalyticsCharts(query: AdvanceAnalyticsChartsQueryDto): Promise<any>;
|
|
60
|
+
/**
|
|
61
|
+
* Get workspace-level advance analytics stats (table view).
|
|
62
|
+
*
|
|
63
|
+
* Matches Plane's AdvanceAnalyticsStatsEndpoint.get_work_items_stats():
|
|
64
|
+
* returns per-project work item counts grouped by state group.
|
|
65
|
+
* [{project_id, project__name, cancelled_work_items, completed_work_items,
|
|
66
|
+
* backlog_work_items, un_started_work_items, started_work_items}]
|
|
67
|
+
*/
|
|
68
|
+
getWorkspaceAdvanceAnalyticsStats(query: AdvanceAnalyticsStatsQueryDto): Promise<IWorkItemInsightRow[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Build overview data matching Plane's AdvanceAnalyticsEndpoint.get_overview_data().
|
|
71
|
+
*
|
|
72
|
+
* Returns counts for: total_users, total_admins, total_members, total_guests,
|
|
73
|
+
* total_projects, total_work_items, total_cycles, total_intake.
|
|
74
|
+
* Each field is { count: number }.
|
|
75
|
+
*/
|
|
76
|
+
private getOverviewData;
|
|
77
|
+
/**
|
|
78
|
+
* Build project chart matching Plane's AdvanceAnalyticsChartEndpoint.project_chart().
|
|
79
|
+
*
|
|
80
|
+
* Returns a flat array (NOT wrapped in {data, schema}) of:
|
|
81
|
+
* [{key, name, count}] for work_items, cycles, modules, intake, members, pages, views.
|
|
82
|
+
*/
|
|
83
|
+
private getProjectChart;
|
|
29
84
|
}
|