@meridianjs/project 1.1.0 → 1.3.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/index.d.mts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +45 -17
- package/dist/index.mjs +31 -3
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -29,6 +29,16 @@ declare class ProjectModuleService extends ProjectModuleService_base {
|
|
|
29
29
|
retrieveProjectByShareToken(token: string): Promise<any | null>;
|
|
30
30
|
/** Update position field for each status to match the provided orderedIds index. */
|
|
31
31
|
reorderStatuses(projectId: string, orderedIds: string[]): Promise<void>;
|
|
32
|
+
/** List health updates for a project, newest first. */
|
|
33
|
+
listHealthUpdatesByProject(projectId: string): Promise<any[]>;
|
|
34
|
+
/** Create a project health update. */
|
|
35
|
+
createHealthUpdate(data: {
|
|
36
|
+
project_id: string;
|
|
37
|
+
health: string;
|
|
38
|
+
title?: string | null;
|
|
39
|
+
summary?: string | null;
|
|
40
|
+
created_by?: string | null;
|
|
41
|
+
}): Promise<any>;
|
|
32
42
|
}
|
|
33
43
|
|
|
34
44
|
declare const PROJECT_MODULE = "projectModuleService";
|
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,16 @@ declare class ProjectModuleService extends ProjectModuleService_base {
|
|
|
29
29
|
retrieveProjectByShareToken(token: string): Promise<any | null>;
|
|
30
30
|
/** Update position field for each status to match the provided orderedIds index. */
|
|
31
31
|
reorderStatuses(projectId: string, orderedIds: string[]): Promise<void>;
|
|
32
|
+
/** List health updates for a project, newest first. */
|
|
33
|
+
listHealthUpdatesByProject(projectId: string): Promise<any[]>;
|
|
34
|
+
/** Create a project health update. */
|
|
35
|
+
createHealthUpdate(data: {
|
|
36
|
+
project_id: string;
|
|
37
|
+
health: string;
|
|
38
|
+
title?: string | null;
|
|
39
|
+
summary?: string | null;
|
|
40
|
+
created_by?: string | null;
|
|
41
|
+
}): Promise<any>;
|
|
32
42
|
}
|
|
33
43
|
|
|
34
44
|
declare const PROJECT_MODULE = "projectModuleService";
|
package/dist/index.js
CHANGED
|
@@ -25,10 +25,10 @@ __export(index_exports, {
|
|
|
25
25
|
default: () => index_default
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(index_exports);
|
|
28
|
-
var
|
|
28
|
+
var import_framework_utils8 = require("@meridianjs/framework-utils");
|
|
29
29
|
|
|
30
30
|
// src/service.ts
|
|
31
|
-
var
|
|
31
|
+
var import_framework_utils6 = require("@meridianjs/framework-utils");
|
|
32
32
|
var import_crypto = require("crypto");
|
|
33
33
|
|
|
34
34
|
// src/models/project.ts
|
|
@@ -100,12 +100,29 @@ var ProjectStatus = import_framework_utils4.model.define("project_status", {
|
|
|
100
100
|
]);
|
|
101
101
|
var project_status_default = ProjectStatus;
|
|
102
102
|
|
|
103
|
+
// src/models/project-health-update.ts
|
|
104
|
+
var import_framework_utils5 = require("@meridianjs/framework-utils");
|
|
105
|
+
var ProjectHealthUpdate = import_framework_utils5.model.define("project_health_update", {
|
|
106
|
+
id: import_framework_utils5.model.id().primaryKey(),
|
|
107
|
+
project_id: import_framework_utils5.model.text(),
|
|
108
|
+
health: import_framework_utils5.model.enum(["on_track", "delayed", "on_hold", "completed"]),
|
|
109
|
+
title: import_framework_utils5.model.text().nullable(),
|
|
110
|
+
summary: import_framework_utils5.model.text().nullable(),
|
|
111
|
+
report_date: import_framework_utils5.model.text().nullable(),
|
|
112
|
+
created_by: import_framework_utils5.model.text().nullable(),
|
|
113
|
+
collaborators: import_framework_utils5.model.text().nullable()
|
|
114
|
+
}, [
|
|
115
|
+
{ columns: ["project_id"] }
|
|
116
|
+
]);
|
|
117
|
+
var project_health_update_default = ProjectHealthUpdate;
|
|
118
|
+
|
|
103
119
|
// src/service.ts
|
|
104
|
-
var ProjectModuleService = class extends (0,
|
|
120
|
+
var ProjectModuleService = class extends (0, import_framework_utils6.MeridianService)({
|
|
105
121
|
Project: project_default,
|
|
106
122
|
Label: label_default,
|
|
107
123
|
Milestone: milestone_default,
|
|
108
|
-
ProjectStatus: project_status_default
|
|
124
|
+
ProjectStatus: project_status_default,
|
|
125
|
+
ProjectHealthUpdate: project_health_update_default
|
|
109
126
|
}) {
|
|
110
127
|
container;
|
|
111
128
|
constructor(container) {
|
|
@@ -198,34 +215,45 @@ var ProjectModuleService = class extends (0, import_framework_utils5.MeridianSer
|
|
|
198
215
|
}
|
|
199
216
|
await repo.flush();
|
|
200
217
|
}
|
|
218
|
+
/** List health updates for a project, newest first. */
|
|
219
|
+
async listHealthUpdatesByProject(projectId) {
|
|
220
|
+
const repo = this.container.resolve("projectHealthUpdateRepository");
|
|
221
|
+
return repo.find({ project_id: projectId }, { orderBy: { created_at: "DESC" } });
|
|
222
|
+
}
|
|
223
|
+
/** Create a project health update. */
|
|
224
|
+
async createHealthUpdate(data) {
|
|
225
|
+
return this.createProjectHealthUpdate(data);
|
|
226
|
+
}
|
|
201
227
|
};
|
|
202
228
|
|
|
203
229
|
// src/loaders/default.ts
|
|
204
|
-
var
|
|
205
|
-
var ProjectSchema = (0,
|
|
206
|
-
var LabelSchema = (0,
|
|
207
|
-
var MilestoneSchema = (0,
|
|
208
|
-
var ProjectStatusSchema = (0,
|
|
209
|
-
var
|
|
230
|
+
var import_framework_utils7 = require("@meridianjs/framework-utils");
|
|
231
|
+
var ProjectSchema = (0, import_framework_utils7.dmlToEntitySchema)(project_default);
|
|
232
|
+
var LabelSchema = (0, import_framework_utils7.dmlToEntitySchema)(label_default);
|
|
233
|
+
var MilestoneSchema = (0, import_framework_utils7.dmlToEntitySchema)(milestone_default);
|
|
234
|
+
var ProjectStatusSchema = (0, import_framework_utils7.dmlToEntitySchema)(project_status_default);
|
|
235
|
+
var ProjectHealthUpdateSchema = (0, import_framework_utils7.dmlToEntitySchema)(project_health_update_default);
|
|
236
|
+
var entitySchemas = [ProjectSchema, LabelSchema, MilestoneSchema, ProjectStatusSchema, ProjectHealthUpdateSchema];
|
|
210
237
|
async function defaultLoader({ container }) {
|
|
211
238
|
const config = container.resolve("config");
|
|
212
239
|
const { databaseUrl } = config.projectConfig;
|
|
213
|
-
const orm = await (0,
|
|
240
|
+
const orm = await (0, import_framework_utils7.createModuleOrm)(entitySchemas, databaseUrl);
|
|
214
241
|
const em = orm.em.fork();
|
|
215
242
|
container.register({
|
|
216
|
-
projectRepository: (0,
|
|
217
|
-
labelRepository: (0,
|
|
218
|
-
milestoneRepository: (0,
|
|
219
|
-
projectStatusRepository: (0,
|
|
243
|
+
projectRepository: (0, import_framework_utils7.createRepository)(em, "project"),
|
|
244
|
+
labelRepository: (0, import_framework_utils7.createRepository)(em, "label"),
|
|
245
|
+
milestoneRepository: (0, import_framework_utils7.createRepository)(em, "milestone"),
|
|
246
|
+
projectStatusRepository: (0, import_framework_utils7.createRepository)(em, "project_status"),
|
|
247
|
+
projectHealthUpdateRepository: (0, import_framework_utils7.createRepository)(em, "project_health_update"),
|
|
220
248
|
projectOrm: orm
|
|
221
249
|
});
|
|
222
250
|
}
|
|
223
251
|
|
|
224
252
|
// src/index.ts
|
|
225
253
|
var PROJECT_MODULE = "projectModuleService";
|
|
226
|
-
var index_default = (0,
|
|
254
|
+
var index_default = (0, import_framework_utils8.Module)(PROJECT_MODULE, {
|
|
227
255
|
service: ProjectModuleService,
|
|
228
|
-
models: [project_default, label_default, milestone_default, project_status_default],
|
|
256
|
+
models: [project_default, label_default, milestone_default, project_status_default, project_health_update_default],
|
|
229
257
|
loaders: [defaultLoader],
|
|
230
258
|
linkable: {
|
|
231
259
|
project: { tableName: "project", primaryKey: "id" },
|
package/dist/index.mjs
CHANGED
|
@@ -74,12 +74,29 @@ var ProjectStatus = model4.define("project_status", {
|
|
|
74
74
|
]);
|
|
75
75
|
var project_status_default = ProjectStatus;
|
|
76
76
|
|
|
77
|
+
// src/models/project-health-update.ts
|
|
78
|
+
import { model as model5 } from "@meridianjs/framework-utils";
|
|
79
|
+
var ProjectHealthUpdate = model5.define("project_health_update", {
|
|
80
|
+
id: model5.id().primaryKey(),
|
|
81
|
+
project_id: model5.text(),
|
|
82
|
+
health: model5.enum(["on_track", "delayed", "on_hold", "completed"]),
|
|
83
|
+
title: model5.text().nullable(),
|
|
84
|
+
summary: model5.text().nullable(),
|
|
85
|
+
report_date: model5.text().nullable(),
|
|
86
|
+
created_by: model5.text().nullable(),
|
|
87
|
+
collaborators: model5.text().nullable()
|
|
88
|
+
}, [
|
|
89
|
+
{ columns: ["project_id"] }
|
|
90
|
+
]);
|
|
91
|
+
var project_health_update_default = ProjectHealthUpdate;
|
|
92
|
+
|
|
77
93
|
// src/service.ts
|
|
78
94
|
var ProjectModuleService = class extends MeridianService({
|
|
79
95
|
Project: project_default,
|
|
80
96
|
Label: label_default,
|
|
81
97
|
Milestone: milestone_default,
|
|
82
|
-
ProjectStatus: project_status_default
|
|
98
|
+
ProjectStatus: project_status_default,
|
|
99
|
+
ProjectHealthUpdate: project_health_update_default
|
|
83
100
|
}) {
|
|
84
101
|
container;
|
|
85
102
|
constructor(container) {
|
|
@@ -172,6 +189,15 @@ var ProjectModuleService = class extends MeridianService({
|
|
|
172
189
|
}
|
|
173
190
|
await repo.flush();
|
|
174
191
|
}
|
|
192
|
+
/** List health updates for a project, newest first. */
|
|
193
|
+
async listHealthUpdatesByProject(projectId) {
|
|
194
|
+
const repo = this.container.resolve("projectHealthUpdateRepository");
|
|
195
|
+
return repo.find({ project_id: projectId }, { orderBy: { created_at: "DESC" } });
|
|
196
|
+
}
|
|
197
|
+
/** Create a project health update. */
|
|
198
|
+
async createHealthUpdate(data) {
|
|
199
|
+
return this.createProjectHealthUpdate(data);
|
|
200
|
+
}
|
|
175
201
|
};
|
|
176
202
|
|
|
177
203
|
// src/loaders/default.ts
|
|
@@ -180,7 +206,8 @@ var ProjectSchema = dmlToEntitySchema(project_default);
|
|
|
180
206
|
var LabelSchema = dmlToEntitySchema(label_default);
|
|
181
207
|
var MilestoneSchema = dmlToEntitySchema(milestone_default);
|
|
182
208
|
var ProjectStatusSchema = dmlToEntitySchema(project_status_default);
|
|
183
|
-
var
|
|
209
|
+
var ProjectHealthUpdateSchema = dmlToEntitySchema(project_health_update_default);
|
|
210
|
+
var entitySchemas = [ProjectSchema, LabelSchema, MilestoneSchema, ProjectStatusSchema, ProjectHealthUpdateSchema];
|
|
184
211
|
async function defaultLoader({ container }) {
|
|
185
212
|
const config = container.resolve("config");
|
|
186
213
|
const { databaseUrl } = config.projectConfig;
|
|
@@ -191,6 +218,7 @@ async function defaultLoader({ container }) {
|
|
|
191
218
|
labelRepository: createRepository(em, "label"),
|
|
192
219
|
milestoneRepository: createRepository(em, "milestone"),
|
|
193
220
|
projectStatusRepository: createRepository(em, "project_status"),
|
|
221
|
+
projectHealthUpdateRepository: createRepository(em, "project_health_update"),
|
|
194
222
|
projectOrm: orm
|
|
195
223
|
});
|
|
196
224
|
}
|
|
@@ -199,7 +227,7 @@ async function defaultLoader({ container }) {
|
|
|
199
227
|
var PROJECT_MODULE = "projectModuleService";
|
|
200
228
|
var index_default = Module(PROJECT_MODULE, {
|
|
201
229
|
service: ProjectModuleService,
|
|
202
|
-
models: [project_default, label_default, milestone_default, project_status_default],
|
|
230
|
+
models: [project_default, label_default, milestone_default, project_status_default, project_health_update_default],
|
|
203
231
|
loaders: [defaultLoader],
|
|
204
232
|
linkable: {
|
|
205
233
|
project: { tableName: "project", primaryKey: "id" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meridianjs/project",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Meridian project module — Project, Label, Milestone domain models",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"prepublishOnly": "npm run build"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@meridianjs/framework-utils": "^1.
|
|
29
|
-
"@meridianjs/types": "^1.
|
|
28
|
+
"@meridianjs/framework-utils": "^1.30.0",
|
|
29
|
+
"@meridianjs/types": "^1.30.0",
|
|
30
30
|
"@mikro-orm/core": "^6.4.3",
|
|
31
31
|
"@mikro-orm/postgresql": "^6.4.3"
|
|
32
32
|
},
|