@resolution/jira-api-client 0.1.0 → 0.1.2

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.
Files changed (201) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/package.json +10 -3
  3. package/.eslintrc.js +0 -3
  4. package/config/api-typescript-generator.config.ts +0 -91
  5. package/config/compare-schemas.ts +0 -307
  6. package/src/index.ts +0 -47
  7. package/src/openapi/platform/base-jira-platform-api-client.ts +0 -2298
  8. package/src/openapi/platform/core/common-http-client.ts +0 -723
  9. package/src/openapi/platform/core/common-http-service.ts +0 -22
  10. package/src/openapi/platform/core/common-validation-schema-storage.ts +0 -105
  11. package/src/openapi/platform/models/announcement-banner.ts +0 -59
  12. package/src/openapi/platform/models/app-data-policies.ts +0 -79
  13. package/src/openapi/platform/models/app-migration.ts +0 -172
  14. package/src/openapi/platform/models/app-properties.ts +0 -32
  15. package/src/openapi/platform/models/audit-records.ts +0 -140
  16. package/src/openapi/platform/models/avatars.ts +0 -48
  17. package/src/openapi/platform/models/classification-levels.ts +0 -58
  18. package/src/openapi/platform/models/common.ts +0 -2669
  19. package/src/openapi/platform/models/dashboards.ts +0 -849
  20. package/src/openapi/platform/models/dynamic-modules.ts +0 -121
  21. package/src/openapi/platform/models/filter-sharing.ts +0 -103
  22. package/src/openapi/platform/models/filters.ts +0 -319
  23. package/src/openapi/platform/models/group-and-user-picker.ts +0 -85
  24. package/src/openapi/platform/models/groups.ts +0 -247
  25. package/src/openapi/platform/models/issue-attachments.ts +0 -290
  26. package/src/openapi/platform/models/issue-comment-properties.ts +0 -27
  27. package/src/openapi/platform/models/issue-comments.ts +0 -91
  28. package/src/openapi/platform/models/issue-custom-field-configuration-apps.ts +0 -96
  29. package/src/openapi/platform/models/issue-custom-field-contexts.ts +0 -1072
  30. package/src/openapi/platform/models/issue-custom-field-options-apps.ts +0 -273
  31. package/src/openapi/platform/models/issue-custom-field-options.ts +0 -283
  32. package/src/openapi/platform/models/issue-custom-field-values-apps.ts +0 -118
  33. package/src/openapi/platform/models/issue-field-configurations.ts +0 -435
  34. package/src/openapi/platform/models/issue-fields.ts +0 -392
  35. package/src/openapi/platform/models/issue-link-types.ts +0 -28
  36. package/src/openapi/platform/models/issue-links.ts +0 -185
  37. package/src/openapi/platform/models/issue-notification-schemes.ts +0 -370
  38. package/src/openapi/platform/models/issue-priorities.ts +0 -196
  39. package/src/openapi/platform/models/issue-properties.ts +0 -259
  40. package/src/openapi/platform/models/issue-remote-links.ts +0 -207
  41. package/src/openapi/platform/models/issue-resolutions.ts +0 -180
  42. package/src/openapi/platform/models/issue-search.ts +0 -367
  43. package/src/openapi/platform/models/issue-security-level.ts +0 -76
  44. package/src/openapi/platform/models/issue-security-schemes.ts +0 -496
  45. package/src/openapi/platform/models/issue-type-schemes.ts +0 -290
  46. package/src/openapi/platform/models/issue-type-screen-schemes.ts +0 -286
  47. package/src/openapi/platform/models/issue-types.ts +0 -66
  48. package/src/openapi/platform/models/issue-votes.ts +0 -38
  49. package/src/openapi/platform/models/issue-watchers.ts +0 -67
  50. package/src/openapi/platform/models/issue-worklogs.ts +0 -190
  51. package/src/openapi/platform/models/issues.ts +0 -1268
  52. package/src/openapi/platform/models/jira-expressions.ts +0 -578
  53. package/src/openapi/platform/models/jira-settings.ts +0 -118
  54. package/src/openapi/platform/models/jql-functions-apps.ts +0 -128
  55. package/src/openapi/platform/models/jql.ts +0 -783
  56. package/src/openapi/platform/models/labels.ts +0 -42
  57. package/src/openapi/platform/models/license-metrics.ts +0 -68
  58. package/src/openapi/platform/models/myself.ts +0 -29
  59. package/src/openapi/platform/models/permission-schemes.ts +0 -89
  60. package/src/openapi/platform/models/permissions.ts +0 -308
  61. package/src/openapi/platform/models/priority-schemes.ts +0 -527
  62. package/src/openapi/platform/models/project-avatars.ts +0 -29
  63. package/src/openapi/platform/models/project-classification-levels.ts +0 -24
  64. package/src/openapi/platform/models/project-components.ts +0 -231
  65. package/src/openapi/platform/models/project-email.ts +0 -27
  66. package/src/openapi/platform/models/project-features.ts +0 -78
  67. package/src/openapi/platform/models/project-permission-schemes.ts +0 -43
  68. package/src/openapi/platform/models/project-role-actors.ts +0 -107
  69. package/src/openapi/platform/models/project-roles.ts +0 -76
  70. package/src/openapi/platform/models/project-types.ts +0 -36
  71. package/src/openapi/platform/models/project-versions.ts +0 -216
  72. package/src/openapi/platform/models/projects.ts +0 -429
  73. package/src/openapi/platform/models/screen-schemes.ts +0 -192
  74. package/src/openapi/platform/models/screen-tab-fields.ts +0 -45
  75. package/src/openapi/platform/models/screens.ts +0 -171
  76. package/src/openapi/platform/models/server-info.ts +0 -100
  77. package/src/openapi/platform/models/service-registry.ts +0 -68
  78. package/src/openapi/platform/models/status.ts +0 -229
  79. package/src/openapi/platform/models/time-tracking.ts +0 -38
  80. package/src/openapi/platform/models/ui-modifications-apps.ts +0 -229
  81. package/src/openapi/platform/models/user-search.ts +0 -69
  82. package/src/openapi/platform/models/users.ts +0 -121
  83. package/src/openapi/platform/models/webhooks.ts +0 -307
  84. package/src/openapi/platform/models/workflow-scheme-drafts.ts +0 -58
  85. package/src/openapi/platform/models/workflow-scheme-project-associations.ts +0 -68
  86. package/src/openapi/platform/models/workflow-schemes.ts +0 -545
  87. package/src/openapi/platform/models/workflow-transition-properties.ts +0 -33
  88. package/src/openapi/platform/models/workflow-transition-rules.ts +0 -261
  89. package/src/openapi/platform/models/workflows.ts +0 -1943
  90. package/src/openapi/platform/services/announcement-banner-service.ts +0 -142
  91. package/src/openapi/platform/services/app-data-policies-service.ts +0 -136
  92. package/src/openapi/platform/services/app-migration-service.ts +0 -289
  93. package/src/openapi/platform/services/app-properties-service.ts +0 -441
  94. package/src/openapi/platform/services/application-roles-service.ts +0 -247
  95. package/src/openapi/platform/services/audit-records-service.ts +0 -164
  96. package/src/openapi/platform/services/avatars-service.ts +0 -769
  97. package/src/openapi/platform/services/classification-levels-service.ts +0 -131
  98. package/src/openapi/platform/services/dashboards-service.ts +0 -1721
  99. package/src/openapi/platform/services/dynamic-modules-service.ts +0 -127
  100. package/src/openapi/platform/services/filter-sharing-service.ts +0 -687
  101. package/src/openapi/platform/services/filters-service.ts +0 -1901
  102. package/src/openapi/platform/services/group-and-user-picker-service.ts +0 -224
  103. package/src/openapi/platform/services/groups-service.ts +0 -751
  104. package/src/openapi/platform/services/issue-attachments-service.ts +0 -900
  105. package/src/openapi/platform/services/issue-comment-properties-service.ts +0 -324
  106. package/src/openapi/platform/services/issue-comments-service.ts +0 -812
  107. package/src/openapi/platform/services/issue-custom-field-configuration-apps-service.ts +0 -277
  108. package/src/openapi/platform/services/issue-custom-field-contexts-service.ts +0 -1339
  109. package/src/openapi/platform/services/issue-custom-field-options-apps-service.ts +0 -994
  110. package/src/openapi/platform/services/issue-custom-field-options-service.ts +0 -651
  111. package/src/openapi/platform/services/issue-custom-field-values-apps-service.ts +0 -201
  112. package/src/openapi/platform/services/issue-field-configurations-service.ts +0 -1294
  113. package/src/openapi/platform/services/issue-fields-service.ts +0 -837
  114. package/src/openapi/platform/services/issue-link-types-service.ts +0 -360
  115. package/src/openapi/platform/services/issue-links-service.ts +0 -345
  116. package/src/openapi/platform/services/issue-navigator-settings-service.ts +0 -119
  117. package/src/openapi/platform/services/issue-notification-schemes-service.ts +0 -1209
  118. package/src/openapi/platform/services/issue-priorities-service.ts +0 -575
  119. package/src/openapi/platform/services/issue-properties-service.ts +0 -606
  120. package/src/openapi/platform/services/issue-remote-links-service.ts +0 -597
  121. package/src/openapi/platform/services/issue-resolutions-service.ts +0 -534
  122. package/src/openapi/platform/services/issue-search-service.ts +0 -1139
  123. package/src/openapi/platform/services/issue-security-level-service.ts +0 -250
  124. package/src/openapi/platform/services/issue-security-schemes-service.ts +0 -1240
  125. package/src/openapi/platform/services/issue-type-properties-service.ts +0 -325
  126. package/src/openapi/platform/services/issue-type-schemes-service.ts +0 -940
  127. package/src/openapi/platform/services/issue-type-screen-schemes-service.ts +0 -994
  128. package/src/openapi/platform/services/issue-types-service.ts +0 -679
  129. package/src/openapi/platform/services/issue-votes-service.ts +0 -221
  130. package/src/openapi/platform/services/issue-watchers-service.ts +0 -331
  131. package/src/openapi/platform/services/issue-worklog-properties-service.ts +0 -348
  132. package/src/openapi/platform/services/issue-worklogs-service.ts +0 -1089
  133. package/src/openapi/platform/services/issues-service.ts +0 -3346
  134. package/src/openapi/platform/services/jira-expressions-service.ts +0 -407
  135. package/src/openapi/platform/services/jira-settings-service.ts +0 -415
  136. package/src/openapi/platform/services/jql-functions-apps-service.ts +0 -219
  137. package/src/openapi/platform/services/jql-service.ts +0 -896
  138. package/src/openapi/platform/services/labels-service.ts +0 -89
  139. package/src/openapi/platform/services/license-metrics-service.ts +0 -216
  140. package/src/openapi/platform/services/myself-service.ts +0 -520
  141. package/src/openapi/platform/services/permission-schemes-service.ts +0 -926
  142. package/src/openapi/platform/services/permissions-service.ts +0 -407
  143. package/src/openapi/platform/services/priority-schemes-service.ts +0 -1001
  144. package/src/openapi/platform/services/project-avatars-service.ts +0 -341
  145. package/src/openapi/platform/services/project-categories-service.ts +0 -318
  146. package/src/openapi/platform/services/project-classification-levels-service.ts +0 -232
  147. package/src/openapi/platform/services/project-components-service.ts +0 -1332
  148. package/src/openapi/platform/services/project-email-service.ts +0 -161
  149. package/src/openapi/platform/services/project-features-service.ts +0 -207
  150. package/src/openapi/platform/services/project-key-and-name-validation-service.ts +0 -200
  151. package/src/openapi/platform/services/project-permission-schemes-service.ts +0 -384
  152. package/src/openapi/platform/services/project-properties-service.ts +0 -320
  153. package/src/openapi/platform/services/project-role-actors-service.ts +0 -627
  154. package/src/openapi/platform/services/project-roles-service.ts +0 -867
  155. package/src/openapi/platform/services/project-types-service.ts +0 -297
  156. package/src/openapi/platform/services/project-versions-service.ts +0 -1287
  157. package/src/openapi/platform/services/projects-service.ts +0 -2196
  158. package/src/openapi/platform/services/screen-schemes-service.ts +0 -334
  159. package/src/openapi/platform/services/screen-tab-fields-service.ts +0 -276
  160. package/src/openapi/platform/services/screen-tabs-service.ts +0 -421
  161. package/src/openapi/platform/services/screens-service.ts +0 -528
  162. package/src/openapi/platform/services/server-info-service.ts +0 -88
  163. package/src/openapi/platform/services/service-registry-service.ts +0 -89
  164. package/src/openapi/platform/services/status-service.ts +0 -498
  165. package/src/openapi/platform/services/tasks-service.ts +0 -159
  166. package/src/openapi/platform/services/time-tracking-service.ts +0 -386
  167. package/src/openapi/platform/services/ui-modifications-apps-service.ts +0 -403
  168. package/src/openapi/platform/services/user-properties-service.ts +0 -413
  169. package/src/openapi/platform/services/user-search-service.ts +0 -1214
  170. package/src/openapi/platform/services/users-service.ts +0 -1108
  171. package/src/openapi/platform/services/webhooks-service.ts +0 -458
  172. package/src/openapi/platform/services/workflow-scheme-drafts-service.ts +0 -1313
  173. package/src/openapi/platform/services/workflow-scheme-project-associations-service.ts +0 -189
  174. package/src/openapi/platform/services/workflow-schemes-service.ts +0 -1617
  175. package/src/openapi/platform/services/workflow-status-categories-service.ts +0 -151
  176. package/src/openapi/platform/services/workflow-statuses-service.ts +0 -176
  177. package/src/openapi/platform/services/workflow-transition-properties-service.ts +0 -388
  178. package/src/openapi/platform/services/workflow-transition-rules-service.ts +0 -485
  179. package/src/openapi/platform/services/workflows-service.ts +0 -3477
  180. package/src/openapi/platform/validation-schema-storage.ts +0 -186
  181. package/src/openapi/software/base-jira-software-api-client.ts +0 -447
  182. package/src/openapi/software/core/common-http-client.ts +0 -723
  183. package/src/openapi/software/core/common-http-service.ts +0 -22
  184. package/src/openapi/software/core/common-validation-schema-storage.ts +0 -105
  185. package/src/openapi/software/models/board.ts +0 -918
  186. package/src/openapi/software/services/backlog-service.ts +0 -160
  187. package/src/openapi/software/services/board-service.ts +0 -4189
  188. package/src/openapi/software/services/builds-service.ts +0 -571
  189. package/src/openapi/software/services/deployments-service.ts +0 -403
  190. package/src/openapi/software/services/dev-ops-components-service.ts +0 -371
  191. package/src/openapi/software/services/development-information-service.ts +0 -2357
  192. package/src/openapi/software/services/epic-service.ts +0 -854
  193. package/src/openapi/software/services/feature-flags-service.ts +0 -303
  194. package/src/openapi/software/services/issue-service.ts +0 -529
  195. package/src/openapi/software/services/operations-service.ts +0 -741
  196. package/src/openapi/software/services/remote-links-service.ts +0 -653
  197. package/src/openapi/software/services/security-information-service.ts +0 -495
  198. package/src/openapi/software/services/sprint-service.ts +0 -969
  199. package/src/openapi/software/validation-schema-storage.ts +0 -186
  200. package/tsconfig.build.json +0 -7
  201. package/tsconfig.json +0 -4
