jira-pat 1.0.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.
Files changed (95) hide show
  1. package/AGENTS.md +218 -0
  2. package/README.md +64 -0
  3. package/backend/.env.example +1 -0
  4. package/backend/__tests__/getJiraClient.test.js +57 -0
  5. package/backend/__tests__/issues.test.js +565 -0
  6. package/backend/__tests__/jiraService.test.js +1127 -0
  7. package/backend/__tests__/projects.test.js +256 -0
  8. package/backend/coverage/clover.xml +426 -0
  9. package/backend/coverage/coverage-final.json +4 -0
  10. package/backend/coverage/lcov-report/base.css +224 -0
  11. package/backend/coverage/lcov-report/block-navigation.js +87 -0
  12. package/backend/coverage/lcov-report/favicon.png +0 -0
  13. package/backend/coverage/lcov-report/index.html +131 -0
  14. package/backend/coverage/lcov-report/prettify.css +1 -0
  15. package/backend/coverage/lcov-report/prettify.js +2 -0
  16. package/backend/coverage/lcov-report/routes/index.html +131 -0
  17. package/backend/coverage/lcov-report/routes/issues.js.html +823 -0
  18. package/backend/coverage/lcov-report/routes/projects.js.html +190 -0
  19. package/backend/coverage/lcov-report/service/index.html +116 -0
  20. package/backend/coverage/lcov-report/service/jiraService.js.html +1663 -0
  21. package/backend/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  22. package/backend/coverage/lcov-report/sorter.js +210 -0
  23. package/backend/coverage/lcov.info +707 -0
  24. package/backend/index.js +38 -0
  25. package/backend/jest.config.js +11 -0
  26. package/backend/package-lock.json +5636 -0
  27. package/backend/package.json +28 -0
  28. package/backend/routes/issues.js +246 -0
  29. package/backend/routes/projects.js +35 -0
  30. package/backend/service/jiraService.js +526 -0
  31. package/bin/jira.js +92 -0
  32. package/frontend/.env.example +1 -0
  33. package/frontend/coverage/base.css +224 -0
  34. package/frontend/coverage/block-navigation.js +87 -0
  35. package/frontend/coverage/clover.xml +559 -0
  36. package/frontend/coverage/components/CreateIssueModal.jsx.html +592 -0
  37. package/frontend/coverage/components/IssueDetailPanel.jsx.html +1633 -0
  38. package/frontend/coverage/components/IssueDrawer.jsx.html +550 -0
  39. package/frontend/coverage/components/IssueTable.jsx.html +571 -0
  40. package/frontend/coverage/components/SkeletonComponents.jsx.html +223 -0
  41. package/frontend/coverage/components/ToastContainer.jsx.html +142 -0
  42. package/frontend/coverage/components/index.html +191 -0
  43. package/frontend/coverage/coverage-final.json +14 -0
  44. package/frontend/coverage/favicon.png +0 -0
  45. package/frontend/coverage/hooks/index.html +161 -0
  46. package/frontend/coverage/hooks/useFocusTrap.js.html +262 -0
  47. package/frontend/coverage/hooks/useIssueDrawer.js.html +1000 -0
  48. package/frontend/coverage/hooks/useIssuesList.js.html +175 -0
  49. package/frontend/coverage/hooks/useToasts.js.html +142 -0
  50. package/frontend/coverage/index.html +161 -0
  51. package/frontend/coverage/prettify.css +1 -0
  52. package/frontend/coverage/prettify.js +2 -0
  53. package/frontend/coverage/services/api.js.html +547 -0
  54. package/frontend/coverage/services/index.html +116 -0
  55. package/frontend/coverage/sort-arrow-sprite.png +0 -0
  56. package/frontend/coverage/sorter.js +210 -0
  57. package/frontend/coverage/utils/index.html +131 -0
  58. package/frontend/coverage/utils/issueHelpers.jsx.html +334 -0
  59. package/frontend/coverage/utils/sanitize.js.html +166 -0
  60. package/frontend/index.html +13 -0
  61. package/frontend/package-lock.json +3436 -0
  62. package/frontend/package.json +30 -0
  63. package/frontend/src/App.jsx +447 -0
  64. package/frontend/src/__tests__/components/CreateIssueModal.test.jsx +375 -0
  65. package/frontend/src/__tests__/components/IssueDetailPanel.test.jsx +962 -0
  66. package/frontend/src/__tests__/components/IssueDrawer.test.jsx +240 -0
  67. package/frontend/src/__tests__/components/IssueTable.test.jsx +423 -0
  68. package/frontend/src/__tests__/components/ToastContainer.test.jsx +196 -0
  69. package/frontend/src/__tests__/hooks/useFocusTrap.test.js +197 -0
  70. package/frontend/src/__tests__/hooks/useIssueDrawer.test.js +1053 -0
  71. package/frontend/src/__tests__/hooks/useIssuesList.test.js +175 -0
  72. package/frontend/src/__tests__/hooks/useToasts.test.js +110 -0
  73. package/frontend/src/__tests__/services/api.test.js +568 -0
  74. package/frontend/src/__tests__/setup.js +54 -0
  75. package/frontend/src/__tests__/utils/issueHelpers.test.jsx +336 -0
  76. package/frontend/src/__tests__/utils/sanitize.test.js +238 -0
  77. package/frontend/src/components/CreateIssueModal.jsx +169 -0
  78. package/frontend/src/components/ErrorBoundary.jsx +52 -0
  79. package/frontend/src/components/IssueDetailPanel.jsx +517 -0
  80. package/frontend/src/components/IssueDrawer.jsx +155 -0
  81. package/frontend/src/components/IssueTable.jsx +162 -0
  82. package/frontend/src/components/SkeletonComponents.jsx +46 -0
  83. package/frontend/src/components/StandaloneIssuePage.jsx +176 -0
  84. package/frontend/src/components/ToastContainer.jsx +19 -0
  85. package/frontend/src/hooks/useFocusTrap.js +59 -0
  86. package/frontend/src/hooks/useIssueDrawer.js +305 -0
  87. package/frontend/src/hooks/useIssuesList.js +30 -0
  88. package/frontend/src/hooks/useToasts.js +19 -0
  89. package/frontend/src/index.css +2070 -0
  90. package/frontend/src/main.jsx +13 -0
  91. package/frontend/src/services/api.js +154 -0
  92. package/frontend/src/utils/issueHelpers.jsx +84 -0
  93. package/frontend/src/utils/sanitize.js +27 -0
  94. package/frontend/vite.config.js +15 -0
  95. package/package.json +19 -0
