@next-k8s/tickets 1.0.26 → 1.0.27

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 (37) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/coverage/clover.xml +158 -17
  3. package/coverage/coverage-final.json +11 -1
  4. package/coverage/lcov-report/index.html +94 -19
  5. package/coverage/lcov-report/src/app.ts.html +17 -17
  6. package/coverage/lcov-report/src/events/listeners/_queue-group-name.ts.html +88 -0
  7. package/coverage/lcov-report/src/events/listeners/index.html +131 -0
  8. package/coverage/lcov-report/src/events/listeners/order-created.ts.html +151 -0
  9. package/coverage/lcov-report/src/events/publishers/created.ts.html +4 -4
  10. package/coverage/lcov-report/src/events/publishers/index.html +1 -1
  11. package/coverage/lcov-report/src/events/publishers/updated.ts.html +4 -4
  12. package/coverage/lcov-report/src/index.html +1 -1
  13. package/coverage/lcov-report/src/models/index.html +1 -1
  14. package/coverage/lcov-report/src/models/ticket.ts.html +20 -5
  15. package/coverage/lcov-report/src/routes/create.ts.html +11 -11
  16. package/coverage/lcov-report/src/routes/find.ts.html +1 -1
  17. package/coverage/lcov-report/src/routes/get.ts.html +25 -10
  18. package/coverage/lcov-report/src/routes/index.html +8 -23
  19. package/coverage/lcov-report/src/routes/index.ts.html +8 -11
  20. package/coverage/lcov-report/src/routes/update.ts.html +12 -12
  21. package/coverage/lcov-report/src/test/index.html +1 -1
  22. package/coverage/lcov-report/src/test/utils.ts.html +3 -3
  23. package/coverage/lcov-report/ticket.ts.html +1 -1
  24. package/coverage/lcov.info +241 -17
  25. package/package.json +3 -3
  26. package/pnpm-lock.yaml +311 -18
  27. package/src/events/listeners/__test__/order-created.test.ts +44 -0
  28. package/src/events/listeners/_queue-group-name.ts +1 -0
  29. package/src/events/listeners/order-created.ts +22 -0
  30. package/src/models/ticket.ts +7 -2
  31. package/src/routes/__test__/get.test.ts +15 -0
  32. package/src/routes/create.ts +1 -1
  33. package/src/routes/get.ts +5 -0
  34. package/src/routes/index.ts +1 -2
  35. package/src/routes/update.ts +1 -1
  36. package/src/routes/__test__/find.test.ts +0 -22
  37. package/src/routes/find.ts +0 -11
