@venturialstd/jira 0.1.31 → 0.1.33

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 (154) hide show
  1. package/README.md +481 -0
  2. package/dist/clients/jira.client.d.ts +16 -0
  3. package/dist/clients/jira.client.d.ts.map +1 -0
  4. package/dist/clients/jira.client.js +100 -0
  5. package/dist/clients/jira.client.js.map +1 -0
  6. package/dist/constants/http-method.constant.d.ts +8 -0
  7. package/dist/constants/http-method.constant.d.ts.map +1 -0
  8. package/dist/constants/http-method.constant.js +12 -0
  9. package/dist/constants/http-method.constant.js.map +1 -0
  10. package/dist/constants/jira.constant.d.ts +56 -0
  11. package/dist/constants/jira.constant.d.ts.map +1 -0
  12. package/dist/constants/jira.constant.js +67 -0
  13. package/dist/constants/jira.constant.js.map +1 -0
  14. package/dist/constants/jira.constants.d.ts +2 -0
  15. package/dist/constants/jira.constants.d.ts.map +1 -0
  16. package/dist/constants/jira.constants.js +6 -0
  17. package/dist/constants/jira.constants.js.map +1 -0
  18. package/dist/constants/jira.settings.constant.d.ts +6 -0
  19. package/dist/constants/jira.settings.constant.d.ts.map +1 -0
  20. package/dist/{jira/constants/jira.constants.js → constants/jira.settings.constant.js} +1 -1
  21. package/dist/constants/jira.settings.constant.js.map +1 -0
  22. package/dist/constants/jira.settings.constants.d.ts +6 -0
  23. package/dist/constants/jira.settings.constants.d.ts.map +1 -0
  24. package/dist/constants/jira.settings.constants.js +9 -0
  25. package/dist/constants/jira.settings.constants.js.map +1 -0
  26. package/dist/dtos/jira-webhook-event.dto.d.ts +16 -0
  27. package/dist/dtos/jira-webhook-event.dto.d.ts.map +1 -0
  28. package/dist/dtos/jira-webhook-event.dto.js +95 -0
  29. package/dist/dtos/jira-webhook-event.dto.js.map +1 -0
  30. package/dist/index.d.ts +30 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +52 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/jira.module.d.ts +3 -0
  35. package/dist/jira.module.d.ts.map +1 -0
  36. package/dist/jira.module.js +56 -0
  37. package/dist/jira.module.js.map +1 -0
  38. package/dist/services/jira-attachment.service.d.ts +93 -0
  39. package/dist/services/jira-attachment.service.d.ts.map +1 -0
  40. package/dist/services/jira-attachment.service.js +149 -0
  41. package/dist/services/jira-attachment.service.js.map +1 -0
  42. package/dist/services/jira-comment.service.d.ts +40 -0
  43. package/dist/services/jira-comment.service.d.ts.map +1 -0
  44. package/dist/services/jira-comment.service.js +95 -0
  45. package/dist/services/jira-comment.service.js.map +1 -0
  46. package/dist/services/jira-event.service.d.ts +17 -0
  47. package/dist/services/jira-event.service.d.ts.map +1 -0
  48. package/dist/{jira/services/jira-issue.service.js → services/jira-event.service.js} +23 -19
  49. package/dist/services/jira-event.service.js.map +1 -0
  50. package/dist/services/jira-issue.service.d.ts +113 -0
  51. package/dist/services/jira-issue.service.d.ts.map +1 -0
  52. package/dist/services/jira-issue.service.js +261 -0
  53. package/dist/services/jira-issue.service.js.map +1 -0
  54. package/dist/services/jira-project.service.d.ts +89 -0
  55. package/dist/services/jira-project.service.d.ts.map +1 -0
  56. package/dist/services/jira-project.service.js +135 -0
  57. package/dist/services/jira-project.service.js.map +1 -0
  58. package/dist/services/jira-search.service.d.ts +160 -0
  59. package/dist/services/jira-search.service.d.ts.map +1 -0
  60. package/dist/services/jira-search.service.js +244 -0
  61. package/dist/services/jira-search.service.js.map +1 -0
  62. package/dist/services/jira-user.service.d.ts +35 -0
  63. package/dist/services/jira-user.service.d.ts.map +1 -0
  64. package/dist/services/jira-user.service.js +88 -0
  65. package/dist/services/jira-user.service.js.map +1 -0
  66. package/dist/services/jira-webhook.service.d.ts +50 -0
  67. package/dist/services/jira-webhook.service.d.ts.map +1 -0
  68. package/dist/services/jira-webhook.service.js +99 -0
  69. package/dist/services/jira-webhook.service.js.map +1 -0
  70. package/dist/services/jira-worklog.service.d.ts +34 -0
  71. package/dist/services/jira-worklog.service.d.ts.map +1 -0
  72. package/dist/services/jira-worklog.service.js +146 -0
  73. package/dist/services/jira-worklog.service.js.map +1 -0
  74. package/dist/{jira/settings → settings}/jira-settings.d.ts +1 -0
  75. package/dist/settings/jira-settings.d.ts.map +1 -0
  76. package/dist/settings/jira-settings.js.map +1 -0
  77. package/dist/types/jira-comment.params.types.d.ts +7 -0
  78. package/dist/types/jira-comment.params.types.d.ts.map +1 -0
  79. package/dist/types/jira-comment.params.types.js +3 -0
  80. package/dist/types/jira-comment.params.types.js.map +1 -0
  81. package/dist/types/jira-common.types.d.ts +51 -0
  82. package/dist/types/jira-common.types.d.ts.map +1 -0
  83. package/dist/types/jira-common.types.js +6 -0
  84. package/dist/types/jira-common.types.js.map +1 -0
  85. package/dist/types/jira-event.types.d.ts +5 -0
  86. package/dist/types/jira-event.types.d.ts.map +1 -0
  87. package/dist/types/jira-event.types.js +3 -0
  88. package/dist/types/jira-event.types.js.map +1 -0
  89. package/dist/types/jira-issue.params.types.d.ts +42 -0
  90. package/dist/types/jira-issue.params.types.d.ts.map +1 -0
  91. package/dist/types/jira-issue.params.types.js +3 -0
  92. package/dist/types/jira-issue.params.types.js.map +1 -0
  93. package/dist/types/jira-issue.response.types.d.ts +50 -0
  94. package/dist/types/jira-issue.response.types.d.ts.map +1 -0
  95. package/dist/types/jira-issue.response.types.js +3 -0
  96. package/dist/types/jira-issue.response.types.js.map +1 -0
  97. package/dist/types/jira-metadata.types.d.ts +92 -0
  98. package/dist/types/jira-metadata.types.d.ts.map +1 -0
  99. package/dist/types/jira-metadata.types.js +3 -0
  100. package/dist/types/jira-metadata.types.js.map +1 -0
  101. package/dist/types/jira-project.params.types.d.ts +13 -0
  102. package/dist/types/jira-project.params.types.d.ts.map +1 -0
  103. package/dist/types/jira-project.params.types.js +3 -0
  104. package/dist/types/jira-project.params.types.js.map +1 -0
  105. package/dist/types/jira-user.params.types.d.ts +19 -0
  106. package/dist/types/jira-user.params.types.d.ts.map +1 -0
  107. package/dist/types/jira-user.params.types.js +3 -0
  108. package/dist/types/jira-user.params.types.js.map +1 -0
  109. package/dist/types/jira-webhook.params.types.d.ts +15 -0
  110. package/dist/types/jira-webhook.params.types.d.ts.map +1 -0
  111. package/dist/types/jira-webhook.params.types.js +3 -0
  112. package/dist/types/jira-webhook.params.types.js.map +1 -0
  113. package/dist/types/jira-webhook.types.d.ts +77 -0
  114. package/dist/types/jira-webhook.types.d.ts.map +1 -0
  115. package/dist/types/jira-webhook.types.js +3 -0
  116. package/dist/types/jira-webhook.types.js.map +1 -0
  117. package/dist/types/jira-worklog.params.types.d.ts +22 -0
  118. package/dist/types/jira-worklog.params.types.d.ts.map +1 -0
  119. package/dist/types/jira-worklog.params.types.js +3 -0
  120. package/dist/types/jira-worklog.params.types.js.map +1 -0
  121. package/dist/types/jira.config.type.d.ts +14 -0
  122. package/dist/types/jira.config.type.d.ts.map +1 -0
  123. package/dist/types/jira.config.type.js +3 -0
  124. package/dist/types/jira.config.type.js.map +1 -0
  125. package/dist/types/jira.request.types.d.ts +187 -0
  126. package/dist/types/jira.request.types.d.ts.map +1 -0
  127. package/dist/types/jira.request.types.js +3 -0
  128. package/dist/types/jira.request.types.js.map +1 -0
  129. package/dist/types/jira.types.d.ts +314 -0
  130. package/dist/types/jira.types.d.ts.map +1 -0
  131. package/dist/{jira/types/jira.event.type.js → types/jira.types.js} +1 -1
  132. package/dist/types/jira.types.js.map +1 -0
  133. package/package.json +19 -14
  134. package/dist/jira/clients/jira.client.d.ts +0 -13
  135. package/dist/jira/clients/jira.client.js +0 -70
  136. package/dist/jira/clients/jira.client.js.map +0 -1
  137. package/dist/jira/constants/jira.constants.d.ts +0 -5
  138. package/dist/jira/constants/jira.constants.js.map +0 -1
  139. package/dist/jira/dtos/jira-webhook-event.dto.d.ts +0 -21
  140. package/dist/jira/dtos/jira-webhook-event.dto.js +0 -139
  141. package/dist/jira/dtos/jira-webhook-event.dto.js.map +0 -1
  142. package/dist/jira/index.d.ts +0 -4
  143. package/dist/jira/index.js +0 -10
  144. package/dist/jira/index.js.map +0 -1
  145. package/dist/jira/jira.module.d.ts +0 -2
  146. package/dist/jira/jira.module.js +0 -25
  147. package/dist/jira/jira.module.js.map +0 -1
  148. package/dist/jira/services/jira-issue.service.d.ts +0 -12
  149. package/dist/jira/services/jira-issue.service.js.map +0 -1
  150. package/dist/jira/settings/jira-settings.js.map +0 -1
  151. package/dist/jira/tsconfig.build.tsbuildinfo +0 -1
  152. package/dist/jira/types/jira.event.type.d.ts +0 -37
  153. package/dist/jira/types/jira.event.type.js.map +0 -1
  154. /package/dist/{jira/settings → settings}/jira-settings.js +0 -0