@@ -0,0 +1,707 @@
1
+ TN:
2
+ SF:routes/issues.js
3
+ FN:23,(anonymous_0)
4
+ FN:25,(anonymous_1)
5
+ FN:33,(anonymous_2)
6
+ FN:55,(anonymous_3)
7
+ FN:79,(anonymous_4)
8
+ FN:90,(anonymous_5)
9
+ FN:110,(anonymous_6)
10
+ FN:123,(anonymous_7)
11
+ FN:136,(anonymous_8)
12
+ FN:154,(anonymous_9)
13
+ FN:167,(anonymous_10)
14
+ FN:182,(anonymous_11)
15
+ FN:196,(anonymous_12)
16
+ FN:210,(anonymous_13)
17
+ FN:232,(anonymous_14)
18
+ FNF:15
19
+ FNH:14
20
+ FNDA:0,(anonymous_0)
21
+ FNDA:36,(anonymous_1)
22
+ FNDA:5,(anonymous_2)
23
+ FNDA:6,(anonymous_3)
24
+ FNDA:2,(anonymous_4)
25
+ FNDA:4,(anonymous_5)
26
+ FNDA:6,(anonymous_6)
27
+ FNDA:3,(anonymous_7)
28
+ FNDA:5,(anonymous_8)
29
+ FNDA:3,(anonymous_9)
30
+ FNDA:4,(anonymous_10)
31
+ FNDA:4,(anonymous_11)
32
+ FNDA:3,(anonymous_12)
33
+ FNDA:4,(anonymous_13)
34
+ FNDA:4,(anonymous_14)
35
+ DA:1,1
36
+ DA:2,1
37
+ DA:3,1
38
+ DA:4,1
39
+ DA:5,1
40
+ DA:7,1
41
+ DA:12,1
42
+ DA:20,1
43
+ DA:21,1
44
+ DA:23,1
45
+ DA:25,1
46
+ DA:26,36
47
+ DA:27,11
48
+ DA:29,25
49
+ DA:33,1
50
+ DA:34,5
51
+ DA:35,5
52
+ DA:36,1
53
+ DA:38,5
54
+ DA:40,4
55
+ DA:41,3
56
+ DA:44,1
57
+ DA:46,1
58
+ DA:47,1
59
+ DA:55,1
60
+ DA:56,6
61
+ DA:57,6
62
+ DA:58,1
63
+ DA:61,5
64
+ DA:62,5
65
+ DA:63,1
66
+ DA:66,4
67
+ DA:67,1
68
+ DA:70,3
69
+ DA:71,3
70
+ DA:72,2
71
+ DA:74,1
72
+ DA:79,1
73
+ DA:80,2
74
+ DA:81,2
75
+ DA:82,2
76
+ DA:83,1
77
+ DA:85,1
78
+ DA:90,1
79
+ DA:91,4
80
+ DA:92,4
81
+ DA:93,4
82
+ DA:95,3
83
+ DA:97,2
84
+ DA:98,1
85
+ DA:101,2
86
+ DA:102,2
87
+ DA:104,1
88
+ DA:105,1
89
+ DA:110,1
90
+ DA:111,6
91
+ DA:112,6
92
+ DA:114,3
93
+ DA:115,3
94
+ DA:116,2
95
+ DA:118,1
96
+ DA:123,1
97
+ DA:124,3
98
+ DA:125,3
99
+ DA:127,2
100
+ DA:128,2
101
+ DA:129,1
102
+ DA:131,1
103
+ DA:136,1
104
+ DA:137,5
105
+ DA:138,5
106
+ DA:140,4
107
+ DA:141,4
108
+ DA:142,4
109
+ DA:143,2
110
+ DA:146,2
111
+ DA:147,1
112
+ DA:149,1
113
+ DA:154,1
114
+ DA:155,3
115
+ DA:156,3
116
+ DA:158,2
117
+ DA:159,2
118
+ DA:160,1
119
+ DA:162,1
120
+ DA:167,1
121
+ DA:168,4
122
+ DA:169,4
123
+ DA:171,3
124
+ DA:172,3
125
+ DA:173,3
126
+ DA:174,2
127
+ DA:175,1
128
+ DA:177,1
129
+ DA:182,1
130
+ DA:183,4
131
+ DA:184,4
132
+ DA:186,3
133
+ DA:187,3
134
+ DA:188,3
135
+ DA:189,2
136
+ DA:191,1
137
+ DA:196,1
138
+ DA:197,3
139
+ DA:198,3
140
+ DA:200,2
141
+ DA:201,2
142
+ DA:202,2
143
+ DA:203,1
144
+ DA:205,1
145
+ DA:210,1
146
+ DA:211,4
147
+ DA:212,4
148
+ DA:214,3
149
+ DA:215,3
150
+ DA:216,1
151
+ DA:219,2
152
+ DA:225,1
153
+ DA:227,1
154
+ DA:232,1
155
+ DA:233,4
156
+ DA:234,4
157
+ DA:236,3
158
+ DA:237,3
159
+ DA:238,3
160
+ DA:239,2
161
+ DA:240,1
162
+ DA:242,1
163
+ DA:246,1
164
+ LF:129
165
+ LH:129
166
+ BRDA:26,0,0,11
167
+ BRDA:26,0,1,25
168
+ BRDA:35,1,0,1
169
+ BRDA:35,1,1,4
170
+ BRDA:40,2,0,3
171
+ BRDA:40,2,1,1
172
+ BRDA:40,3,0,4
173
+ BRDA:40,3,1,4
174
+ BRDA:40,3,2,4
175
+ BRDA:57,4,0,1
176
+ BRDA:57,4,1,5
177
+ BRDA:57,5,0,6
178
+ BRDA:57,5,1,5
179
+ BRDA:62,6,0,1
180
+ BRDA:62,6,1,4
181
+ BRDA:66,7,0,1
182
+ BRDA:66,7,1,3
183
+ BRDA:93,8,0,1
184
+ BRDA:93,8,1,3
185
+ BRDA:97,9,0,1
186
+ BRDA:97,9,1,1
187
+ BRDA:112,10,0,3
188
+ BRDA:112,10,1,3
189
+ BRDA:125,11,0,1
190
+ BRDA:125,11,1,2
191
+ BRDA:138,12,0,1
192
+ BRDA:138,12,1,4
193
+ BRDA:142,13,0,2
194
+ BRDA:142,13,1,2
195
+ BRDA:142,14,0,4
196
+ BRDA:142,14,1,3
197
+ BRDA:156,15,0,1
198
+ BRDA:156,15,1,2
199
+ BRDA:169,16,0,1
200
+ BRDA:169,16,1,3
201
+ BRDA:173,17,0,1
202
+ BRDA:173,17,1,2
203
+ BRDA:184,18,0,1
204
+ BRDA:184,18,1,3
205
+ BRDA:198,19,0,1
206
+ BRDA:198,19,1,2
207
+ BRDA:212,20,0,1
208
+ BRDA:212,20,1,3
209
+ BRDA:215,21,0,1
210
+ BRDA:215,21,1,2
211
+ BRDA:234,22,0,1
212
+ BRDA:234,22,1,3
213
+ BRDA:238,23,0,1
214
+ BRDA:238,23,1,2
215
+ BRF:49
216
+ BRH:49
217
+ end_of_record
218
+ TN:
219
+ SF:routes/projects.js
220
+ FN:6,(anonymous_0)
221
+ FN:16,(anonymous_1)
222
+ FN:26,(anonymous_2)
223
+ FNF:3
224
+ FNH:3
225
+ FNDA:8,(anonymous_0)
226
+ FNDA:5,(anonymous_1)
227
+ FNDA:6,(anonymous_2)
228
+ DA:1,1
229
+ DA:2,1
230
+ DA:3,1
231
+ DA:6,1
232
+ DA:7,8
233
+ DA:8,8
234
+ DA:9,2
235
+ DA:11,6
236
+ DA:16,1
237
+ DA:17,5
238
+ DA:18,5
239
+ DA:19,4
240
+ DA:21,1
241
+ DA:26,1
242
+ DA:27,6
243
+ DA:28,6
244
+ DA:29,5
245
+ DA:31,1
246
+ DA:35,1
247
+ LF:19
248
+ LH:19
249
+ BRF:0
250
+ BRH:0
251
+ end_of_record
252
+ TN:
253
+ SF:service/jiraService.js
254
+ FN:15,(anonymous_0)
255
+ FN:20,(anonymous_1)
256
+ FN:33,(anonymous_2)
257
+ FN:60,(anonymous_3)
258
+ FN:75,(anonymous_4)
259
+ FN:76,(anonymous_5)
260
+ FN:135,(anonymous_6)
261
+ FN:145,(anonymous_7)
262
+ FN:157,(anonymous_8)
263
+ FN:159,(anonymous_9)
264
+ FN:179,(anonymous_10)
265
+ FN:190,(anonymous_11)
266
+ FN:228,(anonymous_12)
267
+ FN:237,(anonymous_13)
268
+ FN:239,(anonymous_14)
269
+ FN:247,(anonymous_15)
270
+ FN:263,(anonymous_16)
271
+ FN:300,(anonymous_17)
272
+ FN:311,(anonymous_18)
273
+ FN:325,(anonymous_19)
274
+ FN:353,(anonymous_20)
275
+ FN:367,(anonymous_21)
276
+ FN:389,(anonymous_22)
277
+ FN:402,(anonymous_23)
278
+ FN:413,(anonymous_24)
279
+ FN:424,(anonymous_25)
280
+ FN:435,(anonymous_26)
281
+ FN:479,(anonymous_27)
282
+ FN:491,(anonymous_28)
283
+ FN:501,(anonymous_29)
284
+ FNF:30
285
+ FNH:30
286
+ FNDA:7,(anonymous_0)
287
+ FNDA:7,(anonymous_1)
288
+ FNDA:74,(anonymous_2)
289
+ FNDA:11,(anonymous_3)
290
+ FNDA:2,(anonymous_4)
291
+ FNDA:2,(anonymous_5)
292
+ FNDA:23,(anonymous_6)
293
+ FNDA:17,(anonymous_7)
294
+ FNDA:5,(anonymous_8)
295
+ FNDA:4,(anonymous_9)
296
+ FNDA:3,(anonymous_10)
297
+ FNDA:5,(anonymous_11)
298
+ FNDA:8,(anonymous_12)
299
+ FNDA:2,(anonymous_13)
300
+ FNDA:2,(anonymous_14)
301
+ FNDA:6,(anonymous_15)
302
+ FNDA:3,(anonymous_16)
303
+ FNDA:3,(anonymous_17)
304
+ FNDA:2,(anonymous_18)
305
+ FNDA:6,(anonymous_19)
306
+ FNDA:3,(anonymous_20)
307
+ FNDA:2,(anonymous_21)
308
+ FNDA:3,(anonymous_22)
309
+ FNDA:3,(anonymous_23)
310
+ FNDA:3,(anonymous_24)
311
+ FNDA:3,(anonymous_25)
312
+ FNDA:4,(anonymous_26)
313
+ FNDA:2,(anonymous_27)
314
+ FNDA:4,(anonymous_28)
315
+ FNDA:2,(anonymous_29)
316
+ DA:1,5
317
+ DA:2,5
318
+ DA:3,5
319
+ DA:4,5
320
+ DA:6,5
321
+ DA:8,5
322
+ DA:11,5
323
+ DA:13,5
324
+ DA:15,5
325
+ DA:16,7
326
+ DA:17,7
327
+ DA:20,5
328
+ DA:21,7
329
+ DA:22,28
330
+ DA:23,2
331
+ DA:24,2
332
+ DA:27,7
333
+ DA:28,7
334
+ DA:31,5
335
+ DA:33,5
336
+ DA:34,74
337
+ DA:35,74
338
+ DA:36,74
339
+ DA:38,74
340
+ DA:39,1
341
+ DA:42,73
342
+ DA:45,73
343
+ DA:46,72
344
+ DA:47,72
345
+ DA:50,73
346
+ DA:60,5
347
+ DA:61,11
348
+ DA:62,11
349
+ DA:65,11
350
+ DA:66,11
351
+ DA:68,11
352
+ DA:69,8
353
+ DA:71,11
354
+ DA:73,2
355
+ DA:75,2
356
+ DA:76,2
357
+ DA:77,1
358
+ DA:79,1
359
+ DA:82,11
360
+ DA:83,3
361
+ DA:84,3
362
+ DA:86,3
363
+ DA:88,1
364
+ DA:89,2
365
+ DA:90,1
366
+ DA:92,1
367
+ DA:96,11
368
+ DA:97,11
369
+ DA:100,11
370
+ DA:101,11
371
+ DA:102,11
372
+ DA:103,1
373
+ DA:104,1
374
+ DA:107,10
375
+ DA:108,9
376
+ DA:110,9
377
+ DA:119,7
378
+ DA:122,7
379
+ DA:124,7
380
+ DA:126,3
381
+ DA:127,3
382
+ DA:128,1
383
+ DA:130,2
384
+ DA:135,5
385
+ DA:136,23
386
+ DA:137,22
387
+ DA:138,13
388
+ DA:139,12
389
+ DA:140,12
390
+ DA:142,1
391
+ DA:145,5
392
+ DA:146,17
393
+ DA:147,17
394
+ DA:148,17
395
+ DA:154,15
396
+ DA:155,15
397
+ DA:157,15
398
+ DA:158,5
399
+ DA:159,5
400
+ DA:160,4
401
+ DA:161,2
402
+ DA:163,2
403
+ DA:167,15
404
+ DA:169,14
405
+ DA:170,5
406
+ DA:171,9
407
+ DA:172,1
408
+ DA:174,8
409
+ DA:178,14
410
+ DA:179,3
411
+ DA:185,12
412
+ DA:189,14
413
+ DA:190,7
414
+ DA:191,5
415
+ DA:192,2
416
+ DA:200,3
417
+ DA:201,2
418
+ DA:210,1
419
+ DA:213,7
420
+ DA:216,1
421
+ DA:217,1
422
+ DA:218,1
423
+ DA:219,1
424
+ DA:221,15
425
+ DA:223,2
426
+ DA:224,2
427
+ DA:228,5
428
+ DA:229,8
429
+ DA:230,8
430
+ DA:231,8
431
+ DA:234,7
432
+ DA:235,7
433
+ DA:237,7
434
+ DA:238,2
435
+ DA:239,2
436
+ DA:240,2
437
+ DA:241,1
438
+ DA:243,1
439
+ DA:247,7
440
+ DA:248,6
441
+ DA:249,2
442
+ DA:250,4
443
+ DA:251,1
444
+ DA:253,3
445
+ DA:255,6
446
+ DA:258,1
447
+ DA:259,1
448
+ DA:263,5
449
+ DA:264,3
450
+ DA:265,3
451
+ DA:268,3
452
+ DA:284,3
453
+ DA:288,2
454
+ DA:289,2
455
+ DA:290,1
456
+ DA:292,2
457
+ DA:293,2
458
+ DA:295,1
459
+ DA:296,1
460
+ DA:300,5
461
+ DA:301,3
462
+ DA:302,3
463
+ DA:303,3
464
+ DA:304,2
465
+ DA:306,1
466
+ DA:307,1
467
+ DA:311,5
468
+ DA:312,2
469
+ DA:313,2
470
+ DA:314,2
471
+ DA:317,1
472
+ DA:318,1
473
+ DA:320,1
474
+ DA:321,1
475
+ DA:325,5
476
+ DA:326,6
477
+ DA:327,6
478
+ DA:329,6
479
+ DA:330,2
480
+ DA:331,2
481
+ DA:334,4
482
+ DA:335,4
483
+ DA:336,4
484
+ DA:338,4
485
+ DA:339,4
486
+ DA:341,4
487
+ DA:342,3
488
+ DA:345,3
489
+ DA:346,3
490
+ DA:348,1
491
+ DA:349,1
492
+ DA:353,5
493
+ DA:354,3
494
+ DA:355,3
495
+ DA:356,3
496
+ DA:359,2
497
+ DA:360,2
498
+ DA:362,1
499
+ DA:363,1
500
+ DA:367,5
501
+ DA:368,2
502
+ DA:369,2
503
+ DA:370,2
504
+ DA:371,2
505
+ DA:373,2
506
+ DA:378,2
507
+ DA:381,1
508
+ DA:382,1
509
+ DA:384,1
510
+ DA:385,1
511
+ DA:389,5
512
+ DA:390,3
513
+ DA:391,3
514
+ DA:393,3
515
+ DA:394,3
516
+ DA:395,2
517
+ DA:397,1
518
+ DA:398,1
519
+ DA:402,5
520
+ DA:403,3
521
+ DA:404,3
522
+ DA:405,3
523
+ DA:406,2
524
+ DA:408,1
525
+ DA:409,1
526
+ DA:413,5
527
+ DA:414,3
528
+ DA:415,3
529
+ DA:416,3
530
+ DA:417,2
531
+ DA:419,1
532
+ DA:420,1
533
+ DA:424,5
534
+ DA:425,3
535
+ DA:426,3
536
+ DA:427,3
537
+ DA:428,2
538
+ DA:430,1
539
+ DA:431,1
540
+ DA:435,5
541
+ DA:436,4
542
+ DA:437,4
543
+ DA:439,4
544
+ DA:440,4
545
+ DA:441,1
546
+ DA:451,4
547
+ DA:459,4
548
+ DA:460,4
549
+ DA:462,4
550
+ DA:465,3
551
+ DA:466,8
552
+ DA:467,2
553
+ DA:468,2
554
+ DA:472,3
555
+ DA:474,1
556
+ DA:475,1
557
+ DA:479,5
558
+ DA:480,2
559
+ DA:481,2
560
+ DA:482,2
561
+ DA:483,1
562
+ DA:484,1
563
+ DA:486,1
564
+ DA:487,1
565
+ DA:491,5
566
+ DA:492,4
567
+ DA:493,4
568
+ DA:494,4
569
+ DA:501,3
570
+ DA:503,1
571
+ DA:504,1
572
+ DA:508,5
573
+ LF:257
574
+ LH:257
575
+ BRDA:8,0,0,5
576
+ BRDA:8,0,1,3
577
+ BRDA:22,1,0,2
578
+ BRDA:22,1,1,26
579
+ BRDA:38,2,0,1
580
+ BRDA:38,2,1,73
581
+ BRDA:38,3,0,74
582
+ BRDA:38,3,1,73
583
+ BRDA:45,4,0,72
584
+ BRDA:45,4,1,1
585
+ BRDA:62,5,0,11
586
+ BRDA:62,6,0,11
587
+ BRDA:66,7,0,8
588
+ BRDA:66,7,1,3
589
+ BRDA:68,8,0,8
590
+ BRDA:68,8,1,3
591
+ BRDA:71,9,0,2
592
+ BRDA:71,9,1,9
593
+ BRDA:73,10,0,1
594
+ BRDA:73,10,1,1
595
+ BRDA:82,11,0,3
596
+ BRDA:82,11,1,8
597
+ BRDA:86,12,0,1
598
+ BRDA:86,12,1,2
599
+ BRDA:86,13,0,3
600
+ BRDA:86,13,1,1
601
+ BRDA:89,14,0,1
602
+ BRDA:89,14,1,1
603
+ BRDA:102,15,0,1
604
+ BRDA:102,15,1,10
605
+ BRDA:127,16,0,1
606
+ BRDA:127,16,1,2
607
+ BRDA:136,17,0,1
608
+ BRDA:136,17,1,22
609
+ BRDA:137,18,0,9
610
+ BRDA:137,18,1,13
611
+ BRDA:137,19,0,9
612
+ BRDA:137,19,1,1
613
+ BRDA:138,20,0,12
614
+ BRDA:138,20,1,1
615
+ BRDA:139,21,0,7
616
+ BRDA:139,21,1,5
617
+ BRDA:140,22,0,7
618
+ BRDA:140,22,1,5
619
+ BRDA:158,23,0,0
620
+ BRDA:158,23,1,5
621
+ BRDA:160,24,0,2
622
+ BRDA:160,24,1,2
623
+ BRDA:160,25,0,4
624
+ BRDA:160,25,1,3
625
+ BRDA:167,26,0,14
626
+ BRDA:167,26,1,1
627
+ BRDA:169,27,0,5
628
+ BRDA:169,27,1,9
629
+ BRDA:169,28,0,14
630
+ BRDA:169,28,1,6
631
+ BRDA:171,29,0,1
632
+ BRDA:171,29,1,8
633
+ BRDA:178,30,0,2
634
+ BRDA:178,30,1,12
635
+ BRDA:181,31,0,3
636
+ BRDA:181,31,1,1
637
+ BRDA:182,32,0,3
638
+ BRDA:182,32,1,2
639
+ BRDA:189,33,0,7
640
+ BRDA:189,33,1,7
641
+ BRDA:191,34,0,2
642
+ BRDA:191,34,1,3
643
+ BRDA:197,35,0,2
644
+ BRDA:197,35,1,1
645
+ BRDA:198,36,0,2
646
+ BRDA:198,36,1,1
647
+ BRDA:200,37,0,2
648
+ BRDA:200,37,1,1
649
+ BRDA:206,38,0,2
650
+ BRDA:206,38,1,1
651
+ BRDA:207,39,0,2
652
+ BRDA:207,39,1,1
653
+ BRDA:216,40,0,1
654
+ BRDA:216,40,1,0
655
+ BRDA:234,41,0,7
656
+ BRDA:234,41,1,1
657
+ BRDA:238,42,0,0
658
+ BRDA:238,42,1,2
659
+ BRDA:240,43,0,1
660
+ BRDA:240,43,1,1
661
+ BRDA:240,44,0,2
662
+ BRDA:240,44,1,1
663
+ BRDA:248,45,0,2
664
+ BRDA:248,45,1,4
665
+ BRDA:250,46,0,1
666
+ BRDA:250,46,1,3
667
+ BRDA:289,47,0,1
668
+ BRDA:289,47,1,1
669
+ BRDA:304,48,0,2
670
+ BRDA:304,48,1,1
671
+ BRDA:326,49,0,6
672
+ BRDA:326,49,1,4
673
+ BRDA:329,50,0,2
674
+ BRDA:329,50,1,4
675
+ BRDA:330,51,0,1
676
+ BRDA:330,51,1,1
677
+ BRDA:336,52,0,1
678
+ BRDA:336,52,1,3
679
+ BRDA:339,53,0,1
680
+ BRDA:339,53,1,3
681
+ BRDA:342,54,0,3
682
+ BRDA:342,54,1,1
683
+ BRDA:357,55,0,3
684
+ BRDA:357,55,1,1
685
+ BRDA:393,56,0,2
686
+ BRDA:393,56,1,1
687
+ BRDA:406,57,0,2
688
+ BRDA:406,57,1,1
689
+ BRDA:417,58,0,2
690
+ BRDA:417,58,1,1
691
+ BRDA:428,59,0,2
692
+ BRDA:428,59,1,1
693
+ BRDA:440,60,0,1
694
+ BRDA:440,60,1,3
695
+ BRDA:459,61,0,1
696
+ BRDA:459,61,1,3
697
+ BRDA:460,62,0,1
698
+ BRDA:460,62,1,3
699
+ BRDA:466,63,0,2
700
+ BRDA:466,63,1,6
701
+ BRDA:497,64,0,4
702
+ BRDA:497,64,1,1
703
+ BRDA:501,65,0,3
704
+ BRDA:501,65,1,1
705
+ BRF:130
706
+ BRH:127
707
+ end_of_record
@@ -0,0 +1,38 @@
1
+ const express = require('express');
2
+ const cors = require('cors');
3
+ const dotenv = require('dotenv');
4
+ const rateLimit = require('express-rate-limit');
5
+
6
+ dotenv.config();
7
+
8
+ const app = express();
9
+ const PORT = process.env.PORT || 5000;
10
+
11
+ const generalLimiter = rateLimit({
12
+ windowMs: 15 * 60 * 1000,
13
+ max: 100,
14
+ standardHeaders: true,
15
+ legacyHeaders: false,
16
+ message: { error: 'Too many requests, please try again later.' },
17
+ });
18
+
19
+ app.use(cors());
20
+ app.use(express.json());
21
+
22
+ app.use('/api', generalLimiter);
23
+
24
+ // Load routes
25
+ const issuesRoute = require('./routes/issues');
26
+ const projectsRoute = require('./routes/projects');
27
+
28
+ app.use('/api/issues', issuesRoute);
29
+ app.use('/api/projects', projectsRoute);
30
+
31
+ // Health check endpoint
32
+ app.get('/api/health', (req, res) => {
33
+ res.json({ status: 'OK', message: 'Backend is running' });
34
+ });
35
+
36
+ app.listen(PORT, () => {
37
+ console.log(`Server is running on port ${PORT}`);
38
+ });
@@ -0,0 +1,11 @@
1
+ module.exports = {
2
+ testEnvironment: 'node',
3
+ testMatch: ['**/__tests__/**/*.test.js'],
4
+ collectCoverageFrom: [
5
+ 'service/**/*.js',
6
+ 'routes/**/*.js'
7
+ ],
8
+ coverageDirectory: 'coverage',
9
+ verbose: true,
10
+ testTimeout: 10000
11
+ };