@eyeauras/youtrack-cli 0.8.0 → 0.9.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/README.md +153 -88
- package/dist/src/access-catalog-commands.d.ts +2 -0
- package/dist/src/access-catalog-commands.d.ts.map +1 -0
- package/dist/src/access-catalog-commands.js +24 -0
- package/dist/src/access-catalog-commands.js.map +1 -0
- package/dist/src/access-catalog.d.ts +12 -0
- package/dist/src/access-catalog.d.ts.map +1 -0
- package/dist/src/access-catalog.js +44 -0
- package/dist/src/access-catalog.js.map +1 -0
- package/dist/src/agile-commands.d.ts.map +1 -1
- package/dist/src/agile-commands.js +14 -5
- package/dist/src/agile-commands.js.map +1 -1
- package/dist/src/agile.d.ts +11 -2
- package/dist/src/agile.d.ts.map +1 -1
- package/dist/src/agile.js +29 -2
- package/dist/src/agile.js.map +1 -1
- package/dist/src/article-extras-commands.d.ts +1 -0
- package/dist/src/article-extras-commands.d.ts.map +1 -1
- package/dist/src/article-extras-commands.js +23 -6
- package/dist/src/article-extras-commands.js.map +1 -1
- package/dist/src/article-extras.d.ts +15 -2
- package/dist/src/article-extras.d.ts.map +1 -1
- package/dist/src/article-extras.js +49 -2
- package/dist/src/article-extras.js.map +1 -1
- package/dist/src/articles-commands.d.ts.map +1 -1
- package/dist/src/articles-commands.js +11 -8
- package/dist/src/articles-commands.js.map +1 -1
- package/dist/src/articles.d.ts +7 -5
- package/dist/src/articles.d.ts.map +1 -1
- package/dist/src/articles.js +13 -7
- package/dist/src/articles.js.map +1 -1
- package/dist/src/backup-commands.d.ts +2 -0
- package/dist/src/backup-commands.d.ts.map +1 -0
- package/dist/src/backup-commands.js +16 -0
- package/dist/src/backup-commands.js.map +1 -0
- package/dist/src/backup.d.ts +7 -0
- package/dist/src/backup.d.ts.map +1 -0
- package/dist/src/backup.js +30 -0
- package/dist/src/backup.js.map +1 -0
- package/dist/src/bundle-values-commands.d.ts.map +1 -1
- package/dist/src/bundle-values-commands.js +27 -9
- package/dist/src/bundle-values-commands.js.map +1 -1
- package/dist/src/bundle-values.d.ts +31 -12
- package/dist/src/bundle-values.d.ts.map +1 -1
- package/dist/src/bundle-values.js +61 -1
- package/dist/src/bundle-values.js.map +1 -1
- package/dist/src/cli-support.d.ts +3 -1
- package/dist/src/cli-support.d.ts.map +1 -1
- package/dist/src/cli-support.js +15 -6
- package/dist/src/cli-support.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +18 -8
- package/dist/src/cli.js.map +1 -1
- package/dist/src/client.d.ts +14 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +111 -33
- package/dist/src/client.js.map +1 -1
- package/dist/src/credential-alias.d.ts +7 -0
- package/dist/src/credential-alias.d.ts.map +1 -0
- package/dist/src/credential-alias.js +21 -0
- package/dist/src/credential-alias.js.map +1 -0
- package/dist/src/field-catalog-commands.d.ts.map +1 -1
- package/dist/src/field-catalog-commands.js +30 -8
- package/dist/src/field-catalog-commands.js.map +1 -1
- package/dist/src/field-catalog.d.ts +30 -11
- package/dist/src/field-catalog.d.ts.map +1 -1
- package/dist/src/field-catalog.js +56 -1
- package/dist/src/field-catalog.js.map +1 -1
- package/dist/src/group-directory-commands.d.ts.map +1 -1
- package/dist/src/group-directory-commands.js +18 -9
- package/dist/src/group-directory-commands.js.map +1 -1
- package/dist/src/group-directory.d.ts +13 -4
- package/dist/src/group-directory.d.ts.map +1 -1
- package/dist/src/group-directory.js +41 -2
- package/dist/src/group-directory.js.map +1 -1
- package/dist/src/index.d.ts +16 -12
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +16 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/issue-context-commands.d.ts.map +1 -1
- package/dist/src/issue-context-commands.js +22 -4
- package/dist/src/issue-context-commands.js.map +1 -1
- package/dist/src/issue-context.d.ts +9 -0
- package/dist/src/issue-context.d.ts.map +1 -1
- package/dist/src/issue-context.js +29 -1
- package/dist/src/issue-context.js.map +1 -1
- package/dist/src/issue-fields-commands.d.ts.map +1 -1
- package/dist/src/issue-fields-commands.js +25 -4
- package/dist/src/issue-fields-commands.js.map +1 -1
- package/dist/src/issue-fields.d.ts +27 -7
- package/dist/src/issue-fields.d.ts.map +1 -1
- package/dist/src/issue-fields.js +64 -2
- package/dist/src/issue-fields.js.map +1 -1
- package/dist/src/issue-query-commands.d.ts.map +1 -1
- package/dist/src/issue-query-commands.js +28 -6
- package/dist/src/issue-query-commands.js.map +1 -1
- package/dist/src/issue-query.d.ts +12 -1
- package/dist/src/issue-query.d.ts.map +1 -1
- package/dist/src/issue-query.js +24 -4
- package/dist/src/issue-query.js.map +1 -1
- package/dist/src/issue-relations-commands.d.ts.map +1 -1
- package/dist/src/issue-relations-commands.js +17 -5
- package/dist/src/issue-relations-commands.js.map +1 -1
- package/dist/src/issue-relations.d.ts +15 -5
- package/dist/src/issue-relations.d.ts.map +1 -1
- package/dist/src/issue-relations.js +35 -1
- package/dist/src/issue-relations.js.map +1 -1
- package/dist/src/organization-commands.d.ts +2 -0
- package/dist/src/organization-commands.d.ts.map +1 -0
- package/dist/src/organization-commands.js +14 -0
- package/dist/src/organization-commands.js.map +1 -0
- package/dist/src/organizations.d.ts +7 -0
- package/dist/src/organizations.d.ts.map +1 -0
- package/dist/src/organizations.js +16 -0
- package/dist/src/organizations.js.map +1 -0
- package/dist/src/presentation.d.ts +34 -1
- package/dist/src/presentation.d.ts.map +1 -1
- package/dist/src/presentation.js +224 -0
- package/dist/src/presentation.js.map +1 -1
- package/dist/src/server-settings-commands.d.ts +2 -0
- package/dist/src/server-settings-commands.d.ts.map +1 -0
- package/dist/src/server-settings-commands.js +95 -0
- package/dist/src/server-settings-commands.js.map +1 -0
- package/dist/src/server-settings.d.ts +18 -0
- package/dist/src/server-settings.d.ts.map +1 -0
- package/dist/src/server-settings.js +101 -0
- package/dist/src/server-settings.js.map +1 -0
- package/dist/src/time-settings-commands.d.ts.map +1 -1
- package/dist/src/time-settings-commands.js +15 -8
- package/dist/src/time-settings-commands.js.map +1 -1
- package/dist/src/time-settings.d.ts +15 -7
- package/dist/src/time-settings.d.ts.map +1 -1
- package/dist/src/time-settings.js +35 -1
- package/dist/src/time-settings.js.map +1 -1
- package/dist/src/user-directory-commands.d.ts.map +1 -1
- package/dist/src/user-directory-commands.js +80 -7
- package/dist/src/user-directory-commands.js.map +1 -1
- package/dist/src/user-directory.d.ts +26 -8
- package/dist/src/user-directory.d.ts.map +1 -1
- package/dist/src/user-directory.js +80 -1
- package/dist/src/user-directory.js.map +1 -1
- package/package.json +3 -2
package/dist/src/agile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agile.js","sourceRoot":"","sources":["../../src/agile.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"agile.js","sourceRoot":"","sources":["../../src/agile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-extras-commands.d.ts","sourceRoot":"","sources":["../../src/article-extras-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"article-extras-commands.d.ts","sourceRoot":"","sources":["../../src/article-extras-commands.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,qBAAqB,qDA8CjC,CAAC;AAGF,eAAO,MAAM,sBAAsB,mDAMjC,CAAC"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { command } from "@eyeauras/cli-factory";
|
|
2
2
|
import { inputFilePath } from "./client.js";
|
|
3
3
|
import { articleAttachmentDownloadCommand } from "./attachment-download-commands.js";
|
|
4
|
-
import { pagedRead, projectedRead, updateCommand, projectionOptions, readOptions } from "./cli-support.js";
|
|
5
|
-
import { getArticleAttachment, getChildArticle, getParentArticle, listArticleAttachments, listChildArticles, uploadArticleAttachment, } from "./article-extras.js";
|
|
6
|
-
import { articleRecord, articleTable, attachmentRecord, attachmentTable, uploadedAttachments, withView } from "./presentation.js";
|
|
4
|
+
import { projectedDelete, pagedRead, projectedBodyUpdate, projectedRead, updateCommand, projectionOptions, readOptions, writeOptions, notificationOptions } from "./cli-support.js";
|
|
5
|
+
import { addChildArticle, updateChildArticle, removeChildArticle, getArticleAttachment, listArticleReactions, getArticleReaction, addArticleReaction, removeArticleReaction, listArticleTags, getArticleTag, addArticleTag, removeArticleTag, getChildArticle, getParentArticle, listArticleAttachments, listChildArticles, uploadArticleAttachment, updateArticleAttachment, deleteArticleAttachment, } from "./article-extras.js";
|
|
6
|
+
import { mutationWritten, articleRecord, articleTable, attachmentRecord, attachmentTable, uploadedAttachments, reactionRecord, reactionTable, updatedAttachment, tagTable, tagRecord, tagAdded, arg, done, withView } from "./presentation.js";
|
|
7
7
|
export const articlesExtraChildren = [
|
|
8
|
+
command("tag", "Read and change article tag relations", [
|
|
9
|
+
pagedRead("list <article>", "List article tags", listArticleTags, tagTable),
|
|
10
|
+
projectedRead("get <article> <tag>", "Show an article tag", getArticleTag, tagRecord),
|
|
11
|
+
projectedBodyUpdate("add <article>", "Assign a tag to the article", addArticleTag, undefined, tagAdded),
|
|
12
|
+
withView(done(context => `Removed tag ${arg(context, "tag")} from article ${arg(context, "article")}.`), updateCommand("remove <article> <tag>", "Remove an article tag relation", (client, { args, options }) => removeArticleTag(client, args.article, args.tag, readOptions(options)), projectionOptions)),
|
|
13
|
+
]),
|
|
8
14
|
command("attachment", "Inspect, upload or download article attachments", [
|
|
9
15
|
articleAttachmentDownloadCommand,
|
|
16
|
+
projectedBodyUpdate("update <article> <attachmentID>", "Update article attachment metadata", updateArticleAttachment, undefined, updatedAttachment),
|
|
17
|
+
withView(done(context => `Deleted attachment ${arg(context, "attachment")} from article ${arg(context, "article")}.`), updateCommand("delete <article> <attachment>", "Delete an article attachment", (client, { args, options }) => deleteArticleAttachment(client, args.article, args.attachment, readOptions(options)), projectionOptions)),
|
|
10
18
|
pagedRead("list <article>", "List attachments", listArticleAttachments, attachmentTable),
|
|
11
19
|
projectedRead("get <article> <attachment>", "Show an attachment", getArticleAttachment, attachmentRecord),
|
|
12
|
-
withView(uploadedAttachments, updateCommand("upload <article>", "Upload a file to the article", async (connection, { args, options }, context) => uploadArticleAttachment(connection, args.article, String(options.file),
|
|
13
|
-
...projectionOptions,
|
|
20
|
+
withView(uploadedAttachments, updateCommand("upload <article>", "Upload a file to the article", async (connection, { args, options }, context) => uploadArticleAttachment(connection, args.article, String(options.file), writeOptions(options)), [
|
|
21
|
+
...projectionOptions, ...notificationOptions,
|
|
14
22
|
{
|
|
15
23
|
flags: "--file <path>",
|
|
16
24
|
description: "Local file to upload",
|
|
@@ -19,7 +27,10 @@ export const articlesExtraChildren = [
|
|
|
19
27
|
},
|
|
20
28
|
])),
|
|
21
29
|
]),
|
|
22
|
-
command("child", "
|
|
30
|
+
command("child", "Manage an article's child articles", [
|
|
31
|
+
projectedBodyUpdate("add <article>", "Add a child article", addChildArticle, undefined, mutationWritten("Added child article", undefined, "article"), notificationOptions),
|
|
32
|
+
projectedBodyUpdate("update <article> <child>", "Update a child article", updateChildArticle, undefined, mutationWritten("Updated child article", "child", "article"), notificationOptions),
|
|
33
|
+
projectedDelete("remove <article> <child>", "Remove the parent-child link", removeChildArticle, mutationWritten("Unlinked child article", "child", "article")),
|
|
23
34
|
pagedRead("list <article>", "List the immediate child articles", listChildArticles, articleTable),
|
|
24
35
|
projectedRead("get <article> <child>", "Show a child article", getChildArticle, articleRecord),
|
|
25
36
|
]),
|
|
@@ -27,4 +38,10 @@ export const articlesExtraChildren = [
|
|
|
27
38
|
projectedRead("get <article>", "Show the parent article", getParentArticle, articleRecord),
|
|
28
39
|
]),
|
|
29
40
|
];
|
|
41
|
+
export const articleReactionCommand = command("reaction", "Read and change article comment reactions", [
|
|
42
|
+
pagedRead("list <article> <comment>", "List article comment reactions", listArticleReactions, reactionTable),
|
|
43
|
+
projectedRead("get <article> <comment> <reaction>", "Show an article comment reaction", getArticleReaction, reactionRecord),
|
|
44
|
+
projectedBodyUpdate("add <article> <comment>", "Add an article comment reaction", addArticleReaction, undefined, reactionRecord),
|
|
45
|
+
withView(done(context => `Removed reaction ${arg(context, "reaction")}.`), updateCommand("remove <article> <comment> <reaction>", "Remove an article comment reaction", (client, { args, options }) => removeArticleReaction(client, args.article, args.comment, args.reaction, readOptions(options)), projectionOptions)),
|
|
46
|
+
]);
|
|
30
47
|
//# sourceMappingURL=article-extras-commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-extras-commands.js","sourceRoot":"","sources":["../../src/article-extras-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"article-extras-commands.js","sourceRoot":"","sources":["../../src/article-extras-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
-
import { type Connection, type PageOptions, type ProjectionOptions, type YouTrackObject } from "./client.js";
|
|
1
|
+
import { type WriteOptions, type Connection, type PageOptions, type ProjectionOptions, type YouTrackObject } from "./client.js";
|
|
2
2
|
export declare const listArticleAttachments: (connection: Connection, articleID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
3
3
|
export declare const getArticleAttachment: (connection: Connection, articleID: string, attachmentID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
4
|
-
export declare function uploadArticleAttachment(connection: Connection, articleID: string, filePath: string, options?:
|
|
4
|
+
export declare function uploadArticleAttachment(connection: Connection, articleID: string, filePath: string, options?: WriteOptions): Promise<YouTrackObject[] | null>;
|
|
5
5
|
export declare const listChildArticles: (connection: Connection, articleID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
6
6
|
export declare const getChildArticle: (connection: Connection, articleID: string, childID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
7
7
|
export declare function getParentArticle(connection: Connection, articleID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
8
|
+
export declare const listArticleTags: (connection: Connection, articleID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
9
|
+
export declare const getArticleTag: (connection: Connection, articleID: string, tagID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
10
|
+
export declare function addArticleTag(connection: Connection, articleID: string, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
11
|
+
export declare function removeArticleTag(connection: Connection, articleID: string, tagID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
12
|
+
export declare function updateArticleAttachment(connection: Connection, articleID: string, attachmentID: string, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
13
|
+
export declare function deleteArticleAttachment(connection: Connection, articleID: string, attachmentID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
14
|
+
export declare const listArticleReactions: (connection: Connection, articleID: string, commentID: string, options?: PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
15
|
+
export declare const getArticleReaction: (connection: Connection, articleID: string, commentID: string, reactionID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
16
|
+
export declare function addArticleReaction(connection: Connection, articleID: string, commentID: string, input: unknown, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
17
|
+
export declare function removeArticleReaction(connection: Connection, articleID: string, commentID: string, reactionID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
18
|
+
export declare function addChildArticle(connection: Connection, articleID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
19
|
+
export declare function updateChildArticle(connection: Connection, articleID: string, childID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
20
|
+
export declare function removeChildArticle(connection: Connection, articleID: string, childID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
8
21
|
//# sourceMappingURL=article-extras.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-extras.d.ts","sourceRoot":"","sources":["../../src/article-extras.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"article-extras.d.ts","sourceRoot":"","sources":["../../src/article-extras.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAUrB,eAAO,MAAM,sBAAsB,+HAGlC,CAAC;AACF,eAAO,MAAM,oBAAoB,uIAIhC,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAKlC;AAED,eAAO,MAAM,iBAAiB,+HAG7B,CAAC;AACF,eAAO,MAAM,eAAe,kIAI3B,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMhC;AAID,eAAO,MAAM,eAAe,+HAAuF,CAAC;AACpH,eAAO,MAAM,aAAa,gIAAgI,CAAC;AAC3J,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAG7H;AACD,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAE/H;AAGD,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAK7J;AACD,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAE7I;AAKD,eAAO,MAAM,oBAAoB,kJAAgE,CAAC;AAClG,eAAO,MAAM,kBAAkB,wJAA6L,CAAC;AAC7N,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,kCAGrJ;AACD,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAE5J;AASD,wBAAsB,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,kCAE1H;AACD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,kCAE9I;AACD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAEnI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { attachmentForm } from "./attachment-form.js";
|
|
2
|
-
import { encodedID, fields, readCollectionAt, readNullableObject, readObjectAt, uploadObjectCollection, } from "./client.js";
|
|
2
|
+
import { encodedID, mutate, mutationBody, nullableText, requiredText, deleteObject, fields, readCollectionAt, readNullableObject, readObjectAt, uploadObjectCollection, } from "./client.js";
|
|
3
3
|
const attachmentFields = "id,name,size,mimeType";
|
|
4
4
|
const articleListFields = "id,idReadable,summary,project(id,shortName),updated";
|
|
5
5
|
const articleDetailFields = `${articleListFields},content,parentArticle(id,idReadable),created`;
|
|
@@ -12,11 +12,58 @@ export async function uploadArticleAttachment(connection, articleID, filePath, o
|
|
|
12
12
|
const path = `${articlePath(articleID)}/attachments`;
|
|
13
13
|
const projection = fields(options, attachmentFields);
|
|
14
14
|
const form = await attachmentForm(filePath);
|
|
15
|
-
return uploadObjectCollection(connection, path, form, projection);
|
|
15
|
+
return uploadObjectCollection(connection, path, form, projection, options);
|
|
16
16
|
}
|
|
17
17
|
export const listChildArticles = readCollectionAt((articleID) => `${articlePath(articleID)}/childArticles`, articleListFields);
|
|
18
18
|
export const getChildArticle = readObjectAt((articleID, childID) => `${articlePath(articleID)}/childArticles/${encodedID(childID, "child article ID")}`, articleDetailFields);
|
|
19
19
|
export async function getParentArticle(connection, articleID, options = {}) {
|
|
20
20
|
return readNullableObject(connection, `${articlePath(articleID)}/parentArticle`, { fields: fields(options, articleDetailFields) });
|
|
21
21
|
}
|
|
22
|
+
const tagFields = "id,name,owner(id,login)";
|
|
23
|
+
export const listArticleTags = readCollectionAt((articleID) => `${articlePath(articleID)}/tags`, tagFields);
|
|
24
|
+
export const getArticleTag = readObjectAt((articleID, tagID) => `${articlePath(articleID)}/tags/${encodedID(tagID, "tag ID")}`, tagFields);
|
|
25
|
+
export async function addArticleTag(connection, articleID, input, options = {}) {
|
|
26
|
+
const body = mutationBody(input);
|
|
27
|
+
return mutate(connection, `${articlePath(articleID)}/tags`, { ...body, id: requiredText(body.id, "tag ID") }, fields(options, tagFields));
|
|
28
|
+
}
|
|
29
|
+
export async function removeArticleTag(connection, articleID, tagID, options = {}) {
|
|
30
|
+
return deleteObject(connection, `${articlePath(articleID)}/tags/${encodedID(tagID, "tag ID")}`, options);
|
|
31
|
+
}
|
|
32
|
+
export async function updateArticleAttachment(connection, articleID, attachmentID, input, options = {}) {
|
|
33
|
+
const body = mutationBody(input);
|
|
34
|
+
return mutate(connection, `${articlePath(articleID)}/attachments/${encodedID(attachmentID, "attachment ID")}`, {
|
|
35
|
+
...body, ...(Object.hasOwn(body, "name") ? { name: requiredText(body.name, "name") } : {}),
|
|
36
|
+
}, fields(options, attachmentFields));
|
|
37
|
+
}
|
|
38
|
+
export async function deleteArticleAttachment(connection, articleID, attachmentID, options = {}) {
|
|
39
|
+
return deleteObject(connection, `${articlePath(articleID)}/attachments/${encodedID(attachmentID, "attachment ID")}`, options);
|
|
40
|
+
}
|
|
41
|
+
const articleReactionFields = "id,reaction,author(id,login)";
|
|
42
|
+
const articleReactionsPath = (articleID, commentID) => `${articlePath(articleID)}/comments/${encodedID(commentID, "comment ID")}/reactions`;
|
|
43
|
+
export const listArticleReactions = readCollectionAt(articleReactionsPath, articleReactionFields);
|
|
44
|
+
export const getArticleReaction = readObjectAt((articleID, commentID, reactionID) => `${articleReactionsPath(articleID, commentID)}/${encodedID(reactionID, "reaction ID")}`, articleReactionFields);
|
|
45
|
+
export async function addArticleReaction(connection, articleID, commentID, input, options = {}) {
|
|
46
|
+
const body = mutationBody(input);
|
|
47
|
+
return mutate(connection, articleReactionsPath(articleID, commentID), { ...body, reaction: nullableText(body.reaction, "reaction") }, fields(options, articleReactionFields));
|
|
48
|
+
}
|
|
49
|
+
export async function removeArticleReaction(connection, articleID, commentID, reactionID, options = {}) {
|
|
50
|
+
return deleteObject(connection, `${articleReactionsPath(articleID, commentID)}/${encodedID(reactionID, "reaction ID")}`, options);
|
|
51
|
+
}
|
|
52
|
+
function childArticleBody(input) {
|
|
53
|
+
const body = mutationBody(input);
|
|
54
|
+
if (Object.hasOwn(body, "summary"))
|
|
55
|
+
nullableText(body.summary, "summary");
|
|
56
|
+
if (Object.hasOwn(body, "content"))
|
|
57
|
+
nullableText(body.content, "article content");
|
|
58
|
+
return body;
|
|
59
|
+
}
|
|
60
|
+
export async function addChildArticle(connection, articleID, input, options = {}) {
|
|
61
|
+
return mutate(connection, `${articlePath(articleID)}/childArticles`, childArticleBody(input), fields(options, articleDetailFields), options);
|
|
62
|
+
}
|
|
63
|
+
export async function updateChildArticle(connection, articleID, childID, input, options = {}) {
|
|
64
|
+
return mutate(connection, `${articlePath(articleID)}/childArticles/${encodedID(childID, "child article ID")}`, childArticleBody(input), fields(options, articleDetailFields), options);
|
|
65
|
+
}
|
|
66
|
+
export async function removeChildArticle(connection, articleID, childID, options = {}) {
|
|
67
|
+
return deleteObject(connection, `${articlePath(articleID)}/childArticles/${encodedID(childID, "child article ID")}`, options);
|
|
68
|
+
}
|
|
22
69
|
//# sourceMappingURL=article-extras.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-extras.js","sourceRoot":"","sources":["../../src/article-extras.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,
|
|
1
|
+
{"version":3,"file":"article-extras.js","sourceRoot":"","sources":["../../src/article-extras.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articles-commands.d.ts","sourceRoot":"","sources":["../../src/articles-commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"articles-commands.d.ts","sourceRoot":"","sources":["../../src/articles-commands.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,oBAAoB,qDAqChC,CAAC;AAEF,eAAO,MAAM,uBAAuB,qDAInC,CAAC"}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import { command } from "@eyeauras/cli-factory";
|
|
2
|
-
import { articlesExtraChildren } from "./article-extras-commands.js";
|
|
3
|
-
import { pagedRead, projectedBodyUpdate, projectedRead, readCommand } from "./cli-support.js";
|
|
4
|
-
import { addArticleComment, createArticle, exportArticle, getArticle, getArticleComment, listArticleComments, listArticles, listProjectArticles, updateArticle, updateArticleComment, } from "./articles.js";
|
|
5
|
-
import { articleRecord, articleTable, commentAdded, commentShown, commentTable, commentUpdated, createdArticle, exportedArticle, updatedArticle, withView, } from "./presentation.js";
|
|
2
|
+
import { articlesExtraChildren, articleReactionCommand } from "./article-extras-commands.js";
|
|
3
|
+
import { projectedDelete, pagedRead, projectedBodyUpdate, projectedRead, readCommand, notificationOptions, draftOptions } from "./cli-support.js";
|
|
4
|
+
import { deleteArticle, deleteArticleComment, addArticleComment, createArticle, exportArticle, getArticle, getArticleComment, listArticleComments, listArticles, listProjectArticles, updateArticle, updateArticleComment, } from "./articles.js";
|
|
5
|
+
import { mutationWritten, articleRecord, articleTable, commentAdded, commentShown, commentTable, commentUpdated, createdArticle, exportedArticle, updatedArticle, withView, } from "./presentation.js";
|
|
6
6
|
export const articlesRootCommands = [
|
|
7
7
|
command("article", "Read and write knowledge-base articles", [
|
|
8
|
+
projectedDelete("delete <article>", "Delete a selected article", deleteArticle, mutationWritten("Deleted article", "article")),
|
|
8
9
|
...articlesExtraChildren,
|
|
9
10
|
pagedRead("list", "List articles", listArticles, articleTable),
|
|
10
11
|
projectedRead("get <article>", "Show an article", getArticle, articleRecord),
|
|
11
12
|
withView(exportedArticle, readCommand("export <article>", "Save the article content as a file", async (connection, { args, options }, context) => exportArticle(connection, args.article, context.cwd, typeof options.output === "string" ? options.output : undefined), [{ flags: "--output <path>", description: "Save to a relative or absolute path (default: <idReadable>.md)" }])),
|
|
12
|
-
projectedBodyUpdate("create", "Create an article", createArticle, "content", createdArticle),
|
|
13
|
-
projectedBodyUpdate("update <article>", "Update the summary or content", updateArticle, "content", updatedArticle),
|
|
13
|
+
projectedBodyUpdate("create", "Create an article", createArticle, "content", createdArticle, [...draftOptions, ...notificationOptions]),
|
|
14
|
+
projectedBodyUpdate("update <article>", "Update the summary or content", updateArticle, "content", updatedArticle, notificationOptions),
|
|
14
15
|
command("comment", "Read and write article comments", [
|
|
16
|
+
projectedDelete("delete <article> <comment>", "Delete a selected article comment", deleteArticleComment, mutationWritten("Deleted comment", "comment", "article")),
|
|
17
|
+
articleReactionCommand,
|
|
15
18
|
pagedRead("list <article>", "List comments", listArticleComments, commentTable),
|
|
16
19
|
projectedRead("get <article> <comment>", "Show a comment", getArticleComment, commentShown),
|
|
17
|
-
projectedBodyUpdate("add <article>", "Add a comment", addArticleComment, "text", commentAdded("article")),
|
|
18
|
-
projectedBodyUpdate("update <article> <comment>", "Replace a comment's text", updateArticleComment, "text", commentUpdated("article", "comment")),
|
|
20
|
+
projectedBodyUpdate("add <article>", "Add a comment", addArticleComment, "text", commentAdded("article"), [...draftOptions, ...notificationOptions]),
|
|
21
|
+
projectedBodyUpdate("update <article> <comment>", "Replace a comment's text", updateArticleComment, "text", commentUpdated("article", "comment"), notificationOptions),
|
|
19
22
|
]),
|
|
20
23
|
], {
|
|
21
24
|
examples: ["article list --page-size 20", "article get KB-A-7", "article export KB-A-7 --output onboarding.md"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articles-commands.js","sourceRoot":"","sources":["../../src/articles-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"articles-commands.js","sourceRoot":"","sources":["../../src/articles-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAClJ,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,oBAAoB,GACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,cAAc,EACd,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,OAAO,CAAC,SAAS,EAAE,wCAAwC,EAAE;QAC3D,eAAe,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,aAAa,EAAE,eAAe,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAC9H,GAAG,qBAAqB;QACxB,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC;QAC9D,aAAa,CAAC,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,CAAC;QAC5E,QAAQ,CAAC,eAAe,EAAE,WAAW,CACnC,kBAAkB,EAClB,oCAAoC,EACpC,KAAK,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,CAC7D,UAAU,EACV,IAAI,CAAC,OAAO,EACZ,OAAO,CAAC,GAAG,EACX,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAChE,EACD,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC,CAC9G,CAAC;QACF,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,mBAAmB,CAAC,CAAC;QACvI,mBAAmB,CAAC,kBAAkB,EAAE,+BAA+B,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,CAAC;QACvI,OAAO,CAAC,SAAS,EAAE,iCAAiC,EAAE;YACpD,eAAe,CAAC,4BAA4B,EAAE,mCAAmC,EAAE,oBAAoB,EAAE,eAAe,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAClK,sBAAsB;YACtB,SAAS,CAAC,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,YAAY,CAAC;YAC/E,aAAa,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,CAAC;YAC3F,mBAAmB,CAAC,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,GAAG,mBAAmB,CAAC,CAAC;YACpJ,mBAAmB,CACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,MAAM,EACN,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,EACpC,mBAAmB,CACpB;SACF,CAAC;KACH,EAAE;QACD,QAAQ,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,EAAE,8CAA8C,CAAC;KAChH,CAAC;CACH,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO,CAAC,SAAS,EAAE,gCAAgC,EAAE;QACnD,SAAS,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,YAAY,CAAC;KAC9F,CAAC;CACH,CAAC"}
|
package/dist/src/articles.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PublishedFile } from "@eyeauras/cli-factory";
|
|
2
|
-
import { type Connection, type ProjectionOptions, type YouTrackObject } from "./client.js";
|
|
2
|
+
import { type Connection, type ProjectionOptions, type WriteOptions, type YouTrackObject } from "./client.js";
|
|
3
3
|
export declare const listArticles: (connection: Connection, options?: import("./client.js").PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
4
4
|
export declare const getArticle: (connection: Connection, articleID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
5
5
|
/**
|
|
@@ -10,11 +10,13 @@ export declare function exportArticle(connection: Connection, articleID: string,
|
|
|
10
10
|
id: string;
|
|
11
11
|
redacted: boolean;
|
|
12
12
|
} & PublishedFile>;
|
|
13
|
-
export declare function createArticle(connection: Connection, input: unknown, options?:
|
|
14
|
-
export declare function updateArticle(connection: Connection, articleID: string, input: unknown, options?:
|
|
13
|
+
export declare function createArticle(connection: Connection, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
14
|
+
export declare function updateArticle(connection: Connection, articleID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
15
15
|
export declare const listArticleComments: (connection: Connection, articleID: string, options?: import("./client.js").PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
16
16
|
export declare const getArticleComment: (connection: Connection, articleID: string, commentID: string, options?: ProjectionOptions | undefined) => Promise<YouTrackObject>;
|
|
17
|
-
export declare function addArticleComment(connection: Connection, articleID: string, input: unknown, options?:
|
|
18
|
-
export declare function updateArticleComment(connection: Connection, articleID: string, commentID: string, input: unknown, options?:
|
|
17
|
+
export declare function addArticleComment(connection: Connection, articleID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
18
|
+
export declare function updateArticleComment(connection: Connection, articleID: string, commentID: string, input: unknown, options?: WriteOptions): Promise<YouTrackObject | null>;
|
|
19
19
|
export declare const listProjectArticles: (connection: Connection, projectID: string, options?: import("./client.js").PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
20
|
+
export declare function deleteArticleComment(connection: Connection, articleID: string, commentID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
21
|
+
export declare function deleteArticle(connection: Connection, articleID: string, options?: ProjectionOptions): Promise<YouTrackObject | null>;
|
|
20
22
|
//# sourceMappingURL=articles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articles.d.ts","sourceRoot":"","sources":["../../src/articles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,
|
|
1
|
+
{"version":3,"file":"articles.d.ts","sourceRoot":"","sources":["../../src/articles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAUL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAWrB,eAAO,MAAM,YAAY,kIAAsD,CAAC;AAChF,eAAO,MAAM,UAAU,iHAAiD,CAAC;AAEzE;;;GAGG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,aAAa,CAAC,CAc5D;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAehC;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAahC;AAED,eAAO,MAAM,mBAAmB,qJAG/B,CAAC;AACF,eAAO,MAAM,iBAAiB,oIAI7B,CAAC;AAEF,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAShC;AAED,eAAO,MAAM,mBAAmB,qJAG/B,CAAC;AAGF,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAEvI;AAGD,wBAAsB,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,kCAE7G"}
|
package/dist/src/articles.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { saveFile } from "@eyeauras/cli-factory";
|
|
2
|
-
import { encodedID, fields, mutate, mutationBody, narrative, nullableText, readCollectionAt, readObjectAt, } from "./client.js";
|
|
2
|
+
import { deleteObject, encodedID, fields, mutate, mutationBody, narrative, nullableText, readCollectionAt, readObjectAt, } from "./client.js";
|
|
3
3
|
const articleListFields = "id,idReadable,summary,project(id,shortName),updated";
|
|
4
4
|
const articleDetailFields = `${articleListFields},content,parentArticle(id,idReadable),created`;
|
|
5
5
|
const articleWriteFields = "id,idReadable,summary,updated";
|
|
@@ -30,13 +30,13 @@ export async function exportArticle(connection, articleID, cwd, output) {
|
|
|
30
30
|
}
|
|
31
31
|
export async function createArticle(connection, input, options = {}) {
|
|
32
32
|
const body = mutationBody(input);
|
|
33
|
-
const project = mutationBody(body.project);
|
|
33
|
+
const project = options.draftId !== undefined && body.project === undefined ? undefined : mutationBody(body.project);
|
|
34
34
|
return mutate(connection, "api/articles", {
|
|
35
35
|
...body,
|
|
36
|
-
project: { ...project, id: narrative(project.id, "project.id") },
|
|
36
|
+
...(project === undefined ? {} : { project: { ...project, id: narrative(project.id, "project.id") } }),
|
|
37
37
|
...(Object.hasOwn(body, "summary") ? { summary: nullableText(body.summary, "summary") } : {}),
|
|
38
38
|
...(Object.hasOwn(body, "content") ? { content: nullableText(body.content, "article content") } : {}),
|
|
39
|
-
}, fields(options, articleWriteFields));
|
|
39
|
+
}, fields(options, articleWriteFields), options);
|
|
40
40
|
}
|
|
41
41
|
export async function updateArticle(connection, articleID, input, options = {}) {
|
|
42
42
|
const body = mutationBody(input);
|
|
@@ -44,17 +44,23 @@ export async function updateArticle(connection, articleID, input, options = {})
|
|
|
44
44
|
...body,
|
|
45
45
|
...(Object.hasOwn(body, "summary") ? { summary: nullableText(body.summary, "summary") } : {}),
|
|
46
46
|
...(Object.hasOwn(body, "content") ? { content: nullableText(body.content, "article content") } : {}),
|
|
47
|
-
}, fields(options, articleWriteFields));
|
|
47
|
+
}, fields(options, articleWriteFields), options);
|
|
48
48
|
}
|
|
49
49
|
export const listArticleComments = readCollectionAt((articleID) => `${articlePath(articleID)}/comments`, articleCommentFields);
|
|
50
50
|
export const getArticleComment = readObjectAt((articleID, commentID) => `${articlePath(articleID)}/comments/${encodedID(commentID, "comment ID")}`, articleCommentFields);
|
|
51
51
|
export async function addArticleComment(connection, articleID, input, options = {}) {
|
|
52
52
|
const body = mutationBody(input);
|
|
53
|
-
return mutate(connection, `${articlePath(articleID)}/comments`, { ...body, text: nullableText(body.text, "text") }, fields(options, articleCommentFields));
|
|
53
|
+
return mutate(connection, `${articlePath(articleID)}/comments`, { ...body, ...(options.draftId === undefined || Object.hasOwn(body, "text") ? { text: nullableText(body.text, "text") } : {}) }, fields(options, articleCommentFields), options);
|
|
54
54
|
}
|
|
55
55
|
export async function updateArticleComment(connection, articleID, commentID, input, options = {}) {
|
|
56
56
|
const body = mutationBody(input);
|
|
57
|
-
return mutate(connection, `${articlePath(articleID)}/comments/${encodedID(commentID, "comment ID")}`, { ...body, ...(Object.hasOwn(body, "text") ? { text: nullableText(body.text, "text") } : {}) }, fields(options, articleCommentFields));
|
|
57
|
+
return mutate(connection, `${articlePath(articleID)}/comments/${encodedID(commentID, "comment ID")}`, { ...body, ...(Object.hasOwn(body, "text") ? { text: nullableText(body.text, "text") } : {}) }, fields(options, articleCommentFields), options);
|
|
58
58
|
}
|
|
59
59
|
export const listProjectArticles = readCollectionAt((projectID) => `api/admin/projects/${encodedID(projectID, "project ID")}/articles`, articleListFields);
|
|
60
|
+
export async function deleteArticleComment(connection, articleID, commentID, options = {}) {
|
|
61
|
+
return deleteObject(connection, `${articlePath(articleID)}/comments/${encodedID(commentID, "comment ID")}`, options);
|
|
62
|
+
}
|
|
63
|
+
export async function deleteArticle(connection, articleID, options = {}) {
|
|
64
|
+
return deleteObject(connection, articlePath(articleID), options);
|
|
65
|
+
}
|
|
60
66
|
//# sourceMappingURL=articles.js.map
|
package/dist/src/articles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"articles.js","sourceRoot":"","sources":["../../src/articles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,
|
|
1
|
+
{"version":3,"file":"articles.js","sourceRoot":"","sources":["../../src/articles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,MAAM,EACN,MAAM,EACN,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,GAKb,MAAM,aAAa,CAAC;AAErB,MAAM,iBAAiB,GAAG,qDAAqD,CAAC;AAChF,MAAM,mBAAmB,GAAG,GAAG,iBAAiB,+CAA+C,CAAC;AAChG,MAAM,kBAAkB,GAAG,+BAA+B,CAAC;AAC3D,MAAM,oBAAoB,GAAG,0CAA0C,CAAC;AAExE,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,gBAAgB,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAsB,EACtB,SAAiB,EACjB,GAAW,EACX,MAAe;IAEf,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC7F,MAAM,EAAE,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpF,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,CAAC;QACvG,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,GAAG;QACH,IAAI,EAAE,GAAG,EAAE,KAAK;QAChB,MAAM;QACN,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC;IACH,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,EAAE,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAsB,EACtB,KAAc,EACd,OAAO,GAAiB,EAAE;IAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrH,OAAO,MAAM,CACX,UAAU,EACV,cAAc,EACd;QACE,GAAG,IAAI;QACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC;QACtG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtG,EACD,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,EACnC,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,UAAsB,EACtB,SAAiB,EACjB,KAAc,EACd,OAAO,GAAiB,EAAE;IAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CACX,UAAU,EACV,WAAW,CAAC,SAAS,CAAC,EACtB;QACE,GAAG,IAAI;QACP,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtG,EACD,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC,EACnC,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CACjD,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EAC3D,oBAAoB,CACrB,CAAC;AACF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAC3C,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE,CACvC,GAAG,WAAW,CAAC,SAAS,CAAC,aAAa,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAC5E,oBAAoB,CACrB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,UAAsB,EACtB,SAAiB,EACjB,KAAc,EACd,OAAO,GAAiB,EAAE;IAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CACX,UAAU,EACV,GAAG,WAAW,CAAC,SAAS,CAAC,WAAW,EACpC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC/H,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,EACrC,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAsB,EACtB,SAAiB,EACjB,SAAiB,EACjB,KAAc,EACd,OAAO,GAAiB,EAAE;IAE1B,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CACX,UAAU,EACV,GAAG,WAAW,CAAC,SAAS,CAAC,aAAa,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAC1E,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC9F,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,EACrC,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CACjD,CAAC,SAAiB,EAAE,EAAE,CAAC,sBAAsB,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,WAAW,EAC1F,iBAAiB,CAClB,CAAC;AAGF,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAsB,EAAE,SAAiB,EAAE,SAAiB,EAAE,OAAO,GAAsB,EAAE;IACtI,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,aAAa,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACvH,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAsB,EAAE,SAAiB,EAAE,OAAO,GAAsB,EAAE;IAC5G,OAAO,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup-commands.d.ts","sourceRoot":"","sources":["../../src/backup-commands.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,mDAUxB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { command } from "@eyeauras/cli-factory";
|
|
2
|
+
import { pagedRead, projectedRead, projectedBodyUpdate } from "./cli-support.js";
|
|
3
|
+
import { listBackupFiles, getBackupFile, getBackupSettings, getBackupStatus, updateBackupSettings } from "./backup.js";
|
|
4
|
+
import { backupFileTable, backupFileRecord, backupSettingsRecord, backupStatusRecord, mutationWritten } from "./presentation.js";
|
|
5
|
+
export const backupCommand = command("backup", "Inspect and manage database backups", [
|
|
6
|
+
command("file", "Inspect backup files", [
|
|
7
|
+
pagedRead("list", "List backup files", listBackupFiles, backupFileTable),
|
|
8
|
+
projectedRead("get <backup>", "Show backup file metadata", getBackupFile, backupFileRecord),
|
|
9
|
+
]),
|
|
10
|
+
command("settings", "Inspect and manage backup settings", [
|
|
11
|
+
projectedRead("get", "Show backup settings", getBackupSettings, backupSettingsRecord),
|
|
12
|
+
projectedBodyUpdate("update", "Update backup settings", updateBackupSettings, undefined, mutationWritten("Updated backup settings")),
|
|
13
|
+
]),
|
|
14
|
+
command("status", "Inspect backup status", [projectedRead("get", "Show backup status", getBackupStatus, backupStatusRecord)]),
|
|
15
|
+
]);
|
|
16
|
+
//# sourceMappingURL=backup-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup-commands.js","sourceRoot":"","sources":["../../src/backup-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEjI,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,qCAAqC,EAAE;IACpF,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE;QACtC,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,CAAC;QACxE,aAAa,CAAC,cAAc,EAAE,2BAA2B,EAAE,aAAa,EAAE,gBAAgB,CAAC;KAC5F,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,oCAAoC,EAAE;QACxD,aAAa,CAAC,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC;QACrF,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;KACrI,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;CAC9H,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Connection, type ProjectionOptions } from "./client.js";
|
|
2
|
+
export declare const listBackupFiles: (connection: Connection, options?: import("./client.js").PageOptions | undefined) => Promise<import("./client.js").YouTrackPage>;
|
|
3
|
+
export declare const getBackupFile: (connection: Connection, backup: string, options?: ProjectionOptions | undefined) => Promise<import("./client.js").YouTrackObject>;
|
|
4
|
+
export declare const getBackupSettings: (connection: Connection, options?: ProjectionOptions | undefined) => Promise<import("./client.js").YouTrackObject>;
|
|
5
|
+
export declare const getBackupStatus: (connection: Connection, options?: ProjectionOptions | undefined) => Promise<import("./client.js").YouTrackObject>;
|
|
6
|
+
export declare function updateBackupSettings(connection: Connection, input: unknown, options?: ProjectionOptions): Promise<import("./client.js").YouTrackObject | null>;
|
|
7
|
+
//# sourceMappingURL=backup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.d.ts","sourceRoot":"","sources":["../../src/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiH,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAKrL,eAAO,MAAM,eAAe,kIAAkD,CAAC;AAC/E,eAAO,MAAM,aAAa,oIAAoG,CAAC;AAC/H,eAAO,MAAM,iBAAiB,oHAAmD,CAAC;AAClF,eAAO,MAAM,eAAe,oHAAsH,CAAC;AACnJ,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,wDAajH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { encodedID, fields, mutate, mutationBody, narrative, nativeInt32, nullableText, readCollectionAt, readObjectAt } from "./client.js";
|
|
2
|
+
const root = "api/admin/databaseBackup";
|
|
3
|
+
const fileFields = "id,name,size,creationDate";
|
|
4
|
+
const settingsFields = "id,isOn,archiveFormat,filesToKeep,cronExpression,location,availableDiskSpace";
|
|
5
|
+
export const listBackupFiles = readCollectionAt(`${root}/backups`, fileFields);
|
|
6
|
+
export const getBackupFile = readObjectAt((backup) => `${root}/backups/${encodedID(backup, "backup ID")}`, fileFields);
|
|
7
|
+
export const getBackupSettings = readObjectAt(`${root}/settings`, settingsFields);
|
|
8
|
+
export const getBackupStatus = readObjectAt(`${root}/settings/backupStatus`, "id,backupInProgress,backupCancelled,backupError(date,errorMessage)");
|
|
9
|
+
export async function updateBackupSettings(connection, input, options = {}) {
|
|
10
|
+
const body = mutationBody(input);
|
|
11
|
+
if (Object.hasOwn(body, "location"))
|
|
12
|
+
nullableText(body.location, "location");
|
|
13
|
+
if (Object.hasOwn(body, "cronExpression"))
|
|
14
|
+
narrative(body.cronExpression, "cronExpression");
|
|
15
|
+
if (Object.hasOwn(body, "filesToKeep") && !nativeInt32(body.filesToKeep))
|
|
16
|
+
throw new Error("The filesToKeep value must be an Int32 number.");
|
|
17
|
+
if (Object.hasOwn(body, "archiveFormat") && (typeof body.archiveFormat !== "string" || !["TAR_GZ", "ZIP"].includes(body.archiveFormat)))
|
|
18
|
+
throw new Error("The archiveFormat value must be TAR_GZ or ZIP.");
|
|
19
|
+
if (Object.hasOwn(body, "isOn") && typeof body.isOn !== "boolean")
|
|
20
|
+
throw new Error("The isOn flag must be boolean.");
|
|
21
|
+
if (Object.hasOwn(body, "notifiedUsers")) {
|
|
22
|
+
if (!Array.isArray(body.notifiedUsers))
|
|
23
|
+
throw new Error("The notifiedUsers value must be an array of users.");
|
|
24
|
+
body.notifiedUsers.forEach(user => mutationBody(user));
|
|
25
|
+
}
|
|
26
|
+
if (Object.hasOwn(body, "backupStatus"))
|
|
27
|
+
mutationBody(body.backupStatus);
|
|
28
|
+
return mutate(connection, `${root}/settings`, body, fields(options, settingsFields));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=backup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../src/backup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAA2C,MAAM,aAAa,CAAC;AAErL,MAAM,IAAI,GAAG,0BAA0B,CAAC;AACxC,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAC/C,MAAM,cAAc,GAAG,8EAA8E,CAAC;AACtG,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,IAAI,UAAU,EAAE,UAAU,CAAC,CAAC;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,IAAI,YAAY,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/H,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,GAAG,IAAI,WAAW,EAAE,cAAc,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,IAAI,wBAAwB,EAAE,oEAAoE,CAAC,CAAC;AACnJ,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAsB,EAAE,KAAc,EAAE,OAAO,GAAsB,EAAE;IAChH,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC5F,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC5I,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAC3M,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACrH,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC9G,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC;QAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-values-commands.d.ts","sourceRoot":"","sources":["../../src/bundle-values-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-values-commands.d.ts","sourceRoot":"","sources":["../../src/bundle-values-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA0BxE,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EA2C5D,CAAC"}
|
|
@@ -1,30 +1,48 @@
|
|
|
1
1
|
import { command } from "@eyeauras/cli-factory";
|
|
2
|
-
import { pagedRead, projectedRead } from "./cli-support.js";
|
|
3
|
-
import { getBuildBundle, getBuildValue, getOwnedBundle, getOwnedValue, getVersionBundle, getVersionValue, listBuildBundles, listBuildValues, listOwnedBundles, listOwnedValues, listVersionBundles, listVersionValues, } from "./bundle-values.js";
|
|
4
|
-
import { namedTable } from "./presentation.js";
|
|
2
|
+
import { pagedRead, projectedRead, projectedBodyUpdate, projectedDelete } from "./cli-support.js";
|
|
3
|
+
import { createBuildBundle, updateBuildBundle, deleteBuildBundle, createBuildValue, updateBuildValue, deleteBuildValue, getBuildBundle, createVersionBundle, updateVersionBundle, deleteVersionBundle, deleteVersionValue, createVersionValue, updateVersionValue, getBuildValue, createOwnedBundle, updateOwnedBundle, deleteOwnedBundle, createOwnedValue, updateOwnedValue, deleteOwnedValue, getOwnedBundle, getOwnedValue, getVersionBundle, getVersionValue, listBuildBundles, listBuildValues, listOwnedBundles, listOwnedValues, listVersionBundles, listVersionValues, } from "./bundle-values.js";
|
|
4
|
+
import { mutationWritten, namedTable, bundleValueWritten } from "./presentation.js";
|
|
5
5
|
const bundleTable = namedTable("BUNDLE", "No bundles.");
|
|
6
6
|
const valueTable = namedTable("VALUE", "No values.");
|
|
7
7
|
export const bundleValuesChildren = [
|
|
8
|
-
command("build", "Inspect build bundles", [
|
|
8
|
+
command("build", "Inspect and manage build bundles", [
|
|
9
|
+
projectedBodyUpdate("create", "Create a build bundle", createBuildBundle, undefined, mutationWritten("Created build bundle")),
|
|
10
|
+
projectedBodyUpdate("update <bundle>", "Update a build bundle", updateBuildBundle, undefined, mutationWritten("Updated build bundle", "bundle")),
|
|
11
|
+
projectedDelete("delete <bundle>", "Delete a selected build bundle", deleteBuildBundle, mutationWritten("Deleted build bundle", "bundle")),
|
|
9
12
|
pagedRead("list", "List build bundles", listBuildBundles, bundleTable),
|
|
10
13
|
projectedRead("get <bundle>", "Show a build bundle", getBuildBundle),
|
|
11
|
-
command("value", "Inspect build values", [
|
|
14
|
+
command("value", "Inspect and manage build values", [
|
|
15
|
+
projectedBodyUpdate("create <bundle>", "Create a build value", createBuildValue, undefined, bundleValueWritten),
|
|
16
|
+
projectedBodyUpdate("update <bundle> <value>", "Update a build value", updateBuildValue, undefined, bundleValueWritten),
|
|
17
|
+
projectedDelete("delete <bundle> <value>", "Delete a selected build value", deleteBuildValue, mutationWritten("Deleted build value", "value", "bundle")),
|
|
12
18
|
pagedRead("list <bundle>", "List the bundle's values", listBuildValues, valueTable),
|
|
13
19
|
projectedRead("get <bundle> <value>", "Show a build value", getBuildValue),
|
|
14
20
|
]),
|
|
15
21
|
]),
|
|
16
|
-
command("owned", "Inspect owned-field bundles", [
|
|
22
|
+
command("owned", "Inspect and manage owned-field bundles", [
|
|
23
|
+
projectedBodyUpdate("create", "Create an owned-field bundle", createOwnedBundle, undefined, mutationWritten("Created owned-field bundle")),
|
|
24
|
+
projectedBodyUpdate("update <bundle>", "Update an owned-field bundle", updateOwnedBundle, undefined, mutationWritten("Updated owned-field bundle", "bundle")),
|
|
25
|
+
projectedDelete("delete <bundle>", "Delete a selected owned-field bundle", deleteOwnedBundle, mutationWritten("Deleted owned-field bundle", "bundle")),
|
|
17
26
|
pagedRead("list", "List owned-field bundles", listOwnedBundles, bundleTable),
|
|
18
27
|
projectedRead("get <bundle>", "Show an owned-field bundle", getOwnedBundle),
|
|
19
|
-
command("value", "Inspect owned values", [
|
|
28
|
+
command("value", "Inspect and manage owned values", [
|
|
29
|
+
projectedBodyUpdate("create <bundle>", "Create an owned value", createOwnedValue, undefined, bundleValueWritten),
|
|
30
|
+
projectedBodyUpdate("update <bundle> <value>", "Update an owned value", updateOwnedValue, undefined, bundleValueWritten),
|
|
31
|
+
projectedDelete("delete <bundle> <value>", "Delete a selected owned value", deleteOwnedValue, mutationWritten("Deleted owned value", "value", "bundle")),
|
|
20
32
|
pagedRead("list <bundle>", "List the bundle's values", listOwnedValues, valueTable),
|
|
21
33
|
projectedRead("get <bundle> <value>", "Show an owned value", getOwnedValue),
|
|
22
34
|
]),
|
|
23
35
|
]),
|
|
24
|
-
command("version", "Inspect version bundles", [
|
|
36
|
+
command("version", "Inspect and manage version bundles", [
|
|
37
|
+
projectedBodyUpdate("create", "Create a version bundle", createVersionBundle, undefined, mutationWritten("Created version bundle")),
|
|
38
|
+
projectedBodyUpdate("update <bundle>", "Update a version bundle", updateVersionBundle, undefined, mutationWritten("Updated version bundle", "bundle")),
|
|
39
|
+
projectedDelete("delete <bundle>", "Delete a selected version bundle", deleteVersionBundle, mutationWritten("Deleted version bundle", "bundle")),
|
|
25
40
|
pagedRead("list", "List version bundles", listVersionBundles, bundleTable),
|
|
26
41
|
projectedRead("get <bundle>", "Show a version bundle", getVersionBundle),
|
|
27
|
-
command("value", "Inspect version values", [
|
|
42
|
+
command("value", "Inspect and manage version values", [
|
|
43
|
+
projectedDelete("delete <bundle> <value>", "Delete a selected version value", deleteVersionValue, mutationWritten("Deleted version value", "value", "bundle")),
|
|
44
|
+
projectedBodyUpdate("update <bundle> <value>", "Update a version value", updateVersionValue, undefined, bundleValueWritten),
|
|
45
|
+
projectedBodyUpdate("create <bundle>", "Create a version value", createVersionValue, undefined, bundleValueWritten),
|
|
28
46
|
pagedRead("list <bundle>", "List the bundle's values", listVersionValues, valueTable),
|
|
29
47
|
projectedRead("get <bundle> <value>", "Show a version value", getVersionValue),
|
|
30
48
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-values-commands.js","sourceRoot":"","sources":["../../src/bundle-values-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA0B,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-values-commands.js","sourceRoot":"","sources":["../../src/bundle-values-commands.ts"],"names":[],"mappings":"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"}
|