@meridianjs/meridian 0.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/dist/api/admin/issues/[id]/activities/route.d.ts +3 -0
- package/dist/api/admin/issues/[id]/activities/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/activities/route.js +7 -0
- package/dist/api/admin/issues/[id]/activities/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/attachments/[attachmentId]/route.d.ts +3 -0
- package/dist/api/admin/issues/[id]/attachments/[attachmentId]/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/attachments/[attachmentId]/route.js +11 -0
- package/dist/api/admin/issues/[id]/attachments/[attachmentId]/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/attachments/route.d.ts +4 -0
- package/dist/api/admin/issues/[id]/attachments/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/attachments/route.js +40 -0
- package/dist/api/admin/issues/[id]/attachments/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/comments/route.d.ts +4 -0
- package/dist/api/admin/issues/[id]/comments/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/comments/route.js +20 -0
- package/dist/api/admin/issues/[id]/comments/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/route.d.ts +5 -0
- package/dist/api/admin/issues/[id]/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/route.js +70 -0
- package/dist/api/admin/issues/[id]/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/time-logs/[logId]/route.d.ts +3 -0
- package/dist/api/admin/issues/[id]/time-logs/[logId]/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/time-logs/[logId]/route.js +6 -0
- package/dist/api/admin/issues/[id]/time-logs/[logId]/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/time-logs/route.d.ts +4 -0
- package/dist/api/admin/issues/[id]/time-logs/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/time-logs/route.js +26 -0
- package/dist/api/admin/issues/[id]/time-logs/route.js.map +1 -0
- package/dist/api/admin/issues/[id]/time-logs/timer/route.d.ts +4 -0
- package/dist/api/admin/issues/[id]/time-logs/timer/route.d.ts.map +1 -0
- package/dist/api/admin/issues/[id]/time-logs/timer/route.js +26 -0
- package/dist/api/admin/issues/[id]/time-logs/timer/route.js.map +1 -0
- package/dist/api/admin/issues/route.d.ts +4 -0
- package/dist/api/admin/issues/route.d.ts.map +1 -0
- package/dist/api/admin/issues/route.js +48 -0
- package/dist/api/admin/issues/route.js.map +1 -0
- package/dist/api/admin/notifications/[id]/read/route.d.ts +3 -0
- package/dist/api/admin/notifications/[id]/read/route.d.ts.map +1 -0
- package/dist/api/admin/notifications/[id]/read/route.js +6 -0
- package/dist/api/admin/notifications/[id]/read/route.js.map +1 -0
- package/dist/api/admin/notifications/read-all/route.d.ts +3 -0
- package/dist/api/admin/notifications/read-all/route.d.ts.map +1 -0
- package/dist/api/admin/notifications/read-all/route.js +11 -0
- package/dist/api/admin/notifications/read-all/route.js.map +1 -0
- package/dist/api/admin/notifications/route.d.ts +3 -0
- package/dist/api/admin/notifications/route.d.ts.map +1 -0
- package/dist/api/admin/notifications/route.js +14 -0
- package/dist/api/admin/notifications/route.js.map +1 -0
- package/dist/api/admin/projects/[id]/route.d.ts +5 -0
- package/dist/api/admin/projects/[id]/route.d.ts.map +1 -0
- package/dist/api/admin/projects/[id]/route.js +36 -0
- package/dist/api/admin/projects/[id]/route.js.map +1 -0
- package/dist/api/admin/projects/[id]/statuses/[statusId]/route.d.ts +4 -0
- package/dist/api/admin/projects/[id]/statuses/[statusId]/route.d.ts.map +1 -0
- package/dist/api/admin/projects/[id]/statuses/[statusId]/route.js +24 -0
- package/dist/api/admin/projects/[id]/statuses/[statusId]/route.js.map +1 -0
- package/dist/api/admin/projects/[id]/statuses/reorder/route.d.ts +3 -0
- package/dist/api/admin/projects/[id]/statuses/reorder/route.d.ts.map +1 -0
- package/dist/api/admin/projects/[id]/statuses/reorder/route.js +11 -0
- package/dist/api/admin/projects/[id]/statuses/reorder/route.js.map +1 -0
- package/dist/api/admin/projects/[id]/statuses/route.d.ts +4 -0
- package/dist/api/admin/projects/[id]/statuses/route.d.ts.map +1 -0
- package/dist/api/admin/projects/[id]/statuses/route.js +23 -0
- package/dist/api/admin/projects/[id]/statuses/route.js.map +1 -0
- package/dist/api/admin/projects/[id]/task-lists/route.d.ts +4 -0
- package/dist/api/admin/projects/[id]/task-lists/route.d.ts.map +1 -0
- package/dist/api/admin/projects/[id]/task-lists/route.js +18 -0
- package/dist/api/admin/projects/[id]/task-lists/route.js.map +1 -0
- package/dist/api/admin/projects/by-identifier/[identifier]/route.d.ts +3 -0
- package/dist/api/admin/projects/by-identifier/[identifier]/route.d.ts.map +1 -0
- package/dist/api/admin/projects/by-identifier/[identifier]/route.js +15 -0
- package/dist/api/admin/projects/by-identifier/[identifier]/route.js.map +1 -0
- package/dist/api/admin/projects/check-identifier/[identifier]/route.d.ts +3 -0
- package/dist/api/admin/projects/check-identifier/[identifier]/route.d.ts.map +1 -0
- package/dist/api/admin/projects/check-identifier/[identifier]/route.js +11 -0
- package/dist/api/admin/projects/check-identifier/[identifier]/route.js.map +1 -0
- package/dist/api/admin/projects/route.d.ts +4 -0
- package/dist/api/admin/projects/route.d.ts.map +1 -0
- package/dist/api/admin/projects/route.js +35 -0
- package/dist/api/admin/projects/route.js.map +1 -0
- package/dist/api/admin/projects/suggest-identifier/route.d.ts +3 -0
- package/dist/api/admin/projects/suggest-identifier/route.d.ts.map +1 -0
- package/dist/api/admin/projects/suggest-identifier/route.js +7 -0
- package/dist/api/admin/projects/suggest-identifier/route.js.map +1 -0
- package/dist/api/admin/sprints/[id]/route.d.ts +5 -0
- package/dist/api/admin/sprints/[id]/route.d.ts.map +1 -0
- package/dist/api/admin/sprints/[id]/route.js +41 -0
- package/dist/api/admin/sprints/[id]/route.js.map +1 -0
- package/dist/api/admin/sprints/route.d.ts +4 -0
- package/dist/api/admin/sprints/route.d.ts.map +1 -0
- package/dist/api/admin/sprints/route.js +25 -0
- package/dist/api/admin/sprints/route.js.map +1 -0
- package/dist/api/admin/task-lists/[id]/route.d.ts +4 -0
- package/dist/api/admin/task-lists/[id]/route.d.ts.map +1 -0
- package/dist/api/admin/task-lists/[id]/route.js +12 -0
- package/dist/api/admin/task-lists/[id]/route.js.map +1 -0
- package/dist/api/admin/users/route.d.ts +3 -0
- package/dist/api/admin/users/route.d.ts.map +1 -0
- package/dist/api/admin/users/route.js +9 -0
- package/dist/api/admin/users/route.js.map +1 -0
- package/dist/api/admin/workspaces/route.d.ts +4 -0
- package/dist/api/admin/workspaces/route.d.ts.map +1 -0
- package/dist/api/admin/workspaces/route.js +19 -0
- package/dist/api/admin/workspaces/route.js.map +1 -0
- package/dist/api/auth/login/route.d.ts +3 -0
- package/dist/api/auth/login/route.d.ts.map +1 -0
- package/dist/api/auth/login/route.js +16 -0
- package/dist/api/auth/login/route.js.map +1 -0
- package/dist/api/auth/register/route.d.ts +3 -0
- package/dist/api/auth/register/route.d.ts.map +1 -0
- package/dist/api/auth/register/route.js +18 -0
- package/dist/api/auth/register/route.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/links/issue-project.d.ts +3 -0
- package/dist/links/issue-project.d.ts.map +1 -0
- package/dist/links/issue-project.js +5 -0
- package/dist/links/issue-project.js.map +1 -0
- package/dist/links/issue-sprint.d.ts +3 -0
- package/dist/links/issue-sprint.d.ts.map +1 -0
- package/dist/links/issue-sprint.js +5 -0
- package/dist/links/issue-sprint.js.map +1 -0
- package/dist/links/project-workspace.d.ts +3 -0
- package/dist/links/project-workspace.d.ts.map +1 -0
- package/dist/links/project-workspace.js +5 -0
- package/dist/links/project-workspace.js.map +1 -0
- package/dist/package.json +1 -0
- package/dist/subscribers/comment-created.d.ts +10 -0
- package/dist/subscribers/comment-created.d.ts.map +1 -0
- package/dist/subscribers/comment-created.js +25 -0
- package/dist/subscribers/comment-created.js.map +1 -0
- package/dist/subscribers/issue-assigned.d.ts +11 -0
- package/dist/subscribers/issue-assigned.d.ts.map +1 -0
- package/dist/subscribers/issue-assigned.js +15 -0
- package/dist/subscribers/issue-assigned.js.map +1 -0
- package/dist/subscribers/issue-created.d.ts +13 -0
- package/dist/subscribers/issue-created.d.ts.map +1 -0
- package/dist/subscribers/issue-created.js +17 -0
- package/dist/subscribers/issue-created.js.map +1 -0
- package/dist/utils/upload.d.ts +8 -0
- package/dist/utils/upload.d.ts.map +1 -0
- package/dist/utils/upload.js +22 -0
- package/dist/utils/upload.js.map +1 -0
- package/dist/workflows/assign-issue.d.ts +7 -0
- package/dist/workflows/assign-issue.d.ts.map +1 -0
- package/dist/workflows/assign-issue.js +39 -0
- package/dist/workflows/assign-issue.js.map +1 -0
- package/dist/workflows/complete-sprint.d.ts +7 -0
- package/dist/workflows/complete-sprint.d.ts.map +1 -0
- package/dist/workflows/complete-sprint.js +43 -0
- package/dist/workflows/complete-sprint.js.map +1 -0
- package/dist/workflows/create-issue.d.ts +19 -0
- package/dist/workflows/create-issue.d.ts.map +1 -0
- package/dist/workflows/create-issue.js +41 -0
- package/dist/workflows/create-issue.js.map +1 -0
- package/dist/workflows/create-project.d.ts +21 -0
- package/dist/workflows/create-project.d.ts.map +1 -0
- package/dist/workflows/create-project.js +80 -0
- package/dist/workflows/create-project.js.map +1 -0
- package/dist/workflows/emit-event.d.ts +3 -0
- package/dist/workflows/emit-event.d.ts.map +1 -0
- package/dist/workflows/emit-event.js +6 -0
- package/dist/workflows/emit-event.js.map +1 -0
- package/dist/workflows/update-issue-status.d.ts +7 -0
- package/dist/workflows/update-issue-status.d.ts.map +1 -0
- package/dist/workflows/update-issue-status.js +38 -0
- package/dist/workflows/update-issue-status.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const POST = async (req, res) => {
|
|
2
|
+
const { orderedIds } = req.body;
|
|
3
|
+
if (!Array.isArray(orderedIds) || orderedIds.length === 0) {
|
|
4
|
+
res.status(400).json({ error: { message: "orderedIds must be a non-empty array" } });
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
const svc = req.scope.resolve("projectModuleService");
|
|
8
|
+
await svc.reorderStatuses(req.params.id, orderedIds);
|
|
9
|
+
res.status(204).send();
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../../src/api/admin/projects/[id]/statuses/reorder/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,EAAE,CAAC,CAAA;QACpF,OAAM;IACR,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IAC5D,MAAM,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;IACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/[id]/statuses/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAMvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAIhD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAajD,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
function toKey(name) {
|
|
2
|
+
return name.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "");
|
|
3
|
+
}
|
|
4
|
+
export const GET = async (req, res) => {
|
|
5
|
+
const svc = req.scope.resolve("projectModuleService");
|
|
6
|
+
const statuses = await svc.listStatusesByProject(req.params.id);
|
|
7
|
+
res.json({ statuses });
|
|
8
|
+
};
|
|
9
|
+
export const POST = async (req, res) => {
|
|
10
|
+
const { name, color, category } = req.body;
|
|
11
|
+
if (!name || !color || !category) {
|
|
12
|
+
res.status(400).json({ error: { message: "name, color, and category are required" } });
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const svc = req.scope.resolve("projectModuleService");
|
|
16
|
+
const existing = await svc.listStatusesByProject(req.params.id);
|
|
17
|
+
const position = existing.length > 0 ? Math.max(...existing.map((s) => s.position)) + 1 : 0;
|
|
18
|
+
const status = await svc.createProjectStatus({
|
|
19
|
+
project_id: req.params.id, name, key: toKey(name), color, category, position,
|
|
20
|
+
});
|
|
21
|
+
res.status(201).json({ status });
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/[id]/statuses/route.ts"],"names":[],"mappings":"AAEA,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IAC5D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IAC1C,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,EAAE,CAAC,CAAA;QACtF,OAAM;IACR,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IAC5D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAChG,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,mBAAmB,CAAC;QAC3C,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;KAC7E,CAAC,CAAA;IACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/[id]/task-lists/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAIhD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAQjD,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const issueService = req.scope.resolve("issueModuleService");
|
|
3
|
+
const taskLists = await issueService.listTaskListsByProject(req.params.id);
|
|
4
|
+
res.json({ task_lists: taskLists, count: taskLists.length });
|
|
5
|
+
};
|
|
6
|
+
export const POST = async (req, res) => {
|
|
7
|
+
const { name, description } = req.body;
|
|
8
|
+
if (!name?.trim()) {
|
|
9
|
+
res.status(400).json({ error: { message: "name is required" } });
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const issueService = req.scope.resolve("issueModuleService");
|
|
13
|
+
const taskList = await issueService.createTaskList({
|
|
14
|
+
name: name.trim(), description: description?.trim() || undefined, project_id: req.params.id,
|
|
15
|
+
});
|
|
16
|
+
res.status(201).json({ task_list: taskList });
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/[id]/task-lists/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAQ,CAAA;IACnE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC1E,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IACtC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IAC/F,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAQ,CAAA;IACnE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC;QACjD,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;KAC5F,CAAC,CAAA;IACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;AAC/C,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/by-identifier/[identifier]/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAOhD,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const projectService = req.scope.resolve("projectModuleService");
|
|
3
|
+
const identifier = req.params.identifier;
|
|
4
|
+
if (!identifier) {
|
|
5
|
+
res.status(400).json({ error: { message: "identifier is required" } });
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const project = await projectService.retrieveProjectByIdentifier(identifier);
|
|
9
|
+
if (!project) {
|
|
10
|
+
res.status(404).json({ error: { message: `Project with identifier "${identifier}" not found` } });
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
res.json({ project });
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/by-identifier/[identifier]/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IACvE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAA;IACxC,IAAI,CAAC,UAAU,EAAE,CAAC;QAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,EAAE,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IACnG,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;IAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,4BAA4B,UAAU,aAAa,EAAE,EAAE,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IAC3H,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/check-identifier/[identifier]/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAMhD,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const projectService = req.scope.resolve("projectModuleService");
|
|
3
|
+
const identifier = (req.params.identifier ?? "").toUpperCase().replace(/[^A-Z0-9]/g, "");
|
|
4
|
+
if (!identifier) {
|
|
5
|
+
res.json({ available: false });
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const existing = await projectService.retrieveProjectByIdentifier(identifier);
|
|
9
|
+
res.json({ available: !existing });
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../../src/api/admin/projects/check-identifier/[identifier]/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IACvE,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACxF,IAAI,CAAC,UAAU,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAA;IAC7E,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/admin/projects/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAShD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAoBjD,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createProjectWorkflow } from "../../../workflows/create-project.js";
|
|
2
|
+
export const GET = async (req, res) => {
|
|
3
|
+
const projectService = req.scope.resolve("projectModuleService");
|
|
4
|
+
const limit = Math.min(Number(req.query.limit) || 20, 100);
|
|
5
|
+
const offset = Number(req.query.offset) || 0;
|
|
6
|
+
const filters = {};
|
|
7
|
+
if (req.query.workspace_id)
|
|
8
|
+
filters.workspace_id = req.query.workspace_id;
|
|
9
|
+
if (req.query.status)
|
|
10
|
+
filters.status = req.query.status;
|
|
11
|
+
const [projects, count] = await projectService.listAndCountProjects(filters, { limit, offset });
|
|
12
|
+
res.json({ projects, count, limit, offset });
|
|
13
|
+
};
|
|
14
|
+
export const POST = async (req, res) => {
|
|
15
|
+
const { name, description, workspace_id, visibility, icon, color, identifier, initial_statuses } = req.body;
|
|
16
|
+
if (!name || !workspace_id) {
|
|
17
|
+
res.status(400).json({ error: { message: "name and workspace_id are required" } });
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const { result: project, errors, transaction_status } = await createProjectWorkflow(req.scope).run({
|
|
21
|
+
input: {
|
|
22
|
+
name, identifier, description: description ?? null, workspace_id,
|
|
23
|
+
visibility: visibility ?? "private", icon: icon ?? null, color: color ?? null,
|
|
24
|
+
owner_id: req.user?.id ?? null, actor_id: req.user?.id ?? null,
|
|
25
|
+
initial_statuses: initial_statuses ?? undefined,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
if (transaction_status === "reverted") {
|
|
29
|
+
const err = errors[0];
|
|
30
|
+
res.status(err.status ?? 500).json({ error: { message: err.message } });
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
res.status(201).json({ project });
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/api/admin/projects/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAE5E,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IACvE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,OAAO,GAA4B,EAAE,CAAA;IAC3C,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAA;IACzE,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA;IACvD,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,cAAc,CAAC,oBAAoB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/F,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IAC3G,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,EAAE,CAAC,CAAA;QAClF,OAAM;IACR,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;QACjG,KAAK,EAAE;YACL,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,IAAI,IAAI,EAAE,YAAY;YAChE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI;YAC7E,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI;YAC9D,gBAAgB,EAAE,gBAAgB,IAAI,SAAS;SAChD;KACF,CAAC,CAAA;IACF,IAAI,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACrB,GAAG,CAAC,MAAM,CAAE,GAAW,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;QAChF,OAAM;IACR,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;AACnC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/api/admin/projects/suggest-identifier/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAKhD,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const projectService = req.scope.resolve("projectModuleService");
|
|
3
|
+
const name = typeof req.query.name === "string" ? req.query.name : "";
|
|
4
|
+
const identifier = projectService.generateIdentifier(name || "Project");
|
|
5
|
+
res.json({ identifier });
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../src/api/admin/projects/suggest-identifier/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAQ,CAAA;IACvE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACrE,MAAM,UAAU,GAAG,cAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;IACvE,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Response } from "express";
|
|
2
|
+
export declare const GET: (req: any, res: Response) => Promise<void>;
|
|
3
|
+
export declare const PUT: (req: any, res: Response) => Promise<void>;
|
|
4
|
+
export declare const DELETE: (req: any, res: Response) => Promise<void>;
|
|
5
|
+
//# sourceMappingURL=route.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/api/admin/sprints/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAIhD,CAAA;AAED,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAuBhD,CAAA;AAED,eAAO,MAAM,MAAM,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAInD,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { completeSprintWorkflow } from "../../../../workflows/complete-sprint.js";
|
|
2
|
+
export const GET = async (req, res) => {
|
|
3
|
+
const sprintService = req.scope.resolve("sprintModuleService");
|
|
4
|
+
const sprint = await sprintService.retrieveSprint(req.params.id);
|
|
5
|
+
res.json({ sprint });
|
|
6
|
+
};
|
|
7
|
+
export const PUT = async (req, res) => {
|
|
8
|
+
const sprintService = req.scope.resolve("sprintModuleService");
|
|
9
|
+
const { name, goal, start_date, end_date, status } = req.body;
|
|
10
|
+
if (status === "completed") {
|
|
11
|
+
const { result: sprint, errors, transaction_status } = await completeSprintWorkflow(req.scope).run({
|
|
12
|
+
input: { sprintId: req.params.id, moveIncompleteToSprintId: req.body.moveIncompleteToSprintId ?? null, actor_id: req.user?.id ?? null },
|
|
13
|
+
});
|
|
14
|
+
if (transaction_status === "reverted") {
|
|
15
|
+
const err = errors[0];
|
|
16
|
+
res.status(err.status ?? 500).json({ error: { message: err.message } });
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
res.json({ sprint });
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const updates = {};
|
|
23
|
+
if (name !== undefined)
|
|
24
|
+
updates.name = name;
|
|
25
|
+
if (goal !== undefined)
|
|
26
|
+
updates.goal = goal;
|
|
27
|
+
if (start_date !== undefined)
|
|
28
|
+
updates.start_date = new Date(start_date);
|
|
29
|
+
if (end_date !== undefined)
|
|
30
|
+
updates.end_date = new Date(end_date);
|
|
31
|
+
if (status !== undefined)
|
|
32
|
+
updates.status = status;
|
|
33
|
+
const sprint = await sprintService.updateSprint(req.params.id, updates);
|
|
34
|
+
res.json({ sprint });
|
|
35
|
+
};
|
|
36
|
+
export const DELETE = async (req, res) => {
|
|
37
|
+
const sprintService = req.scope.resolve("sprintModuleService");
|
|
38
|
+
await sprintService.deleteSprint(req.params.id);
|
|
39
|
+
res.status(204).send();
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../src/api/admin/sprints/[id]/route.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AAEjF,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAQ,CAAA;IACrE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAQ,CAAA;IACrE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IAC7D,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YACjG,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,wBAAwB,EAAE,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE;SACxI,CAAC,CAAA;QACF,IAAI,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;YACrB,GAAG,CAAC,MAAM,CAAE,GAAW,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YAChF,OAAM;QACR,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;QACpB,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAA4B,EAAE,CAAA;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;IAC3C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;IAC3C,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAA;IACvE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;IACjD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACvE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACtD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAQ,CAAA;IACrE,MAAM,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/admin/sprints/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAOhD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAUjD,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const sprintService = req.scope.resolve("sprintModuleService");
|
|
3
|
+
const filters = {};
|
|
4
|
+
if (req.query.project_id)
|
|
5
|
+
filters.project_id = req.query.project_id;
|
|
6
|
+
if (req.query.status)
|
|
7
|
+
filters.status = req.query.status;
|
|
8
|
+
const [sprints, count] = await sprintService.listAndCountSprints(filters);
|
|
9
|
+
res.json({ sprints, count });
|
|
10
|
+
};
|
|
11
|
+
export const POST = async (req, res) => {
|
|
12
|
+
const sprintService = req.scope.resolve("sprintModuleService");
|
|
13
|
+
const { name, goal, project_id, start_date, end_date } = req.body;
|
|
14
|
+
if (!name || !project_id) {
|
|
15
|
+
res.status(400).json({ error: { message: "name and project_id are required" } });
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const sprint = await sprintService.createSprint({
|
|
19
|
+
name, goal: goal ?? null, project_id, status: "planned",
|
|
20
|
+
start_date: start_date ? new Date(start_date) : null,
|
|
21
|
+
end_date: end_date ? new Date(end_date) : null,
|
|
22
|
+
});
|
|
23
|
+
res.status(201).json({ sprint });
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/api/admin/sprints/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAQ,CAAA;IACrE,MAAM,OAAO,GAA4B,EAAE,CAAA;IAC3C,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU;QAAE,OAAO,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAA;IACnE,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAA;IACvD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;IACzE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;AAC9B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAQ,CAAA;IACrE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IACjE,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kCAAkC,EAAE,EAAE,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IACtH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS;QACvD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;QACpD,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;KAC/C,CAAC,CAAA;IACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../../src/api/admin/task-lists/[id]/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAKhD,CAAA;AAED,eAAO,MAAM,MAAM,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAInD,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const PUT = async (req, res) => {
|
|
2
|
+
const { name, description } = req.body;
|
|
3
|
+
const issueService = req.scope.resolve("issueModuleService");
|
|
4
|
+
const taskList = await issueService.updateTaskList(req.params.id, { name, description });
|
|
5
|
+
res.json({ task_list: taskList });
|
|
6
|
+
};
|
|
7
|
+
export const DELETE = async (req, res) => {
|
|
8
|
+
const issueService = req.scope.resolve("issueModuleService");
|
|
9
|
+
await issueService.deleteTaskList(req.params.id);
|
|
10
|
+
res.status(204).end();
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../../src/api/admin/task-lists/[id]/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IACtC,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAQ,CAAA;IACnE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;IACxF,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;AACnC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACtD,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAQ,CAAA;IACnE,MAAM,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAA;AACvB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/admin/users/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAOhD,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const userService = req.scope.resolve("userModuleService");
|
|
3
|
+
const limit = Math.min(Number(req.query.limit) || 20, 100);
|
|
4
|
+
const offset = Number(req.query.offset) || 0;
|
|
5
|
+
const [users, count] = await userService.listAndCountUsers({}, { limit, offset });
|
|
6
|
+
const safeUsers = users.map(({ password_hash: _, ...u }) => u);
|
|
7
|
+
res.json({ users: safeUsers, count, limit, offset });
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/api/admin/users/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAQ,CAAA;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACjF,MAAM,SAAS,GAAI,KAAe,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACzE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/admin/workspaces/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,eAAO,MAAM,GAAG,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAMhD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBAUjD,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const GET = async (req, res) => {
|
|
2
|
+
const workspaceService = req.scope.resolve("workspaceModuleService");
|
|
3
|
+
const limit = Math.min(Number(req.query.limit) || 20, 100);
|
|
4
|
+
const offset = Number(req.query.offset) || 0;
|
|
5
|
+
const [workspaces, count] = await workspaceService.listAndCountWorkspaces({}, { limit, offset });
|
|
6
|
+
res.json({ workspaces, count, limit, offset });
|
|
7
|
+
};
|
|
8
|
+
export const POST = async (req, res) => {
|
|
9
|
+
const workspaceService = req.scope.resolve("workspaceModuleService");
|
|
10
|
+
const { name, plan } = req.body;
|
|
11
|
+
if (!name || typeof name !== "string" || name.trim().length === 0) {
|
|
12
|
+
res.status(400).json({ error: { message: "name is required" } });
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const slug = workspaceService.generateSlug(name.trim());
|
|
16
|
+
const workspace = await workspaceService.createWorkspace({ name: name.trim(), slug, plan: plan ?? "free" });
|
|
17
|
+
res.status(201).json({ workspace });
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/api/admin/workspaces/route.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,GAAG,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACnD,MAAM,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAQ,CAAA;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,MAAM,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IAChG,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,gBAAgB,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,wBAAwB,CAAQ,CAAA;IAC3E,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;IAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAA;QAChE,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,MAAM,EAAE,CAAC,CAAA;IAC3G,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;AACrC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/auth/login/route.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAOvC,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBASjD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const loginSchema = z.object({
|
|
3
|
+
email: z.string().email(),
|
|
4
|
+
password: z.string().min(1),
|
|
5
|
+
});
|
|
6
|
+
export const POST = async (req, res) => {
|
|
7
|
+
const result = loginSchema.safeParse(req.body);
|
|
8
|
+
if (!result.success) {
|
|
9
|
+
res.status(400).json({ error: { message: "Validation error", details: result.error.flatten().fieldErrors } });
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const authService = req.scope.resolve("authModuleService");
|
|
13
|
+
const response = await authService.login(result.data);
|
|
14
|
+
res.json(response);
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/api/auth/login/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC7G,OAAM;IACR,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAQ,CAAA;IACjE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACrD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/api/auth/register/route.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AASvC,eAAO,MAAM,IAAI,GAAU,KAAK,GAAG,EAAE,KAAK,QAAQ,kBASjD,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const registerSchema = z.object({
|
|
3
|
+
email: z.string().email(),
|
|
4
|
+
password: z.string().min(8, "Password must be at least 8 characters"),
|
|
5
|
+
first_name: z.string().optional(),
|
|
6
|
+
last_name: z.string().optional(),
|
|
7
|
+
});
|
|
8
|
+
export const POST = async (req, res) => {
|
|
9
|
+
const result = registerSchema.safeParse(req.body);
|
|
10
|
+
if (!result.success) {
|
|
11
|
+
res.status(400).json({ error: { message: "Validation error", details: result.error.flatten().fieldErrors } });
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const authService = req.scope.resolve("authModuleService");
|
|
15
|
+
const response = await authService.register(result.data);
|
|
16
|
+
res.status(201).json(response);
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route.js","sourceRoot":"","sources":["../../../../src/api/auth/register/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAQ,EAAE,GAAa,EAAE,EAAE;IACpD,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC7G,OAAM;IACR,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAQ,CAAA;IACjE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAChC,CAAC,CAAA"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tells the Meridian plugin loader where to find this package's
|
|
3
|
+
* api/, links/, subscribers/, and jobs/ directories.
|
|
4
|
+
*
|
|
5
|
+
* Points to the package root so the loader can probe dist/ (production)
|
|
6
|
+
* or src/ (tsx dev mode) automatically.
|
|
7
|
+
*/
|
|
8
|
+
export declare const pluginRoot: string;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,QAAgC,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
4
|
+
/**
|
|
5
|
+
* Tells the Meridian plugin loader where to find this package's
|
|
6
|
+
* api/, links/, subscribers/, and jobs/ directories.
|
|
7
|
+
*
|
|
8
|
+
* Points to the package root so the loader can probe dist/ (production)
|
|
9
|
+
* or src/ (tsx dev mode) automatically.
|
|
10
|
+
*/
|
|
11
|
+
export const pluginRoot = path.resolve(__dirname, "..");
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-project.d.ts","sourceRoot":"","sources":["../../src/links/issue-project.ts"],"names":[],"mappings":";AAIA,wBAGC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { defineLink } from "@meridianjs/framework-utils";
|
|
2
|
+
import ProjectModule from "@meridianjs/project";
|
|
3
|
+
import IssueModule from "@meridianjs/issue";
|
|
4
|
+
export default defineLink(ProjectModule.linkable.project, { linkable: IssueModule.linkable.issue, isList: true });
|
|
5
|
+
//# sourceMappingURL=issue-project.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-project.js","sourceRoot":"","sources":["../../src/links/issue-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAC/C,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAE3C,eAAe,UAAU,CACvB,aAAa,CAAC,QAAS,CAAC,OAAO,EAC/B,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CACxD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-sprint.d.ts","sourceRoot":"","sources":["../../src/links/issue-sprint.ts"],"names":[],"mappings":";AAIA,wBAGC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { defineLink } from "@meridianjs/framework-utils";
|
|
2
|
+
import SprintModule from "@meridianjs/sprint";
|
|
3
|
+
import IssueModule from "@meridianjs/issue";
|
|
4
|
+
export default defineLink(SprintModule.linkable.sprint, { linkable: IssueModule.linkable.issue, isList: true });
|
|
5
|
+
//# sourceMappingURL=issue-sprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-sprint.js","sourceRoot":"","sources":["../../src/links/issue-sprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,YAAY,MAAM,oBAAoB,CAAA;AAC7C,OAAO,WAAW,MAAM,mBAAmB,CAAA;AAE3C,eAAe,UAAU,CACvB,YAAY,CAAC,QAAS,CAAC,MAAM,EAC7B,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CACxD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-workspace.d.ts","sourceRoot":"","sources":["../../src/links/project-workspace.ts"],"names":[],"mappings":";AAIA,wBAGC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { defineLink } from "@meridianjs/framework-utils";
|
|
2
|
+
import WorkspaceModule from "@meridianjs/workspace";
|
|
3
|
+
import ProjectModule from "@meridianjs/project";
|
|
4
|
+
export default defineLink(WorkspaceModule.linkable.workspace, { linkable: ProjectModule.linkable.project, isList: true });
|
|
5
|
+
//# sourceMappingURL=project-workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-workspace.js","sourceRoot":"","sources":["../../src/links/project-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AACnD,OAAO,aAAa,MAAM,qBAAqB,CAAA;AAE/C,eAAe,UAAU,CACvB,eAAe,CAAC,QAAS,CAAC,SAAS,EACnC,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAC5D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"module"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SubscriberArgs, SubscriberConfig } from "@meridianjs/types";
|
|
2
|
+
interface CommentCreatedData {
|
|
3
|
+
comment_id: string;
|
|
4
|
+
issue_id: string;
|
|
5
|
+
author_id: string;
|
|
6
|
+
}
|
|
7
|
+
export default function handler({ event, container }: SubscriberArgs<CommentCreatedData>): Promise<void>;
|
|
8
|
+
export declare const config: SubscriberConfig;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=comment-created.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comment-created.d.ts","sourceRoot":"","sources":["../../src/subscribers/comment-created.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzE,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAA8B,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7G;AAED,eAAO,MAAM,MAAM,EAAE,gBAA+C,CAAA"}
|