spec-cat 0.1.21 → 0.1.23
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{qt0TxNaY.js → -EMqkm_u.js} +1 -1
- package/.output/public/_nuxt/{N3ZxlKm3.js → BDd_kh9e.js} +1 -1
- package/.output/public/_nuxt/BJKzOiTU.js +1 -0
- package/.output/public/_nuxt/{DqNujSig.js → Bk4uZfKR.js} +1 -1
- package/.output/public/_nuxt/C9Qk2Hno.js +1 -0
- package/.output/public/_nuxt/CDLI67Cr.js +1 -0
- package/.output/public/_nuxt/CLPz4Oer.js +1 -0
- package/.output/public/_nuxt/CYVeOpC3.js +1 -0
- package/.output/public/_nuxt/CZbP5QXb.js +1 -0
- package/.output/public/_nuxt/DQtVbA-s.js +150 -0
- package/.output/public/_nuxt/DXWMFGmi.js +1 -0
- package/.output/public/_nuxt/DgiJut-o.js +1 -0
- package/.output/public/_nuxt/{DUodkQcr.js → FbKhJXKu.js} +3 -3
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/53b5c409-86a8-4624-8a0f-5bf31ab82deb.json +1 -0
- package/.output/public/_nuxt/default.eSO6fRPf.css +1 -0
- package/.output/public/_nuxt/entry.BtencOYX.css +1 -0
- package/.output/public/_nuxt/useTheme.Dp77PlfC.css +1 -0
- package/.output/server/chunks/_/conversationStore.mjs +13 -1
- package/.output/server/chunks/_/conversationStore.mjs.map +1 -1
- package/.output/server/chunks/_/git.mjs +7 -6
- package/.output/server/chunks/_/git.mjs.map +1 -1
- package/.output/server/chunks/_/git2.mjs.map +1 -1
- package/.output/server/chunks/_/gitApiHelpers.mjs +43 -0
- package/.output/server/chunks/_/gitApiHelpers.mjs.map +1 -0
- package/.output/server/chunks/_/jobPersister.mjs +326 -0
- package/.output/server/chunks/_/jobPersister.mjs.map +1 -0
- package/.output/server/chunks/_/jobQueue.mjs +714 -0
- package/.output/server/chunks/_/jobQueue.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +693 -657
- package/.output/server/chunks/routes/_ws.mjs +133 -527
- package/.output/server/chunks/routes/_ws.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/branch-rename.post.mjs +5 -18
- package/.output/server/chunks/routes/api/git/branch-rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/branch.delete.mjs +5 -18
- package/.output/server/chunks/routes/api/git/branch.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/branches.get.mjs +5 -18
- package/.output/server/chunks/routes/api/git/branches.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/checkout.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/checkout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs +5 -18
- package/.output/server/chunks/routes/api/git/cherry-pick.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/clean.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/clean.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs +23 -26
- package/.output/server/chunks/routes/api/git/commit/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/commit.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/commit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/diff.get.mjs +5 -24
- package/.output/server/chunks/routes/api/git/diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/fetch.post.mjs +5 -18
- package/.output/server/chunks/routes/api/git/fetch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/file-diff.get.mjs +5 -24
- package/.output/server/chunks/routes/api/git/file-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/graph.get.mjs +9 -20
- package/.output/server/chunks/routes/api/git/graph.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/log.get.mjs +5 -24
- package/.output/server/chunks/routes/api/git/log.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/merge-base.get.mjs +5 -24
- package/.output/server/chunks/routes/api/git/merge-base.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/merge.post.mjs +5 -18
- package/.output/server/chunks/routes/api/git/merge.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/pull.post.mjs +14 -26
- package/.output/server/chunks/routes/api/git/pull.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/push.post.mjs +15 -27
- package/.output/server/chunks/routes/api/git/push.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/rebase.post.mjs +10 -22
- package/.output/server/chunks/routes/api/git/rebase.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remote.delete.mjs +5 -18
- package/.output/server/chunks/routes/api/git/remote.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remote.post.mjs +10 -22
- package/.output/server/chunks/routes/api/git/remote.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remote.put.mjs +5 -18
- package/.output/server/chunks/routes/api/git/remote.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/remotes.get.mjs +5 -18
- package/.output/server/chunks/routes/api/git/remotes.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/reset.post.mjs +12 -24
- package/.output/server/chunks/routes/api/git/reset.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/revert.post.mjs +5 -18
- package/.output/server/chunks/routes/api/git/revert.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/show.get.mjs +5 -24
- package/.output/server/chunks/routes/api/git/show.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stage.post.mjs +9 -22
- package/.output/server/chunks/routes/api/git/stage.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-apply.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/stash-apply.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-branch.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/stash-branch.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-drop.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/stash-drop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash-pop.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/stash-pop.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash.get.mjs +5 -25
- package/.output/server/chunks/routes/api/git/stash.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/stash.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/stash.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/state.get.mjs +5 -25
- package/.output/server/chunks/routes/api/git/state.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/status.get.mjs +5 -25
- package/.output/server/chunks/routes/api/git/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs +5 -18
- package/.output/server/chunks/routes/api/git/tag/_name_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag-push.post.mjs +10 -22
- package/.output/server/chunks/routes/api/git/tag-push.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag.delete.mjs +5 -18
- package/.output/server/chunks/routes/api/git/tag.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/tag.post.mjs +17 -29
- package/.output/server/chunks/routes/api/git/tag.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/git/unstage.post.mjs +5 -19
- package/.output/server/chunks/routes/api/git/unstage.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +25 -14
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +14 -141
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +167 -0
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -0
- package/.output/server/chunks/routes/api/index.post.mjs +77 -116
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +149 -0
- package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -0
- package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs +48 -0
- package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/jobs/_id_.get.mjs +55 -0
- package/.output/server/chunks/routes/api/jobs/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/repository/status.get.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/BIw1AQHU.js +0 -150
- package/.output/public/_nuxt/DBtLi_wJ.js +0 -1
- package/.output/public/_nuxt/DSDWvT5-.js +0 -1
- package/.output/public/_nuxt/K5rMM4le.js +0 -1
- package/.output/public/_nuxt/builds/meta/c0768eef-2dd5-410c-8648-edbd9e6c218c.json +0 -1
- package/.output/public/_nuxt/ddKcAgQK.js +0 -1
- package/.output/public/_nuxt/default.CZoNL3P_.css +0 -1
- package/.output/public/_nuxt/entry.DLBgeD7S.css +0 -1
- package/.output/public/_nuxt/sxXWehCn.js +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { I as dropStash } from '../../../_/git.mjs';
|
|
3
|
+
import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,21 +27,13 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const stashDrop_post = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const body = await
|
|
30
|
-
const workingDirectory = body.workingDirectory || getProjectDir();
|
|
30
|
+
const { workingDirectory, body } = await resolveWorkingDirectoryFromBody(event);
|
|
31
31
|
if (typeof body.index !== "number") {
|
|
32
32
|
throw createError({
|
|
33
33
|
statusCode: 400,
|
|
34
34
|
statusMessage: "index is required and must be a number"
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
if (!isGitRepository(workingDirectory)) {
|
|
38
|
-
throw createError({
|
|
39
|
-
statusCode: 400,
|
|
40
|
-
statusMessage: "Not a Git repository",
|
|
41
|
-
data: { code: "NOT_GIT_REPO" }
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
37
|
try {
|
|
45
38
|
dropStash(workingDirectory, body.index);
|
|
46
39
|
} catch (gitError) {
|
|
@@ -53,14 +46,7 @@ const stashDrop_post = defineEventHandler(async (event) => {
|
|
|
53
46
|
logger.api.info("Git stash dropped", { index: body.index });
|
|
54
47
|
return { success: true };
|
|
55
48
|
} catch (error) {
|
|
56
|
-
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
logger.api.error("Error dropping stash", { error });
|
|
60
|
-
throw createError({
|
|
61
|
-
statusCode: 500,
|
|
62
|
-
statusMessage: "Failed to drop stash"
|
|
63
|
-
});
|
|
49
|
+
handleGitApiError(error, "Error dropping stash", "Failed to drop stash");
|
|
64
50
|
}
|
|
65
51
|
});
|
|
66
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stash-drop.post.mjs","sources":["../../../../../../server/api/git/stash-drop.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stash-drop.post.mjs","sources":["../../../../../../server/api/git/stash-drop.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,uBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,OAAA,IAAA,CAAA,KAAA,KAAA,QAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA;AACA,MAAA,SAAA,CAAA,gBAAA,EAAA,KAAA,KAAA,CAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GAAA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,sBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,IAAA,IAAA,CAAA,mBAAA,EAAA,EAAA,KAAA,EAAA,IAAA,CAAA,OAAA,CAAA;AAEA,IAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,wBAAA,sBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { J as popStash } from '../../../_/git.mjs';
|
|
3
|
+
import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,21 +27,13 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const stashPop_post = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const body = await
|
|
30
|
-
const workingDirectory = body.workingDirectory || getProjectDir();
|
|
30
|
+
const { workingDirectory, body } = await resolveWorkingDirectoryFromBody(event);
|
|
31
31
|
if (typeof body.index !== "number") {
|
|
32
32
|
throw createError({
|
|
33
33
|
statusCode: 400,
|
|
34
34
|
statusMessage: "index is required and must be a number"
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
if (!isGitRepository(workingDirectory)) {
|
|
38
|
-
throw createError({
|
|
39
|
-
statusCode: 400,
|
|
40
|
-
statusMessage: "Not a Git repository",
|
|
41
|
-
data: { code: "NOT_GIT_REPO" }
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
37
|
try {
|
|
45
38
|
popStash(workingDirectory, body.index, body.reinstateIndex);
|
|
46
39
|
} catch (gitError) {
|
|
@@ -56,14 +49,7 @@ const stashPop_post = defineEventHandler(async (event) => {
|
|
|
56
49
|
});
|
|
57
50
|
return { success: true };
|
|
58
51
|
} catch (error) {
|
|
59
|
-
|
|
60
|
-
throw error;
|
|
61
|
-
}
|
|
62
|
-
logger.api.error("Error popping stash", { error });
|
|
63
|
-
throw createError({
|
|
64
|
-
statusCode: 500,
|
|
65
|
-
statusMessage: "Failed to pop stash"
|
|
66
|
-
});
|
|
52
|
+
handleGitApiError(error, "Error popping stash", "Failed to pop stash");
|
|
67
53
|
}
|
|
68
54
|
});
|
|
69
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stash-pop.post.mjs","sources":["../../../../../../server/api/git/stash-pop.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stash-pop.post.mjs","sources":["../../../../../../server/api/git/stash-pop.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,OAAA,IAAA,CAAA,KAAA,KAAA,QAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA;AACA,MAAA,QAAA,CAAA,gBAAA,EAAA,IAAA,CAAA,KAAA,EAAA,IAAA,CAAA,cAAA,CAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GAAA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,qBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,kBAAA,EAAA;AAAA,MACA,OAAA,IAAA,CAAA,KAAA;AAAA,MACA,gBAAA,IAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,uBAAA,qBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { K as listStashes } from '../../../_/git.mjs';
|
|
3
|
+
import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,32 +27,11 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const stash_get = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const
|
|
30
|
-
const workingDirectory = query.workingDirectory;
|
|
31
|
-
if (!workingDirectory) {
|
|
32
|
-
throw createError({
|
|
33
|
-
statusCode: 400,
|
|
34
|
-
statusMessage: "workingDirectory query parameter is required"
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
if (!isGitRepository(workingDirectory)) {
|
|
38
|
-
throw createError({
|
|
39
|
-
statusCode: 400,
|
|
40
|
-
statusMessage: "Not a Git repository",
|
|
41
|
-
data: { code: "NOT_GIT_REPO" }
|
|
42
|
-
});
|
|
43
|
-
}
|
|
30
|
+
const workingDirectory = resolveWorkingDirectoryFromQuery(event);
|
|
44
31
|
const stashes = listStashes(workingDirectory);
|
|
45
32
|
return { stashes };
|
|
46
33
|
} catch (error) {
|
|
47
|
-
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
logger.api.error("Error listing stashes", { error });
|
|
51
|
-
throw createError({
|
|
52
|
-
statusCode: 500,
|
|
53
|
-
statusMessage: "Failed to list stashes"
|
|
54
|
-
});
|
|
34
|
+
handleGitApiError(error, "Error listing stashes", "Failed to list stashes");
|
|
55
35
|
}
|
|
56
36
|
});
|
|
57
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stash.get.mjs","sources":["../../../../../../server/api/git/stash.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stash.get.mjs","sources":["../../../../../../server/api/git/stash.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,gBAAA,GAAA,iCAAA,KAAA,CAAA;AAEA,IAAA,MAAA,OAAA,GAAA,YAAA,gBAAA,CAAA;AAEA,IAAA,OAAA,EAAA,OAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,yBAAA,wBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { L as createStash } from '../../../_/git.mjs';
|
|
3
|
+
import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,15 +27,7 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const stash_post = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const body = await
|
|
30
|
-
const workingDirectory = body.workingDirectory || getProjectDir();
|
|
31
|
-
if (!isGitRepository(workingDirectory)) {
|
|
32
|
-
throw createError({
|
|
33
|
-
statusCode: 400,
|
|
34
|
-
statusMessage: "Not a Git repository",
|
|
35
|
-
data: { code: "NOT_GIT_REPO" }
|
|
36
|
-
});
|
|
37
|
-
}
|
|
30
|
+
const { workingDirectory, body } = await resolveWorkingDirectoryFromBody(event);
|
|
38
31
|
try {
|
|
39
32
|
createStash(workingDirectory, {
|
|
40
33
|
message: body.message,
|
|
@@ -53,14 +46,7 @@ const stash_post = defineEventHandler(async (event) => {
|
|
|
53
46
|
});
|
|
54
47
|
return { success: true };
|
|
55
48
|
} catch (error) {
|
|
56
|
-
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
logger.api.error("Error creating stash", { error });
|
|
60
|
-
throw createError({
|
|
61
|
-
statusCode: 500,
|
|
62
|
-
statusMessage: "Failed to create stash"
|
|
63
|
-
});
|
|
49
|
+
handleGitApiError(error, "Error creating stash", "Failed to create stash");
|
|
64
50
|
}
|
|
65
51
|
});
|
|
66
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stash.post.mjs","sources":["../../../../../../server/api/git/stash.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stash.post.mjs","sources":["../../../../../../server/api/git/stash.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA;AACA,MAAA,WAAA,CAAA,gBAAA,EAAA;AAAA,QACA,SAAA,IAAA,CAAA,OAAA;AAAA,QACA,kBAAA,IAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GAAA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,0BAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,EAAA;AAAA,MACA,SAAA,IAAA,CAAA,OAAA;AAAA,MACA,kBAAA,IAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,wBAAA,wBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { M as getStashListHash, N as getWorkingTreeHash, O as getUncommittedFileCount, P as getBranchListHash, Q as getHeadCommit } from '../../../_/git.mjs';
|
|
3
|
+
import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,21 +27,7 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const state_get = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const
|
|
30
|
-
const workingDirectory = query.workingDirectory;
|
|
31
|
-
if (!workingDirectory) {
|
|
32
|
-
throw createError({
|
|
33
|
-
statusCode: 400,
|
|
34
|
-
statusMessage: "workingDirectory query parameter is required"
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
if (!isGitRepositorySync(workingDirectory)) {
|
|
38
|
-
throw createError({
|
|
39
|
-
statusCode: 400,
|
|
40
|
-
statusMessage: "Not a Git repository",
|
|
41
|
-
data: { code: "NOT_GIT_REPO" }
|
|
42
|
-
});
|
|
43
|
-
}
|
|
30
|
+
const workingDirectory = resolveWorkingDirectoryFromQuery(event);
|
|
44
31
|
const state = {
|
|
45
32
|
headCommit: getHeadCommit(workingDirectory),
|
|
46
33
|
branchListHash: getBranchListHash(workingDirectory),
|
|
@@ -52,14 +39,7 @@ const state_get = defineEventHandler(async (event) => {
|
|
|
52
39
|
const response = { state };
|
|
53
40
|
return response;
|
|
54
41
|
} catch (error) {
|
|
55
|
-
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
logger.api.error("Error reading git state", { error });
|
|
59
|
-
throw createError({
|
|
60
|
-
statusCode: 500,
|
|
61
|
-
statusMessage: "Failed to read git state"
|
|
62
|
-
});
|
|
42
|
+
handleGitApiError(error, "Error reading git state", "Failed to read git state");
|
|
63
43
|
}
|
|
64
44
|
});
|
|
65
45
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.get.mjs","sources":["../../../../../../server/api/git/state.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state.get.mjs","sources":["../../../../../../server/api/git/state.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,kBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,gBAAA,GAAA,iCAAA,KAAA,CAAA;AAEA,IAAA,MAAA,KAAA,GAAA;AAAA,MACA,UAAA,EAAA,cAAA,gBAAA,CAAA;AAAA,MACA,cAAA,EAAA,kBAAA,gBAAA,CAAA;AAAA,MACA,oBAAA,EAAA,wBAAA,gBAAA,CAAA;AAAA,MACA,eAAA,EAAA,mBAAA,gBAAA,CAAA;AAAA,MACA,aAAA,EAAA,iBAAA,gBAAA,CAAA;AAAA,MACA,SAAA,EAAA,KAAA,GAAA;AAAA,KACA;AAEA,IAAA,MAAA,QAAA,GAAA,EAAA,KAAA,EAAA;AACA,IAAA,OAAA,QAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,2BAAA,0BAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { d as defineEventHandler
|
|
1
|
+
import { d as defineEventHandler } from '../../../nitro/nitro.mjs';
|
|
2
2
|
import { F as FileChangeStatus } from '../../../_/git2.mjs';
|
|
3
|
-
import {
|
|
3
|
+
import { c as execGit } from '../../../_/git.mjs';
|
|
4
|
+
import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
4
5
|
import 'node:http';
|
|
5
6
|
import 'node:https';
|
|
6
7
|
import 'node:crypto';
|
|
@@ -27,21 +28,7 @@ import 'util';
|
|
|
27
28
|
|
|
28
29
|
const status_get = defineEventHandler(async (event) => {
|
|
29
30
|
try {
|
|
30
|
-
const
|
|
31
|
-
const workingDirectory = query.workingDirectory;
|
|
32
|
-
if (!workingDirectory) {
|
|
33
|
-
throw createError({
|
|
34
|
-
statusCode: 400,
|
|
35
|
-
statusMessage: "workingDirectory query parameter is required"
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
if (!isGitRepository(workingDirectory)) {
|
|
39
|
-
throw createError({
|
|
40
|
-
statusCode: 400,
|
|
41
|
-
statusMessage: "Not a Git repository",
|
|
42
|
-
data: { code: "NOT_GIT_REPO" }
|
|
43
|
-
});
|
|
44
|
-
}
|
|
31
|
+
const workingDirectory = resolveWorkingDirectoryFromQuery(event);
|
|
45
32
|
const output = execGit(workingDirectory, "status --porcelain");
|
|
46
33
|
const lines = output.trim().split("\n").filter(Boolean);
|
|
47
34
|
const stagedFiles = [];
|
|
@@ -103,14 +90,7 @@ const status_get = defineEventHandler(async (event) => {
|
|
|
103
90
|
};
|
|
104
91
|
return response;
|
|
105
92
|
} catch (error) {
|
|
106
|
-
|
|
107
|
-
throw error;
|
|
108
|
-
}
|
|
109
|
-
logger.api.error("Error reading git status", { error });
|
|
110
|
-
throw createError({
|
|
111
|
-
statusCode: 500,
|
|
112
|
-
statusMessage: "Failed to read git status"
|
|
113
|
-
});
|
|
93
|
+
handleGitApiError(error, "Error reading git status", "Failed to read git status");
|
|
114
94
|
}
|
|
115
95
|
});
|
|
116
96
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.get.mjs","sources":["../../../../../../server/api/git/status.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.get.mjs","sources":["../../../../../../server/api/git/status.get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler, h as getRouterParam,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, h as getRouterParam, c as createError } from '../../../../nitro/nitro.mjs';
|
|
2
|
+
import { V as getTagDetail } from '../../../../_/git.mjs';
|
|
3
|
+
import { a as resolveWorkingDirectoryFromQuery, h as handleGitApiError } from '../../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,21 +27,14 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const _name__get = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
30
|
+
const workingDirectory = resolveWorkingDirectoryFromQuery(event);
|
|
29
31
|
const name = getRouterParam(event, "name");
|
|
30
|
-
const query = getQuery(event);
|
|
31
|
-
const workingDirectory = query.workingDirectory || getProjectDir();
|
|
32
32
|
if (!name) {
|
|
33
33
|
throw createError({
|
|
34
34
|
statusCode: 400,
|
|
35
35
|
statusMessage: "Tag name is required"
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
-
if (!isGitRepositorySync(workingDirectory)) {
|
|
39
|
-
throw createError({
|
|
40
|
-
statusCode: 400,
|
|
41
|
-
statusMessage: "Not a Git repository"
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
38
|
try {
|
|
45
39
|
const detail = getTagDetail(workingDirectory, name);
|
|
46
40
|
return detail;
|
|
@@ -52,14 +46,7 @@ const _name__get = defineEventHandler(async (event) => {
|
|
|
52
46
|
});
|
|
53
47
|
}
|
|
54
48
|
} catch (error) {
|
|
55
|
-
|
|
56
|
-
throw error;
|
|
57
|
-
}
|
|
58
|
-
logger.api.error("Error fetching tag detail", { error });
|
|
59
|
-
throw createError({
|
|
60
|
-
statusCode: 500,
|
|
61
|
-
statusMessage: "Failed to fetch tag detail"
|
|
62
|
-
});
|
|
49
|
+
handleGitApiError(error, "fetching tag detail", "Failed to fetch tag detail");
|
|
63
50
|
}
|
|
64
51
|
});
|
|
65
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_name_.get.mjs","sources":["../../../../../../../server/api/git/tag/[name].get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_name_.get.mjs","sources":["../../../../../../../server/api/git/tag/[name].get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,gBAAA,GAAA,iCAAA,KAAA,CAAA;AACA,IAAA,MAAA,IAAA,GAAA,cAAA,CAAA,KAAA,EAAA,MAAA,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA;AACA,MAAA,MAAA,MAAA,GAAA,YAAA,CAAA,gBAAA,EAAA,IAAA,CAAA;AACA,MAAA,OAAA,MAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GACA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,6BAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,uBAAA,4BAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { R as pushTag } from '../../../_/git.mjs';
|
|
3
|
+
import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,22 +27,16 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const tagPush_post = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const body = await
|
|
30
|
-
const
|
|
31
|
-
if (!
|
|
30
|
+
const { workingDirectory, body } = await resolveWorkingDirectoryFromBody(event);
|
|
31
|
+
const typedBody = body;
|
|
32
|
+
if (!typedBody.name) {
|
|
32
33
|
throw createError({
|
|
33
34
|
statusCode: 400,
|
|
34
35
|
statusMessage: "Tag name is required"
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
|
-
if (!isGitRepositorySync(workingDirectory)) {
|
|
38
|
-
throw createError({
|
|
39
|
-
statusCode: 400,
|
|
40
|
-
statusMessage: "Not a Git repository"
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
38
|
try {
|
|
44
|
-
pushTag(workingDirectory,
|
|
39
|
+
pushTag(workingDirectory, typedBody.name, typedBody.remote || "origin");
|
|
45
40
|
} catch (gitError) {
|
|
46
41
|
const errorMessage = gitError instanceof Error ? gitError.message : "Unknown error";
|
|
47
42
|
throw createError({
|
|
@@ -50,19 +45,12 @@ const tagPush_post = defineEventHandler(async (event) => {
|
|
|
50
45
|
});
|
|
51
46
|
}
|
|
52
47
|
logger.api.info("Git tag pushed", {
|
|
53
|
-
name:
|
|
54
|
-
remote:
|
|
48
|
+
name: typedBody.name,
|
|
49
|
+
remote: typedBody.remote || "origin"
|
|
55
50
|
});
|
|
56
51
|
return { success: true };
|
|
57
52
|
} catch (error) {
|
|
58
|
-
|
|
59
|
-
throw error;
|
|
60
|
-
}
|
|
61
|
-
logger.api.error("Error pushing git tag", { error });
|
|
62
|
-
throw createError({
|
|
63
|
-
statusCode: 500,
|
|
64
|
-
statusMessage: "Failed to push tag"
|
|
65
|
-
});
|
|
53
|
+
handleGitApiError(error, "Error pushing git tag", "Failed to push tag");
|
|
66
54
|
}
|
|
67
55
|
});
|
|
68
56
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag-push.post.mjs","sources":["../../../../../../server/api/git/tag-push.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag-push.post.mjs","sources":["../../../../../../server/api/git/tag-push.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,qBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,IAAA;AAEA,IAAA,IAAA,CAAA,UAAA,IAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA;AACA,MAAA,OAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,IAAA,EAAA,SAAA,CAAA,UAAA,QAAA,CAAA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GACA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,oBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,gBAAA,EAAA;AAAA,MACA,MAAA,SAAA,CAAA,IAAA;AAAA,MACA,MAAA,EAAA,UAAA,MAAA,IAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,yBAAA,oBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { S as deleteTag, T as deleteRemoteTag } from '../../../_/git.mjs';
|
|
3
|
+
import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,20 +27,13 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const tag_delete = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const body = await
|
|
30
|
-
const workingDirectory = body.workingDirectory || getProjectDir();
|
|
30
|
+
const { workingDirectory, body } = await resolveWorkingDirectoryFromBody(event);
|
|
31
31
|
if (!body.name) {
|
|
32
32
|
throw createError({
|
|
33
33
|
statusCode: 400,
|
|
34
34
|
statusMessage: "Tag name is required"
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
if (!isGitRepositorySync(workingDirectory)) {
|
|
38
|
-
throw createError({
|
|
39
|
-
statusCode: 400,
|
|
40
|
-
statusMessage: "Not a Git repository"
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
37
|
try {
|
|
44
38
|
deleteTag(workingDirectory, body.name);
|
|
45
39
|
if (body.deleteFromRemote) {
|
|
@@ -58,14 +52,7 @@ const tag_delete = defineEventHandler(async (event) => {
|
|
|
58
52
|
});
|
|
59
53
|
return { success: true };
|
|
60
54
|
} catch (error) {
|
|
61
|
-
|
|
62
|
-
throw error;
|
|
63
|
-
}
|
|
64
|
-
logger.api.error("Error deleting git tag", { error });
|
|
65
|
-
throw createError({
|
|
66
|
-
statusCode: 500,
|
|
67
|
-
statusMessage: "Failed to delete tag"
|
|
68
|
-
});
|
|
55
|
+
handleGitApiError(error, "deleting git tag", "Failed to delete tag");
|
|
69
56
|
}
|
|
70
57
|
});
|
|
71
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.delete.mjs","sources":["../../../../../../server/api/git/tag.delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag.delete.mjs","sources":["../../../../../../server/api/git/tag.delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,IAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA;AACA,MAAA,SAAA,CAAA,gBAAA,EAAA,KAAA,IAAA,CAAA;AAEA,MAAA,IAAA,KAAA,gBAAA,EAAA;AACA,QAAA,eAAA,CAAA,gBAAA,EAAA,IAAA,CAAA,IAAA,EAAA,IAAA,CAAA,gBAAA,CAAA;AAAA,MACA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GACA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,wBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,iBAAA,EAAA;AAAA,MACA,MAAA,IAAA,CAAA,IAAA;AAAA,MACA,iBAAA,EAAA,CAAA,CAAA,IAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,oBAAA,sBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { d as defineEventHandler,
|
|
2
|
-
import {
|
|
1
|
+
import { d as defineEventHandler, c as createError, l as logger } from '../../../nitro/nitro.mjs';
|
|
2
|
+
import { U as createTag, R as pushTag } from '../../../_/git.mjs';
|
|
3
|
+
import { r as resolveWorkingDirectoryFromBody, h as handleGitApiError } from '../../../_/gitApiHelpers.mjs';
|
|
3
4
|
import 'node:http';
|
|
4
5
|
import 'node:https';
|
|
5
6
|
import 'node:crypto';
|
|
@@ -26,33 +27,27 @@ import 'util';
|
|
|
26
27
|
|
|
27
28
|
const tag_post = defineEventHandler(async (event) => {
|
|
28
29
|
try {
|
|
29
|
-
const body = await
|
|
30
|
-
const
|
|
31
|
-
if (!
|
|
30
|
+
const { workingDirectory, body } = await resolveWorkingDirectoryFromBody(event);
|
|
31
|
+
const typedBody = body;
|
|
32
|
+
if (!typedBody.name) {
|
|
32
33
|
throw createError({
|
|
33
34
|
statusCode: 400,
|
|
34
35
|
statusMessage: "Tag name is required"
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
|
-
if (!
|
|
38
|
+
if (!typedBody.hash) {
|
|
38
39
|
throw createError({
|
|
39
40
|
statusCode: 400,
|
|
40
41
|
statusMessage: "Commit hash is required"
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
|
-
if (!isGitRepositorySync(workingDirectory)) {
|
|
44
|
-
throw createError({
|
|
45
|
-
statusCode: 400,
|
|
46
|
-
statusMessage: "Not a Git repository"
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
44
|
try {
|
|
50
|
-
createTag(workingDirectory,
|
|
51
|
-
annotated:
|
|
52
|
-
message:
|
|
45
|
+
createTag(workingDirectory, typedBody.name, typedBody.hash, {
|
|
46
|
+
annotated: typedBody.annotated,
|
|
47
|
+
message: typedBody.message
|
|
53
48
|
});
|
|
54
|
-
if (
|
|
55
|
-
pushTag(workingDirectory,
|
|
49
|
+
if (typedBody.pushToRemote) {
|
|
50
|
+
pushTag(workingDirectory, typedBody.name, typedBody.pushToRemote);
|
|
56
51
|
}
|
|
57
52
|
} catch (gitError) {
|
|
58
53
|
const errorMessage = gitError instanceof Error ? gitError.message : "Unknown error";
|
|
@@ -62,21 +57,14 @@ const tag_post = defineEventHandler(async (event) => {
|
|
|
62
57
|
});
|
|
63
58
|
}
|
|
64
59
|
logger.api.info("Git tag created", {
|
|
65
|
-
name:
|
|
66
|
-
hash:
|
|
67
|
-
annotated:
|
|
68
|
-
pushed: !!
|
|
60
|
+
name: typedBody.name,
|
|
61
|
+
hash: typedBody.hash,
|
|
62
|
+
annotated: typedBody.annotated,
|
|
63
|
+
pushed: !!typedBody.pushToRemote
|
|
69
64
|
});
|
|
70
65
|
return { success: true };
|
|
71
66
|
} catch (error) {
|
|
72
|
-
|
|
73
|
-
throw error;
|
|
74
|
-
}
|
|
75
|
-
logger.api.error("Error creating git tag", { error });
|
|
76
|
-
throw createError({
|
|
77
|
-
statusCode: 500,
|
|
78
|
-
statusMessage: "Failed to create tag"
|
|
79
|
-
});
|
|
67
|
+
handleGitApiError(error, "Error creating git tag", "Failed to create tag");
|
|
80
68
|
}
|
|
81
69
|
});
|
|
82
70
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.post.mjs","sources":["../../../../../../server/api/git/tag.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tag.post.mjs","sources":["../../../../../../server/api/git/tag.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,iBAAA,kBAAA,CAAA,OAAA,KAAA,KAAA;AACA,EAAA,IAAA;AACA,IAAA,MAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,GAAA,MAAA,gCAAA,KAAA,CAAA;AACA,IAAA,MAAA,SAAA,GAAA,IAAA;AAQA,IAAA,IAAA,CAAA,UAAA,IAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA,CAAA,UAAA,IAAA,EAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,IAAA;AACA,MAAA,SAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,IAAA,EAAA,SAAA,CAAA,IAAA,EAAA;AAAA,QACA,WAAA,SAAA,CAAA,SAAA;AAAA,QACA,SAAA,SAAA,CAAA;AAAA,OACA,CAAA;AAEA,MAAA,IAAA,UAAA,YAAA,EAAA;AACA,QAAA,OAAA,CAAA,gBAAA,EAAA,SAAA,CAAA,IAAA,EAAA,SAAA,CAAA,YAAA,CAAA;AAAA,MACA;AAAA,IACA,SAAA,QAAA,EAAA;AACA,MAAA,MAAA,YAAA,GACA,QAAA,YAAA,KAAA,GAAA,QAAA,CAAA,OAAA,GAAA,eAAA;AACA,MAAA,MAAA,WAAA,CAAA;AAAA,QACA,UAAA,EAAA,GAAA;AAAA,QACA,aAAA,EAAA,wBAAA,YAAA,CAAA;AAAA,OACA,CAAA;AAAA,IACA;AAEA,IAAA,MAAA,CAAA,GAAA,CAAA,KAAA,iBAAA,EAAA;AAAA,MACA,MAAA,SAAA,CAAA,IAAA;AAAA,MACA,MAAA,SAAA,CAAA,IAAA;AAAA,MACA,WAAA,SAAA,CAAA,SAAA;AAAA,MACA,MAAA,EAAA,CAAA,CAAA,SAAA,CAAA;AAAA,KACA,CAAA;AAEA,IAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AAAA,EACA,SAAA,KAAA,EAAA;AACA,IAAA,iBAAA,CAAA,KAAA,EAAA,0BAAA,sBAAA,CAAA;AAAA,EACA;AACA,CAAA,CAAA;;;;"}
|