@@ -1,42 +0,0 @@
1
- // DO NOT EDIT!
2
- // This file is generated by "api-typescript-generator".
3
- // To update this file run "yarn build:openapi".
4
- import { z, type ZodTypeAny } from "zod";
5
-
6
- import type { CommonValidationSchemaStorage } from "../core/common-validation-schema-storage";
7
- /** A page of items. */
8
- export interface PageBeanString {
9
- /** Whether this is the last page. */
10
- isLast?: boolean;
11
- /** The maximum number of items that could be returned. */
12
- maxResults?: number;
13
- /** If there is another page of results, the URL of the next page. */
14
- nextPage?: string;
15
- /** The URL of the page. */
16
- self?: string;
17
- /** The index of the first item returned. */
18
- startAt?: number;
19
- /** The number of items returned. */
20
- total?: number;
21
- /** The list of items. */
22
- values?: string[];
23
- }
24
- export function registerLabelsValidationSchemas(
25
- validationSchemaStorage: CommonValidationSchemaStorage<ZodTypeAny>,
26
- ) {
27
- validationSchemaStorage.register(
28
- "PageBeanString",
29
- z
30
- .object({
31
- isLast: z.boolean().optional(),
32
- maxResults: z.number().int().optional(),
33
- nextPage: z.string().optional(),
34
- self: z.string().optional(),
35
- startAt: z.number().int().optional(),
36
- total: z.number().int().optional(),
37
- values: z.array(z.string()).optional(),
38
- })
39
- .strict()
40
- .describe("PageBeanString"),
41
- );
42
- }
@@ -1,68 +0,0 @@
1
- // DO NOT EDIT!
2
- // This file is generated by "api-typescript-generator".
3
- // To update this file run "yarn build:openapi".
4
- import { z, type ZodTypeAny } from "zod";
5
-
6
- import type { CommonValidationSchemaStorage } from "../core/common-validation-schema-storage";
7
- export interface ErrorCollections {}
8
- /** Details about a license for the Jira instance. */
9
- export interface License {
10
- /** The applications under this license. */
11
- applications: LicensedApplication[];
12
- }
13
- /** Details about a licensed Jira application. */
14
- export interface LicensedApplication {
15
- /** The ID of the application. */
16
- id: string;
17
- /** The licensing plan. */
18
- plan: "UNLICENSED" | "FREE" | "PAID";
19
- }
20
- /** A metric that provides insight into the active licence details */
21
- export interface LicenseMetric {
22
- /** The key of a specific license metric. */
23
- key?: string;
24
- /**
25
- * The calculated value of a licence metric linked to the key. An example licence
26
- * metric is the approximate number of user accounts.
27
- */
28
- value?: string;
29
- }
30
- export function registerLicenseMetricsValidationSchemas(
31
- validationSchemaStorage: CommonValidationSchemaStorage<ZodTypeAny>,
32
- ) {
33
- validationSchemaStorage.register(
34
- "ErrorCollections",
35
- z.object({}).strict().describe("ErrorCollections"),
36
- );
37
- validationSchemaStorage.register(
38
- "License",
39
- z
40
- .object({
41
- applications: z.array(
42
- validationSchemaStorage.lazy("LicensedApplication"),
43
- ),
44
- })
45
- .strict()
46
- .describe("License"),
47
- );
48
- validationSchemaStorage.register(
49
- "LicensedApplication",
50
- z
51
- .object({
52
- id: z.string(),
53
- plan: z.enum(["UNLICENSED", "FREE", "PAID"]),
54
- })
55
- .strict()
56
- .describe("LicensedApplication"),
57
- );
58
- validationSchemaStorage.register(
59
- "LicenseMetric",
60
- z
61
- .object({
62
- key: z.string().optional(),
63
- value: z.string().optional(),
64
- })
65
- .strict()
66
- .describe("LicenseMetric"),
67
- );
68
- }
@@ -1,29 +0,0 @@
1
- // DO NOT EDIT!
2
- // This file is generated by "api-typescript-generator".
3
- // To update this file run "yarn build:openapi".
4
- import { z, type ZodTypeAny } from "zod";
5
-
6
- import type { CommonValidationSchemaStorage } from "../core/common-validation-schema-storage";
7
- /** Details of a locale. */
8
- export interface Locale {
9
- /**
10
- * The locale code. The Java the locale format is used: a two character language
11
- * code (ISO 639), an underscore, and two letter country code (ISO 3166). For
12
- * example, en\_US represents a locale of English (United States). Required on
13
- * create.
14
- */
15
- locale?: string;
16
- }
17
- export function registerMyselfValidationSchemas(
18
- validationSchemaStorage: CommonValidationSchemaStorage<ZodTypeAny>,
19
- ) {
20
- validationSchemaStorage.register(
21
- "Locale",
22
- z
23
- .object({
24
- locale: z.string().optional(),
25
- })
26
- .strict()
27
- .describe("Locale"),
28
- );
29
- }
@@ -1,89 +0,0 @@
1
- // DO NOT EDIT!
2
- // This file is generated by "api-typescript-generator".
3
- // To update this file run "yarn build:openapi".
4
- import { z, type ZodTypeAny } from "zod";
5
-
6
- import type { CommonValidationSchemaStorage } from "../core/common-validation-schema-storage";
7
- import {
8
- type PermissionHolder,
9
- type PermissionScheme,
10
- registerCommonValidationSchemas,
11
- } from "./common";
12
- /** Details about a permission granted to a user or group. */
13
- export interface PermissionGrant extends Record<string, unknown> {
14
- /**
15
- * The user or group being granted the permission. It consists of a `type`, a
16
- * type-dependent `parameter` and a type-dependent `value`. See [Holder
17
- * object](../api-group-permission-schemes/#holder-object) in *Get all permission
18
- * schemes* for more information.
19
- */
20
- holder?: PermissionHolder;
21
- /** The ID of the permission granted details. */
22
- id?: number;
23
- /**
24
- * The permission to grant. This permission can be one of the built-in permissions
25
- * or a custom permission added by an app. See [Built-in
26
- * permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all
27
- * permission schemes* for more information about the built-in permissions. See
28
- * the [project
29
- * permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/)
30
- * and [global
31
- * permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/)
32
- * module documentation for more information about custom permissions.
33
- */
34
- permission?: string;
35
- /** The URL of the permission granted details. */
36
- self?: string;
37
- }
38
- /** List of permission grants. */
39
- export interface PermissionGrants {
40
- /** Expand options that include additional permission grant details in the response. */
41
- expand?: string;
42
- /** Permission grants list. */
43
- permissions?: PermissionGrant[];
44
- }
45
- /** List of all permission schemes. */
46
- export interface PermissionSchemes {
47
- /** Permission schemes list. */
48
- permissionSchemes?: PermissionScheme[];
49
- }
50
- export function registerPermissionSchemesValidationSchemas(
51
- validationSchemaStorage: CommonValidationSchemaStorage<ZodTypeAny>,
52
- ) {
53
- validationSchemaStorage.register(
54
- "PermissionGrant",
55
- z
56
- .object({
57
- holder: validationSchemaStorage.lazy("PermissionHolder").optional(),
58
- id: z.number().int().optional(),
59
- permission: z.string().optional(),
60
- self: z.string().optional(),
61
- })
62
- .catchall(z.unknown())
63
- .describe("PermissionGrant"),
64
- );
65
- validationSchemaStorage.register(
66
- "PermissionGrants",
67
- z
68
- .object({
69
- expand: z.string().optional(),
70
- permissions: z
71
- .array(validationSchemaStorage.lazy("PermissionGrant"))
72
- .optional(),
73
- })
74
- .strict()
75
- .describe("PermissionGrants"),
76
- );
77
- validationSchemaStorage.register(
78
- "PermissionSchemes",
79
- z
80
- .object({
81
- permissionSchemes: z
82
- .array(validationSchemaStorage.lazy("PermissionScheme"))
83
- .optional(),
84
- })
85
- .strict()
86
- .describe("PermissionSchemes"),
87
- );
88
- validationSchemaStorage.registerOnce([registerCommonValidationSchemas]);
89
- }
@@ -1,308 +0,0 @@
1
- // DO NOT EDIT!
2
- // This file is generated by "api-typescript-generator".
3
- // To update this file run "yarn build:openapi".
4
- import { z, type ZodTypeAny } from "zod";
5
-
6
- import type { CommonValidationSchemaStorage } from "../core/common-validation-schema-storage";
7
- /** Details of global and project permissions granted to the user. */
8
- export interface BulkPermissionGrants {
9
- /** List of permissions granted to the user. */
10
- globalPermissions: string[];
11
- /**
12
- * List of project permissions and the projects and issues those permissions
13
- * provide access to.
14
- */
15
- projectPermissions: BulkProjectPermissionGrants[];
16
- }
17
- /**
18
- * Details of global permissions to look up and project permissions with
19
- * associated projects and issues to look up.
20
- */
21
- export interface BulkPermissionsRequestBean {
22
- /** The account ID of a user. */
23
- accountId?: string;
24
- /** Global permissions to look up. */
25
- globalPermissions?: string[];
26
- /** Project permissions with associated projects and issues to look up. */
27
- projectPermissions?: BulkProjectPermissions[];
28
- }
29
- /**
30
- * List of project permissions and the projects and issues those permissions grant
31
- * access to.
32
- */
33
- export interface BulkProjectPermissionGrants {
34
- /** IDs of the issues the user has the permission for. */
35
- issues: number[];
36
- /** A project permission, */
37
- permission: string;
38
- /** IDs of the projects the user has the permission for. */
39
- projects: number[];
40
- }
41
- /** Details of project permissions and associated issues and projects to look up. */
42
- export interface BulkProjectPermissions {
43
- /** List of issue IDs. */
44
- issues?: number[];
45
- /** List of project permissions. */
46
- permissions: string[];
47
- /** List of project IDs. */
48
- projects?: number[];
49
- }
50
- /** Details about permissions. */
51
- export interface Permissions {
52
- /** List of permissions. */
53
- permissions?: {
54
- /** Details of a permission and its availability to a user. */
55
- [key: string]: UserPermission;
56
- };
57
- }
58
- export interface PermissionsKeysBean {
59
- /** A list of permission keys. */
60
- permissions: string[];
61
- }
62
- /** A list of projects in which a user is granted permissions. */
63
- export interface PermittedProjects {
64
- /** A list of projects. */
65
- projects?: ProjectIdentifierBean[];
66
- }
67
- /** The identifiers for a project. */
68
- export interface ProjectIdentifierBean {
69
- /** The ID of the project. */
70
- id?: number;
71
- /** The key of the project. */
72
- key?: string;
73
- }
74
- /** Details of a permission and its availability to a user. */
75
- export interface UserPermission extends Record<string, unknown> {
76
- /**
77
- * Indicate whether the permission key is deprecated. Note that deprecated keys
78
- * cannot be used in the `permissions parameter of Get my permissions. Deprecated
79
- * keys are not returned by Get all permissions.`
80
- */
81
- deprecatedKey?: boolean;
82
- /** The description of the permission. */
83
- description?: string;
84
- /** Whether the permission is available to the user in the queried context. */
85
- havePermission?: boolean;
86
- /**
87
- * The ID of the permission. Either `id` or `key` must be specified. Use [Get all
88
- * permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
89
- */
90
- id?: string;
91
- /**
92
- * The key of the permission. Either `id` or `key` must be specified. Use [Get all
93
- * permissions](#api-rest-api-3-permissions-get) to get the list of permissions.
94
- */
95
- key?: string;
96
- /** The name of the permission. */
97
- name?: string;
98
- /** The type of the permission. */
99
- type?: "GLOBAL" | "PROJECT";
100
- }
101
- export function registerPermissionsValidationSchemas(
102
- validationSchemaStorage: CommonValidationSchemaStorage<ZodTypeAny>,
103
- ) {
104
- validationSchemaStorage.register(
105
- "BulkPermissionGrants",
106
- z
107
- .object({
108
- globalPermissions: z.array(z.string()).superRefine((items, ctx) => {
109
- if (new Set(items).size !== items.length) {
110
- ctx.addIssue({
111
- code: z.ZodIssueCode.custom,
112
- path: [],
113
- message: "Array items must be unique",
114
- });
115
- }
116
- }),
117
- projectPermissions: z
118
- .array(validationSchemaStorage.lazy("BulkProjectPermissionGrants"))
119
- .superRefine((items, ctx) => {
120
- if (
121
- new Set(items.map((item) => JSON.stringify(item))).size !==
122
- items.length
123
- ) {
124
- ctx.addIssue({
125
- code: z.ZodIssueCode.custom,
126
- path: [],
127
- message: "Array items must be unique",
128
- });
129
- }
130
- }),
131
- })
132
- .strict()
133
- .describe("BulkPermissionGrants"),
134
- );
135
- validationSchemaStorage.register(
136
- "BulkPermissionsRequestBean",
137
- z
138
- .object({
139
- accountId: z.string().optional(),
140
- globalPermissions: z
141
- .array(z.string())
142
- .superRefine((items, ctx) => {
143
- if (new Set(items).size !== items.length) {
144
- ctx.addIssue({
145
- code: z.ZodIssueCode.custom,
146
- path: [],
147
- message: "Array items must be unique",
148
- });
149
- }
150
- })
151
- .optional(),
152
- projectPermissions: z
153
- .array(validationSchemaStorage.lazy("BulkProjectPermissions"))
154
- .superRefine((items, ctx) => {
155
- if (
156
- new Set(items.map((item) => JSON.stringify(item))).size !==
157
- items.length
158
- ) {
159
- ctx.addIssue({
160
- code: z.ZodIssueCode.custom,
161
- path: [],
162
- message: "Array items must be unique",
163
- });
164
- }
165
- })
166
- .optional(),
167
- })
168
- .strict()
169
- .describe("BulkPermissionsRequestBean"),
170
- );
171
- validationSchemaStorage.register(
172
- "BulkProjectPermissionGrants",
173
- z
174
- .object({
175
- issues: z.array(z.number().int()).superRefine((items, ctx) => {
176
- if (
177
- new Set(items.map((item) => JSON.stringify(item))).size !==
178
- items.length
179
- ) {
180
- ctx.addIssue({
181
- code: z.ZodIssueCode.custom,
182
- path: [],
183
- message: "Array items must be unique",
184
- });
185
- }
186
- }),
187
- permission: z.string(),
188
- projects: z.array(z.number().int()).superRefine((items, ctx) => {
189
- if (
190
- new Set(items.map((item) => JSON.stringify(item))).size !==
191
- items.length
192
- ) {
193
- ctx.addIssue({
194
- code: z.ZodIssueCode.custom,
195
- path: [],
196
- message: "Array items must be unique",
197
- });
198
- }
199
- }),
200
- })
201
- .strict()
202
- .describe("BulkProjectPermissionGrants"),
203
- );
204
- validationSchemaStorage.register(
205
- "BulkProjectPermissions",
206
- z
207
- .object({
208
- issues: z
209
- .array(z.number().int())
210
- .superRefine((items, ctx) => {
211
- if (
212
- new Set(items.map((item) => JSON.stringify(item))).size !==
213
- items.length
214
- ) {
215
- ctx.addIssue({
216
- code: z.ZodIssueCode.custom,
217
- path: [],
218
- message: "Array items must be unique",
219
- });
220
- }
221
- })
222
- .optional(),
223
- permissions: z.array(z.string()).superRefine((items, ctx) => {
224
- if (new Set(items).size !== items.length) {
225
- ctx.addIssue({
226
- code: z.ZodIssueCode.custom,
227
- path: [],
228
- message: "Array items must be unique",
229
- });
230
- }
231
- }),
232
- projects: z
233
- .array(z.number().int())
234
- .superRefine((items, ctx) => {
235
- if (
236
- new Set(items.map((item) => JSON.stringify(item))).size !==
237
- items.length
238
- ) {
239
- ctx.addIssue({
240
- code: z.ZodIssueCode.custom,
241
- path: [],
242
- message: "Array items must be unique",
243
- });
244
- }
245
- })
246
- .optional(),
247
- })
248
- .strict()
249
- .describe("BulkProjectPermissions"),
250
- );
251
- validationSchemaStorage.register(
252
- "Permissions",
253
- z
254
- .object({
255
- permissions: z
256
- .object({})
257
- .catchall(validationSchemaStorage.lazy("UserPermission"))
258
- .optional(),
259
- })
260
- .strict()
261
- .describe("Permissions"),
262
- );
263
- validationSchemaStorage.register(
264
- "PermissionsKeysBean",
265
- z
266
- .object({
267
- permissions: z.array(z.string()),
268
- })
269
- .strict()
270
- .describe("PermissionsKeysBean"),
271
- );
272
- validationSchemaStorage.register(
273
- "PermittedProjects",
274
- z
275
- .object({
276
- projects: z
277
- .array(validationSchemaStorage.lazy("ProjectIdentifierBean"))
278
- .optional(),
279
- })
280
- .strict()
281
- .describe("PermittedProjects"),
282
- );
283
- validationSchemaStorage.register(
284
- "ProjectIdentifierBean",
285
- z
286
- .object({
287
- id: z.number().int().optional(),
288
- key: z.string().optional(),
289
- })
290
- .strict()
291
- .describe("ProjectIdentifierBean"),
292
- );
293
- validationSchemaStorage.register(
294
- "UserPermission",
295
- z
296
- .object({
297
- deprecatedKey: z.boolean().optional(),
298
- description: z.string().optional(),
299
- havePermission: z.boolean().optional(),
300
- id: z.string().optional(),
301
- key: z.string().optional(),
302
- name: z.string().optional(),
303
- type: z.enum(["GLOBAL", "PROJECT"]).optional(),
304
- })
305
- .catchall(z.unknown())
306
- .describe("UserPermission"),
307
- );
308
- }