@@ -0,0 +1,160 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { AppLogger } from '@venturialstd/core';
3
+ import { JiraClient } from '../clients/jira.client';
4
+ import { SearchIssuesRequest } from '../types/jira.request.types';
5
+ import { JiraSearchResult } from '../types/jira.types';
6
+ import { JiraConfig } from '../types/jira.config.type';
7
+ export declare class JiraSearchService {
8
+ private readonly httpService;
9
+ private readonly jiraClient;
10
+ private readonly logger;
11
+ constructor(httpService: HttpService, jiraClient: JiraClient, logger: AppLogger);
12
+ /**
13
+ * Search issues using JQL
14
+ */
15
+ searchIssues(config: JiraConfig | null, request: SearchIssuesRequest): Promise<JiraSearchResult>;
16
+ /**
17
+ * Get all issues
18
+ * Returns all issues ordered by creation date (newest first)
19
+ */
20
+ getAllIssues(config: JiraConfig | null, options?: {
21
+ startAt?: number;
22
+ maxResults?: number;
23
+ fields?: string[];
24
+ fieldsByKeys?: boolean;
25
+ expand?: string[];
26
+ }): Promise<JiraSearchResult>;
27
+ /**
28
+ * Search issues by project
29
+ * Returns issues from a specific project
30
+ */
31
+ searchByProject(config: JiraConfig | null, projectKey: string, options?: {
32
+ startAt?: number;
33
+ maxResults?: number;
34
+ fields?: string[];
35
+ fieldsByKeys?: boolean;
36
+ expand?: string[];
37
+ }): Promise<JiraSearchResult>;
38
+ /**
39
+ * Search issues by assignee
40
+ * Returns issues assigned to a specific user
41
+ */
42
+ searchByAssignee(config: JiraConfig | null, assigneeAccountId: string, options?: {
43
+ startAt?: number;
44
+ maxResults?: number;
45
+ fields?: string[];
46
+ fieldsByKeys?: boolean;
47
+ expand?: string[];
48
+ }): Promise<JiraSearchResult>;
49
+ /**
50
+ * Search issues by status
51
+ * Returns issues with a specific status
52
+ */
53
+ searchByStatus(config: JiraConfig | null, statusName: string, options?: {
54
+ startAt?: number;
55
+ maxResults?: number;
56
+ fields?: string[];
57
+ fieldsByKeys?: boolean;
58
+ expand?: string[];
59
+ }): Promise<JiraSearchResult>;
60
+ /**
61
+ * Search issues by issue type
62
+ * Returns issues of a specific type
63
+ */
64
+ searchByIssueType(config: JiraConfig | null, issueTypeName: string, options?: {
65
+ startAt?: number;
66
+ maxResults?: number;
67
+ fields?: string[];
68
+ fieldsByKeys?: boolean;
69
+ expand?: string[];
70
+ }): Promise<JiraSearchResult>;
71
+ /**
72
+ * Search issues by text
73
+ * Searches for text in summary and description
74
+ */
75
+ searchByText(config: JiraConfig | null, searchText: string, options?: {
76
+ startAt?: number;
77
+ maxResults?: number;
78
+ fields?: string[];
79
+ fieldsByKeys?: boolean;
80
+ expand?: string[];
81
+ }): Promise<JiraSearchResult>;
82
+ /**
83
+ * Search issues by reporter
84
+ * Returns issues created by a specific user
85
+ */
86
+ searchByReporter(config: JiraConfig | null, reporterAccountId: string, options?: {
87
+ startAt?: number;
88
+ maxResults?: number;
89
+ fields?: string[];
90
+ fieldsByKeys?: boolean;
91
+ expand?: string[];
92
+ }): Promise<JiraSearchResult>;
93
+ /**
94
+ * Search issues created in date range
95
+ * Returns issues created between two dates
96
+ */
97
+ searchByCreatedDate(config: JiraConfig | null, fromDate: string, toDate: string, options?: {
98
+ startAt?: number;
99
+ maxResults?: number;
100
+ fields?: string[];
101
+ fieldsByKeys?: boolean;
102
+ expand?: string[];
103
+ }): Promise<JiraSearchResult>;
104
+ /**
105
+ * Search issues updated in date range
106
+ * Returns issues updated between two dates
107
+ */
108
+ searchByUpdatedDate(config: JiraConfig | null, fromDate: string, toDate: string, options?: {
109
+ startAt?: number;
110
+ maxResults?: number;
111
+ fields?: string[];
112
+ fieldsByKeys?: boolean;
113
+ expand?: string[];
114
+ }): Promise<JiraSearchResult>;
115
+ /**
116
+ * Search unassigned issues
117
+ * Returns issues that are not assigned to anyone
118
+ */
119
+ searchUnassignedIssues(config: JiraConfig | null, options?: {
120
+ startAt?: number;
121
+ maxResults?: number;
122
+ fields?: string[];
123
+ fieldsByKeys?: boolean;
124
+ expand?: string[];
125
+ }): Promise<JiraSearchResult>;
126
+ /**
127
+ * Search issues by priority
128
+ * Returns issues with a specific priority
129
+ */
130
+ searchByPriority(config: JiraConfig | null, priorityName: string, options?: {
131
+ startAt?: number;
132
+ maxResults?: number;
133
+ fields?: string[];
134
+ fieldsByKeys?: boolean;
135
+ expand?: string[];
136
+ }): Promise<JiraSearchResult>;
137
+ /**
138
+ * Search issues by project and status
139
+ * Returns issues from a project with a specific status
140
+ */
141
+ searchByProjectAndStatus(config: JiraConfig | null, projectKey: string, statusName: string, options?: {
142
+ startAt?: number;
143
+ maxResults?: number;
144
+ fields?: string[];
145
+ fieldsByKeys?: boolean;
146
+ expand?: string[];
147
+ }): Promise<JiraSearchResult>;
148
+ /**
149
+ * Search issues by project and assignee
150
+ * Returns issues from a project assigned to a specific user
151
+ */
152
+ searchByProjectAndAssignee(config: JiraConfig | null, projectKey: string, assigneeAccountId: string, options?: {
153
+ startAt?: number;
154
+ maxResults?: number;
155
+ fields?: string[];
156
+ fieldsByKeys?: boolean;
157
+ expand?: string[];
158
+ }): Promise<JiraSearchResult>;
159
+ }
160
+ //# sourceMappingURL=jira-search.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-search.service.d.ts","sourceRoot":"","sources":["../../src/services/jira-search.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var JiraSearchService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.JiraSearchService = void 0;
14
+ const axios_1 = require("@nestjs/axios");
15
+ const common_1 = require("@nestjs/common");
16
+ const core_1 = require("@venturialstd/core");
17
+ const jira_client_1 = require("../clients/jira.client");
18
+ const http_method_constant_1 = require("../constants/http-method.constant");
19
+ const jira_constant_1 = require("../constants/jira.constant");
20
+ let JiraSearchService = JiraSearchService_1 = class JiraSearchService {
21
+ httpService;
22
+ jiraClient;
23
+ logger;
24
+ constructor(httpService, jiraClient, logger) {
25
+ this.httpService = httpService;
26
+ this.jiraClient = jiraClient;
27
+ this.logger = logger;
28
+ this.logger.setContext(JiraSearchService_1.name);
29
+ }
30
+ /**
31
+ * Search issues using JQL
32
+ */
33
+ async searchIssues(config, request) {
34
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/search`;
35
+ const queryParams = {
36
+ jql: request.jql,
37
+ };
38
+ if (request.startAt !== undefined)
39
+ queryParams.startAt = request.startAt;
40
+ if (request.maxResults !== undefined)
41
+ queryParams.maxResults = request.maxResults;
42
+ if (request.fields)
43
+ queryParams.fields = request.fields;
44
+ if (request.fieldsByKeys !== undefined)
45
+ queryParams.fieldsByKeys = request.fieldsByKeys;
46
+ if (request.expand)
47
+ queryParams.expand = request.expand;
48
+ if (request.properties)
49
+ queryParams.properties = request.properties;
50
+ if (request.validateQuery)
51
+ queryParams.validateQuery = request.validateQuery;
52
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, queryParams);
53
+ }
54
+ /**
55
+ * Get all issues
56
+ * Returns all issues ordered by creation date (newest first)
57
+ */
58
+ async getAllIssues(config, options) {
59
+ return this.searchIssues(config, {
60
+ jql: 'ORDER BY created DESC',
61
+ startAt: options?.startAt,
62
+ maxResults: options?.maxResults,
63
+ fields: options?.fields,
64
+ fieldsByKeys: options?.fieldsByKeys,
65
+ expand: options?.expand,
66
+ });
67
+ }
68
+ /**
69
+ * Search issues by project
70
+ * Returns issues from a specific project
71
+ */
72
+ async searchByProject(config, projectKey, options) {
73
+ return this.searchIssues(config, {
74
+ jql: `project = ${projectKey} ORDER BY created DESC`,
75
+ startAt: options?.startAt,
76
+ maxResults: options?.maxResults,
77
+ fields: options?.fields,
78
+ fieldsByKeys: options?.fieldsByKeys,
79
+ expand: options?.expand,
80
+ });
81
+ }
82
+ /**
83
+ * Search issues by assignee
84
+ * Returns issues assigned to a specific user
85
+ */
86
+ async searchByAssignee(config, assigneeAccountId, options) {
87
+ return this.searchIssues(config, {
88
+ jql: `assignee = ${assigneeAccountId} ORDER BY updated DESC`,
89
+ startAt: options?.startAt,
90
+ maxResults: options?.maxResults,
91
+ fields: options?.fields,
92
+ fieldsByKeys: options?.fieldsByKeys,
93
+ expand: options?.expand,
94
+ });
95
+ }
96
+ /**
97
+ * Search issues by status
98
+ * Returns issues with a specific status
99
+ */
100
+ async searchByStatus(config, statusName, options) {
101
+ return this.searchIssues(config, {
102
+ jql: `status = "${statusName}" ORDER BY updated DESC`,
103
+ startAt: options?.startAt,
104
+ maxResults: options?.maxResults,
105
+ fields: options?.fields,
106
+ fieldsByKeys: options?.fieldsByKeys,
107
+ expand: options?.expand,
108
+ });
109
+ }
110
+ /**
111
+ * Search issues by issue type
112
+ * Returns issues of a specific type
113
+ */
114
+ async searchByIssueType(config, issueTypeName, options) {
115
+ return this.searchIssues(config, {
116
+ jql: `issuetype = "${issueTypeName}" ORDER BY created DESC`,
117
+ startAt: options?.startAt,
118
+ maxResults: options?.maxResults,
119
+ fields: options?.fields,
120
+ fieldsByKeys: options?.fieldsByKeys,
121
+ expand: options?.expand,
122
+ });
123
+ }
124
+ /**
125
+ * Search issues by text
126
+ * Searches for text in summary and description
127
+ */
128
+ async searchByText(config, searchText, options) {
129
+ return this.searchIssues(config, {
130
+ jql: `text ~ "${searchText}" ORDER BY updated DESC`,
131
+ startAt: options?.startAt,
132
+ maxResults: options?.maxResults,
133
+ fields: options?.fields,
134
+ fieldsByKeys: options?.fieldsByKeys,
135
+ expand: options?.expand,
136
+ });
137
+ }
138
+ /**
139
+ * Search issues by reporter
140
+ * Returns issues created by a specific user
141
+ */
142
+ async searchByReporter(config, reporterAccountId, options) {
143
+ return this.searchIssues(config, {
144
+ jql: `reporter = ${reporterAccountId} ORDER BY created DESC`,
145
+ startAt: options?.startAt,
146
+ maxResults: options?.maxResults,
147
+ fields: options?.fields,
148
+ fieldsByKeys: options?.fieldsByKeys,
149
+ expand: options?.expand,
150
+ });
151
+ }
152
+ /**
153
+ * Search issues created in date range
154
+ * Returns issues created between two dates
155
+ */
156
+ async searchByCreatedDate(config, fromDate, toDate, options) {
157
+ return this.searchIssues(config, {
158
+ jql: `created >= "${fromDate}" AND created <= "${toDate}" ORDER BY created DESC`,
159
+ startAt: options?.startAt,
160
+ maxResults: options?.maxResults,
161
+ fields: options?.fields,
162
+ fieldsByKeys: options?.fieldsByKeys,
163
+ expand: options?.expand,
164
+ });
165
+ }
166
+ /**
167
+ * Search issues updated in date range
168
+ * Returns issues updated between two dates
169
+ */
170
+ async searchByUpdatedDate(config, fromDate, toDate, options) {
171
+ return this.searchIssues(config, {
172
+ jql: `updated >= "${fromDate}" AND updated <= "${toDate}" ORDER BY updated DESC`,
173
+ startAt: options?.startAt,
174
+ maxResults: options?.maxResults,
175
+ fields: options?.fields,
176
+ fieldsByKeys: options?.fieldsByKeys,
177
+ expand: options?.expand,
178
+ });
179
+ }
180
+ /**
181
+ * Search unassigned issues
182
+ * Returns issues that are not assigned to anyone
183
+ */
184
+ async searchUnassignedIssues(config, options) {
185
+ return this.searchIssues(config, {
186
+ jql: 'assignee IS EMPTY ORDER BY created DESC',
187
+ startAt: options?.startAt,
188
+ maxResults: options?.maxResults,
189
+ fields: options?.fields,
190
+ fieldsByKeys: options?.fieldsByKeys,
191
+ expand: options?.expand,
192
+ });
193
+ }
194
+ /**
195
+ * Search issues by priority
196
+ * Returns issues with a specific priority
197
+ */
198
+ async searchByPriority(config, priorityName, options) {
199
+ return this.searchIssues(config, {
200
+ jql: `priority = "${priorityName}" ORDER BY updated DESC`,
201
+ startAt: options?.startAt,
202
+ maxResults: options?.maxResults,
203
+ fields: options?.fields,
204
+ fieldsByKeys: options?.fieldsByKeys,
205
+ expand: options?.expand,
206
+ });
207
+ }
208
+ /**
209
+ * Search issues by project and status
210
+ * Returns issues from a project with a specific status
211
+ */
212
+ async searchByProjectAndStatus(config, projectKey, statusName, options) {
213
+ return this.searchIssues(config, {
214
+ jql: `project = ${projectKey} AND status = "${statusName}" ORDER BY updated DESC`,
215
+ startAt: options?.startAt,
216
+ maxResults: options?.maxResults,
217
+ fields: options?.fields,
218
+ fieldsByKeys: options?.fieldsByKeys,
219
+ expand: options?.expand,
220
+ });
221
+ }
222
+ /**
223
+ * Search issues by project and assignee
224
+ * Returns issues from a project assigned to a specific user
225
+ */
226
+ async searchByProjectAndAssignee(config, projectKey, assigneeAccountId, options) {
227
+ return this.searchIssues(config, {
228
+ jql: `project = ${projectKey} AND assignee = ${assigneeAccountId} ORDER BY updated DESC`,
229
+ startAt: options?.startAt,
230
+ maxResults: options?.maxResults,
231
+ fields: options?.fields,
232
+ fieldsByKeys: options?.fieldsByKeys,
233
+ expand: options?.expand,
234
+ });
235
+ }
236
+ };
237
+ exports.JiraSearchService = JiraSearchService;
238
+ exports.JiraSearchService = JiraSearchService = JiraSearchService_1 = __decorate([
239
+ (0, common_1.Injectable)(),
240
+ __metadata("design:paramtypes", [axios_1.HttpService,
241
+ jira_client_1.JiraClient,
242
+ core_1.AppLogger])
243
+ ], JiraSearchService);
244
+ //# sourceMappingURL=jira-search.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-search.service.js","sourceRoot":"","sources":["../../src/services/jira-search.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { AppLogger } from '@venturialstd/core';
3
+ import { JiraClient } from '../clients/jira.client';
4
+ import { GetMyselfParams, GetUserParams, GetUserPickerParams, SearchUsersParams } from '../types/jira-user.params.types';
5
+ import { JiraUser } from '../types/jira.types';
6
+ import { JiraConfig } from '../types/jira.config.type';
7
+ export declare class JiraUserService {
8
+ private readonly httpService;
9
+ private readonly jiraClient;
10
+ private readonly logger;
11
+ constructor(httpService: HttpService, jiraClient: JiraClient, logger: AppLogger);
12
+ /**
13
+ * Get user by account ID
14
+ */
15
+ getUser(config: JiraConfig | null, accountId: string, params?: GetUserParams): Promise<JiraUser>;
16
+ /**
17
+ * Search for users
18
+ */
19
+ searchUsers(config: JiraConfig | null, query: string, params?: SearchUsersParams): Promise<JiraUser[]>;
20
+ /**
21
+ * Get user picker suggestions
22
+ */
23
+ getUserPicker(config: JiraConfig | null, query: string, params?: GetUserPickerParams): Promise<{
24
+ users: Array<{
25
+ accountId: string;
26
+ displayName: string;
27
+ avatarUrl?: string;
28
+ }>;
29
+ }>;
30
+ /**
31
+ * Get current user (myself)
32
+ */
33
+ getMyself(config: JiraConfig | null, params?: GetMyselfParams): Promise<JiraUser>;
34
+ }
35
+ //# sourceMappingURL=jira-user.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-user.service.d.ts","sourceRoot":"","sources":["../../src/services/jira-user.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,qBACa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IAKpC;;OAEG;IACG,OAAO,CACX,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,QAAQ,CAAC;IAepB;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBtB;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAoB5F;;OAEG;IACG,SAAS,CACb,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,QAAQ,CAAC;CAYrB"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var JiraUserService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.JiraUserService = void 0;
14
+ const axios_1 = require("@nestjs/axios");
15
+ const common_1 = require("@nestjs/common");
16
+ const core_1 = require("@venturialstd/core");
17
+ const jira_client_1 = require("../clients/jira.client");
18
+ const http_method_constant_1 = require("../constants/http-method.constant");
19
+ const jira_constant_1 = require("../constants/jira.constant");
20
+ let JiraUserService = JiraUserService_1 = class JiraUserService {
21
+ httpService;
22
+ jiraClient;
23
+ logger;
24
+ constructor(httpService, jiraClient, logger) {
25
+ this.httpService = httpService;
26
+ this.jiraClient = jiraClient;
27
+ this.logger = logger;
28
+ this.logger.setContext(JiraUserService_1.name);
29
+ }
30
+ /**
31
+ * Get user by account ID
32
+ */
33
+ async getUser(config, accountId, params) {
34
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/user`;
35
+ const queryParams = { accountId };
36
+ if (params?.expand)
37
+ queryParams.expand = params.expand;
38
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, queryParams);
39
+ }
40
+ /**
41
+ * Search for users
42
+ */
43
+ async searchUsers(config, query, params) {
44
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/user/search`;
45
+ const queryParams = { query };
46
+ if (params?.startAt !== undefined)
47
+ queryParams.startAt = params.startAt;
48
+ if (params?.maxResults !== undefined)
49
+ queryParams.maxResults = params.maxResults;
50
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, queryParams);
51
+ }
52
+ /**
53
+ * Get user picker suggestions
54
+ */
55
+ async getUserPicker(config, query, params) {
56
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/user/picker`;
57
+ const queryParams = { query };
58
+ if (params?.maxResults !== undefined)
59
+ queryParams.maxResults = params.maxResults;
60
+ if (params?.showAvatar !== undefined)
61
+ queryParams.showAvatar = params.showAvatar;
62
+ if (params?.exclude)
63
+ queryParams.exclude = params.exclude;
64
+ if (params?.excludeAccountIds)
65
+ queryParams.excludeAccountIds = params.excludeAccountIds;
66
+ if (params?.avatarSize)
67
+ queryParams.avatarSize = params.avatarSize;
68
+ if (params?.caseInsensitive !== undefined)
69
+ queryParams.caseInsensitive = params.caseInsensitive;
70
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, queryParams);
71
+ }
72
+ /**
73
+ * Get current user (myself)
74
+ */
75
+ async getMyself(config, params) {
76
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/myself`;
77
+ const queryParams = params?.expand ? { expand: params.expand } : undefined;
78
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, queryParams);
79
+ }
80
+ };
81
+ exports.JiraUserService = JiraUserService;
82
+ exports.JiraUserService = JiraUserService = JiraUserService_1 = __decorate([
83
+ (0, common_1.Injectable)(),
84
+ __metadata("design:paramtypes", [axios_1.HttpService,
85
+ jira_client_1.JiraClient,
86
+ core_1.AppLogger])
87
+ ], JiraUserService);
88
+ //# sourceMappingURL=jira-user.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-user.service.js","sourceRoot":"","sources":["../../src/services/jira-user.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { AppLogger } from '@venturialstd/core';
3
+ import { JiraClient } from '../clients/jira.client';
4
+ import { ContainerForRegisteredWebhooks, DeleteWebhooksRequest, ExtendWebhookLifeRequest, JiraFailedWebhooks, JiraWebhook, JiraWebhooksExpirationDate, RegisterWebhooksRequest } from '../types/jira-webhook.types';
5
+ import { GetFailedWebhooksParams, GetWebhooksParams } from '../types/jira-webhook.params.types';
6
+ import { JiraPageBean } from '../types/jira.types';
7
+ import { JiraConfig } from '../types/jira.config.type';
8
+ export declare class JiraWebhookService {
9
+ private readonly httpService;
10
+ private readonly jiraClient;
11
+ private readonly logger;
12
+ constructor(httpService: HttpService, jiraClient: JiraClient, logger: AppLogger);
13
+ /**
14
+ * Get dynamic webhooks for app
15
+ * Returns a paginated list of the webhooks registered by the calling app.
16
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
17
+ */
18
+ getWebhooks(config: JiraConfig | null, params?: GetWebhooksParams): Promise<JiraPageBean<JiraWebhook>>;
19
+ /**
20
+ * Register dynamic webhooks
21
+ * Registers webhooks.
22
+ * NOTE: for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the user who registered a dynamic webhook.
23
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
24
+ */
25
+ registerWebhooks(config: JiraConfig | null, request: RegisterWebhooksRequest): Promise<ContainerForRegisteredWebhooks>;
26
+ /**
27
+ * Delete webhooks by ID
28
+ * Removes webhooks by ID. Only webhooks registered by the calling app are removed.
29
+ * If webhooks created by other apps are specified, they are ignored.
30
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
31
+ */
32
+ deleteWebhooks(config: JiraConfig | null, request: DeleteWebhooksRequest): Promise<void>;
33
+ /**
34
+ * Get failed webhooks (Experimental)
35
+ * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.
36
+ * After 72 hours the failure may no longer be returned by this operation.
37
+ * The oldest failure is returned first.
38
+ * This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.
39
+ * Permissions required: Only Connect apps can use this operation.
40
+ */
41
+ getFailedWebhooks(config: JiraConfig | null, params?: GetFailedWebhooksParams): Promise<JiraFailedWebhooks>;
42
+ /**
43
+ * Extend webhook life
44
+ * Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to keep them alive.
45
+ * Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.
46
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
47
+ */
48
+ extendWebhookLife(config: JiraConfig | null, request: ExtendWebhookLifeRequest): Promise<JiraWebhooksExpirationDate>;
49
+ }
50
+ //# sourceMappingURL=jira-webhook.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-webhook.service.d.ts","sourceRoot":"","sources":["../../src/services/jira-webhook.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IAKpC;;;;OAIG;IACG,WAAW,CACf,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAgBrC;;;;;OAKG;IACG,gBAAgB,CACpB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,8BAA8B,CAAC;IAW1C;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;;OAOG;IACG,iBAAiB,CACrB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,MAAM,CAAC,EAAE,uBAAuB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;;;;OAKG;IACG,iBAAiB,CACrB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,0BAA0B,CAAC;CAUvC"}