@@ -0,0 +1,131 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/events/listeners</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> src/events/listeners</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">92.85% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>13/14</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>13/13</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file high" data-value="_queue-group-name.ts"><a href="_queue-group-name.ts.html">_queue-group-name.ts</a></td>
83
+ <td data-value="100" class="pic high">
84
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
+ </td>
86
+ <td data-value="100" class="pct high">100%</td>
87
+ <td data-value="1" class="abs high">1/1</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="0" class="abs high">0/0</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="0" class="abs high">0/0</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="1" class="abs high">1/1</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file high" data-value="order-created.ts"><a href="order-created.ts.html">order-created.ts</a></td>
98
+ <td data-value="92.3" class="pic high">
99
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
100
+ </td>
101
+ <td data-value="92.3" class="pct high">92.3%</td>
102
+ <td data-value="13" class="abs high">12/13</td>
103
+ <td data-value="0" class="pct low">0%</td>
104
+ <td data-value="1" class="abs low">0/1</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="2" class="abs high">2/2</td>
107
+ <td data-value="100" class="pct high">100%</td>
108
+ <td data-value="12" class="abs high">12/12</td>
109
+ </tr>
110
+
111
+ </tbody>
112
+ </table>
113
+ </div>
114
+ <div class='push'></div><!-- for sticky footer -->
115
+ </div><!-- /wrapper -->
116
+ <div class='footer quiet pad2 space-top1 center small'>
117
+ Code coverage generated by
118
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
120
+ </div>
121
+ <script src="../../../prettify.js"></script>
122
+ <script>
123
+ window.onload = function () {
124
+ prettyPrint();
125
+ };
126
+ </script>
127
+ <script src="../../../sorter.js"></script>
128
+ <script src="../../../block-navigation.js"></script>
129
+ </body>
130
+ </html>
131
+
@@ -0,0 +1,151 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/events/listeners/order-created.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/events/listeners</a> order-created.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">92.3% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>12/13</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>12/12</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-yes">1x</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-yes">1x</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-yes">1x</span>
96
+ <span class="cline-any cline-yes">2x</span>
97
+ <span class="cline-any cline-yes">2x</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-yes">2x</span>
101
+ <span class="cline-any cline-yes">2x</span>
102
+ <span class="cline-any cline-yes">2x</span>
103
+ <span class="cline-any cline-yes">2x</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-yes">2x</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-yes">1x</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Listener, NotFoundError, OrderCreatedEvent, Subjects } from '@next-k8s/common'
111
+ import { Message } from 'node-nats-streaming'
112
+ import Ticket from '../../models/ticket'
113
+ import TicketUpdatedPublisher from '../publishers/updated'
114
+ &nbsp;
115
+ import queueGroupName from './_queue-group-name'
116
+ &nbsp;
117
+ export class OrderCreatedListener extends Listener&lt;OrderCreatedEvent&gt; {
118
+ readonly subject = Subjects.OrderCreated
119
+ queueGroupName = queueGroupName
120
+ &nbsp;
121
+ async onMessage (data: OrderCreatedEvent['data'], msg: Message) {
122
+ const ticket = await Ticket.findById(data.ticket.id)
123
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!ticket) <span class="cstat-no" title="statement not covered" >throw new NotFoundError('Ticket not found')</span>
124
+ ticket.set({ orderId: data.id })
125
+ await ticket.save()
126
+ &nbsp;
127
+ msg.ack()
128
+ }
129
+ }
130
+ &nbsp;
131
+ export default OrderCreatedListener
132
+ &nbsp;</pre></td></tr></table></pre>
133
+
134
+ <div class='push'></div><!-- for sticky footer -->
135
+ </div><!-- /wrapper -->
136
+ <div class='footer quiet pad2 space-top1 center small'>
137
+ Code coverage generated by
138
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
139
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
140
+ </div>
141
+ <script src="../../../prettify.js"></script>
142
+ <script>
143
+ window.onload = function () {
144
+ prettyPrint();
145
+ };
146
+ </script>
147
+ <script src="../../../sorter.js"></script>
148
+ <script src="../../../block-navigation.js"></script>
149
+ </body>
150
+ </html>
151
+
@@ -70,13 +70,13 @@
70
70
  <a name='L5'></a><a href='#L5'>5</a>
71
71
  <a name='L6'></a><a href='#L6'>6</a>
72
72
  <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
73
+ <a name='L8'></a><a href='#L8'>8</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-yes">4x</span>
75
+ <span class="cline-any cline-yes">3x</span>
76
76
  <span class="cline-any cline-yes">10x</span>
77
77
  <span class="cline-any cline-neutral">&nbsp;</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">4x</span>
79
+ <span class="cline-any cline-yes">3x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Publisher, Subjects, TicketCreatedEvent } from '@next-k8s/common'
81
81
  &nbsp;
82
82
  export class TicketCreatedPublisher extends Publisher&lt;TicketCreatedEvent&gt; {
@@ -91,7 +91,7 @@ export default TicketCreatedPublisher
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
94
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
95
95
  </div>
96
96
  <script src="../../../prettify.js"></script>
97
97
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
119
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
120
120
  </div>
121
121
  <script src="../../../prettify.js"></script>
122
122
  <script>
@@ -70,13 +70,13 @@
70
70
  <a name='L5'></a><a href='#L5'>5</a>
71
71
  <a name='L6'></a><a href='#L6'>6</a>
72
72
  <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
73
+ <a name='L8'></a><a href='#L8'>8</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-yes">4x</span>
75
+ <span class="cline-any cline-yes">3x</span>
76
76
  <span class="cline-any cline-yes">1x</span>
77
77
  <span class="cline-any cline-neutral">&nbsp;</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">4x</span>
79
+ <span class="cline-any cline-yes">3x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Publisher, Subjects, TicketUpdatedEvent } from '@next-k8s/common'
81
81
  &nbsp;
82
82
  export class TicketUpdatedPublisher extends Publisher&lt;TicketUpdatedEvent&gt; {
@@ -91,7 +91,7 @@ export default TicketUpdatedPublisher
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
94
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
95
95
  </div>
96
96
  <script src="../../../prettify.js"></script>
97
97
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
104
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
104
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -108,7 +108,12 @@
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">5x</span>
112
117
  <span class="cline-any cline-yes">5x</span>
113
118
  <span class="cline-any cline-neutral">&nbsp;</span>
114
119
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -119,6 +124,7 @@
119
124
  <span class="cline-any cline-neutral">&nbsp;</span>
120
125
  <span class="cline-any cline-neutral">&nbsp;</span>
121
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
+ <span class="cline-any cline-neutral">&nbsp;</span>
122
128
  <span class="cline-any cline-yes">5x</span>
123
129
  <span class="cline-any cline-neutral">&nbsp;</span>
124
130
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -137,6 +143,10 @@
137
143
  <span class="cline-any cline-neutral">&nbsp;</span>
138
144
  <span class="cline-any cline-neutral">&nbsp;</span>
139
145
  <span class="cline-any cline-neutral">&nbsp;</span>
146
+ <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-neutral">&nbsp;</span>
148
+ <span class="cline-any cline-neutral">&nbsp;</span>
149
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
150
  <span class="cline-any cline-yes">15x</span>
141
151
  <span class="cline-any cline-yes">15x</span>
142
152
  <span class="cline-any cline-yes">15x</span>
@@ -150,16 +160,17 @@
150
160
  <span class="cline-any cline-yes">5x</span>
151
161
  <span class="cline-any cline-yes">5x</span>
152
162
  <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-yes">20x</span>
163
+ <span class="cline-any cline-yes">26x</span>
154
164
  <span class="cline-any cline-neutral">&nbsp;</span>
155
165
  <span class="cline-any cline-neutral">&nbsp;</span>
156
166
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import mongoose, { ObjectId } from 'mongoose'
157
167
  import { updateIfCurrentPlugin } from 'mongoose-update-if-current'
158
168
  &nbsp;
159
169
  interface TicketAttributes {
160
- title: String;
161
- price: Number;
170
+ title: string;
171
+ price: number;
162
172
  owner: string;
173
+ orderId?: string;
163
174
  createdAt?: Date;
164
175
  updatedAt?: Date;
165
176
  }
@@ -178,6 +189,10 @@ const ticketSchema = new mongoose.Schema({
178
189
  owner: {
179
190
  type: mongoose.Schema.Types.ObjectId,
180
191
  required: true
192
+ },
193
+ &nbsp;
194
+ orderId: {
195
+ type: String
181
196
  }
182
197
  }, {
183
198
  toJSON: {
@@ -205,7 +220,7 @@ export default class Ticket extends TicketModel {
205
220
  <div class='footer quiet pad2 space-top1 center small'>
206
221
  Code coverage generated by
207
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
223
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
209
224
  </div>
210
225
  <script src="../../prettify.js"></script>
211
226
  <script>
@@ -87,17 +87,17 @@
87
87
  <a name='L22'></a><a href='#L22'>22</a>
88
88
  <a name='L23'></a><a href='#L23'>23</a>
89
89
  <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
91
- <span class="cline-any cline-yes">4x</span>
92
- <span class="cline-any cline-yes">4x</span>
90
+ <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
91
+ <span class="cline-any cline-yes">3x</span>
92
+ <span class="cline-any cline-yes">3x</span>
93
93
  <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-yes">4x</span>
95
- <span class="cline-any cline-yes">4x</span>
96
- <span class="cline-any cline-yes">4x</span>
94
+ <span class="cline-any cline-yes">3x</span>
95
+ <span class="cline-any cline-yes">3x</span>
96
+ <span class="cline-any cline-yes">3x</span>
97
97
  <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-yes">4x</span>
98
+ <span class="cline-any cline-yes">3x</span>
99
99
  <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-yes">4x</span>
100
+ <span class="cline-any cline-yes">3x</span>
101
101
  <span class="cline-any cline-neutral">&nbsp;</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -110,7 +110,7 @@
110
110
  <span class="cline-any cline-yes">10x</span>
111
111
  <span class="cline-any cline-neutral">&nbsp;</span>
112
112
  <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-yes">4x</span>
113
+ <span class="cline-any cline-yes">3x</span>
114
114
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import express, { Request, Response } from 'express'
115
115
  import { body } from 'express-validator'
116
116
  import { requireAuth, validateRequest } from '@next-k8s/common'
@@ -130,7 +130,7 @@ router.post('/api/tickets', requireAuth, validateInput, validateRequest, async (
130
130
  const { title, price } = req.body
131
131
  const ticket = new Ticket({ title, price, owner: req.currentUser!.id })
132
132
  await ticket.save()
133
- new TicketCreatedPublisher(natsClient.client).publish({ id: ticket.id, title: ticket.title, price: ticket.price, owner: ticket.owner })
133
+ new TicketCreatedPublisher(natsClient.client).publish({ id: ticket.id, version: ticket.version, title: ticket.title, price: ticket.price, owner: ticket.owner })
134
134
  res.status(201).send({ ticket })
135
135
  })
136
136
  &nbsp;
@@ -142,7 +142,7 @@ export default router
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
145
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
146
146
  </div>
147
147
  <script src="../../prettify.js"></script>
148
148
  <script>
@@ -103,7 +103,7 @@ export default router
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
106
+ at Wed Jul 13 2022 20:58:50 GMT-0500 (Central Daylight Time)
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>14/14</span>
28
+ <span class='fraction'>18/18</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>4/4</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>11/11</span>
49
+ <span class='fraction'>14/14</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,13 +79,23 @@
79
79
  <a name='L14'></a><a href='#L14'>14</a>
80
80
  <a name='L15'></a><a href='#L15'>15</a>
81
81
  <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
83
- <span class="cline-any cline-yes">4x</span>
84
- <span class="cline-any cline-yes">4x</span>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
88
+ <span class="cline-any cline-yes">3x</span>
89
+ <span class="cline-any cline-yes">3x</span>
85
90
  <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-yes">4x</span>
91
+ <span class="cline-any cline-yes">3x</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-yes">3x</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-yes">3x</span>
96
+ <span class="cline-any cline-yes">1x</span>
97
+ <span class="cline-any cline-yes">1x</span>
87
98
  <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-yes">4x</span>
89
99
  <span class="cline-any cline-neutral">&nbsp;</span>
90
100
  <span class="cline-any cline-yes">4x</span>
91
101
  <span class="cline-any cline-yes">4x</span>
@@ -94,7 +104,7 @@
94
104
  <span class="cline-any cline-yes">2x</span>
95
105
  <span class="cline-any cline-neutral">&nbsp;</span>
96
106
  <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-yes">4x</span>
107
+ <span class="cline-any cline-yes">3x</span>
98
108
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BadRequestError, NotFoundError } from '@next-k8s/common'
99
109
  import express, { Request, Response } from 'express'
100
110
  import { isValidObjectId } from 'mongoose'
@@ -103,6 +113,11 @@ import Ticket from '../models/ticket'
103
113
  &nbsp;
104
114
  const router = express.Router()
105
115
  &nbsp;
116
+ router.get('/api/tickets', async (req: Request, res: Response) =&gt; {
117
+ const tickets = await Ticket.find({})
118
+ res.send({ tickets })
119
+ })
120
+ &nbsp;
106
121
  router.get('/api/tickets/:id', async (req: Request, res: Response) =&gt; {
107
122
  if (!isValidObjectId(req.params.id)) throw new BadRequestError('Invalid Ticket ID')
108
123
  const ticket = await Ticket.findById(req.params.id)
@@ -118,7 +133,7 @@ export default router
118
133
  <div class='footer quiet pad2 space-top1 center small'>
119
134
  Code coverage generated by
120
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at Tue Jul 12 2022 12:57:10 GMT-0500 (Central Daylight Time)
136
+ at Fri Jul 15 2022 16:01:42 GMT-0500 (Central Daylight Time)
122
137
  </div>
123
138
  <script src="../../prettify.js"></script>
124
139
  <script>