@insignia-education/api-sdk-js 0.12.0 → 0.14.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 (48) hide show
  1. package/coverage/clover.xml +126 -951
  2. package/coverage/coverage-final.json +1 -32
  3. package/coverage/lcov-report/Client.js.html +108 -12
  4. package/coverage/lcov-report/index.html +20 -65
  5. package/coverage/lcov-report/src/Client.js.html +76 -76
  6. package/coverage/lcov-report/src/api/index.html +1 -1
  7. package/coverage/lcov-report/src/api/index.js.html +1 -1
  8. package/coverage/lcov-report/src/api/v1/Accounts.js.html +1 -1
  9. package/coverage/lcov-report/src/api/v1/Auth.js.html +1 -1
  10. package/coverage/lcov-report/src/api/v1/Categories.js.html +1 -1
  11. package/coverage/lcov-report/src/api/v1/Changelogs.js.html +1 -1
  12. package/coverage/lcov-report/src/api/v1/Configs.js.html +1 -1
  13. package/coverage/lcov-report/src/api/v1/ContactForms.js.html +1 -1
  14. package/coverage/lcov-report/src/api/v1/ConversationalTopics.js.html +1 -1
  15. package/coverage/lcov-report/src/api/v1/Countries.js.html +1 -1
  16. package/coverage/lcov-report/src/api/v1/Coupons.js.html +1 -1
  17. package/coverage/lcov-report/src/api/v1/Courses.js.html +17 -8
  18. package/coverage/lcov-report/src/api/v1/Currencies.js.html +1 -1
  19. package/coverage/lcov-report/src/api/v1/Files.js.html +1 -1
  20. package/coverage/lcov-report/src/api/v1/Forums.js.html +1 -1
  21. package/coverage/lcov-report/src/api/v1/Hashes.js.html +1 -1
  22. package/coverage/lcov-report/src/api/v1/Insignias.js.html +1 -1
  23. package/coverage/lcov-report/src/api/v1/Languages.js.html +1 -1
  24. package/coverage/lcov-report/src/api/v1/MailBlacklist.js.html +1 -1
  25. package/coverage/lcov-report/src/api/v1/Organizations.js.html +1 -1
  26. package/coverage/lcov-report/src/api/v1/PaymentMethods.js.html +1 -1
  27. package/coverage/lcov-report/src/api/v1/Payments.js.html +121 -0
  28. package/coverage/lcov-report/src/api/v1/Quizzes.js.html +1 -1
  29. package/coverage/lcov-report/src/api/v1/ShortLinks.js.html +1 -1
  30. package/coverage/lcov-report/src/api/v1/Surveys.js.html +1 -1
  31. package/coverage/lcov-report/src/api/v1/Taxes.js.html +1 -1
  32. package/coverage/lcov-report/src/api/v1/Teacher.js.html +22 -10
  33. package/coverage/lcov-report/src/api/v1/UserTypes.js.html +1 -1
  34. package/coverage/lcov-report/src/api/v1/Users.js.html +26 -8
  35. package/coverage/lcov-report/src/api/v1/Zoom.js.html +1 -1
  36. package/coverage/lcov-report/src/api/v1/index.html +51 -36
  37. package/coverage/lcov-report/src/api/v1/index.js.html +10 -4
  38. package/coverage/lcov-report/src/index.html +15 -15
  39. package/coverage/lcov-report/src/index.js.html +1 -1
  40. package/coverage/lcov-report/tests/helpers.js.html +1 -1
  41. package/coverage/lcov-report/tests/index.html +1 -1
  42. package/coverage/lcov.info +129 -1690
  43. package/coverage/test-report.html +1 -1
  44. package/package.json +1 -1
  45. package/src/api/v1/Payments.js +12 -0
  46. package/src/api/v1/Teacher.js +5 -1
  47. package/src/api/v1/Users.js +4 -0
  48. package/src/api/v1/index.js +2 -0
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -97,7 +97,7 @@
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2026-07-20T23:00:44.070Z
100
+ at 2026-07-22T13:50:57.219Z
101
101
  </div>
102
102
  <script src="../../../prettify.js"></script>
103
103
  <script>
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">33.68% </span>
26
+ <span class="strong">35.71% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>32/95</span>
28
+ <span class='fraction'>35/98</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">33.33% </span>
40
+ <span class="strong">30.76% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/12</span>
42
+ <span class='fraction'>4/13</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">33.68% </span>
47
+ <span class="strong">35.71% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>32/95</span>
49
+ <span class='fraction'>35/98</span>
50
50
  </div>
51
51
 
52
52
 
@@ -158,7 +158,10 @@
158
158
  <a name='L93'></a><a href='#L93'>93</a>
159
159
  <a name='L94'></a><a href='#L94'>94</a>
160
160
  <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
162
165
  <span class="cline-any cline-yes">1x</span>
163
166
  <span class="cline-any cline-yes">1x</span>
164
167
  <span class="cline-any cline-yes">1x</span>
@@ -185,6 +188,9 @@
185
188
  <span class="cline-any cline-yes">1x</span>
186
189
  <span class="cline-any cline-yes">1x</span>
187
190
  <span class="cline-any cline-yes">1x</span>
191
+ <span class="cline-any cline-yes">1x</span>
192
+ <span class="cline-any cline-yes">1x</span>
193
+ <span class="cline-any cline-yes">1x</span>
188
194
  <span class="cline-any cline-no">&nbsp;</span>
189
195
  <span class="cline-any cline-no">&nbsp;</span>
190
196
  <span class="cline-any cline-no">&nbsp;</span>
@@ -278,6 +284,9 @@
278
284
  <span class="fstat-no" title="function not covered" > create(data) { return this.#client.put('/courses', data); }</span>
279
285
  <span class="fstat-no" title="function not covered" > edit(id, data) { return this.#client.patch(`/courses/${id}`, data); }</span>
280
286
  <span class="fstat-no" title="function not covered" > delete(id) { return this.#client.del(`/courses/${id}`); }</span>
287
+ &nbsp;
288
+ /** Users enrolled on this course as a teacher (user_courses.teacher = 1). */
289
+ <span class="fstat-no" title="function not covered" > teachers(courseId) { return this.#client.get(`/courses/${courseId}/teachers`); }</span>
281
290
  &nbsp;
282
291
  <span class="fstat-no" title="function not covered" > dates(courseId) {</span>
283
292
  <span class="cstat-no" title="statement not covered" > const base = `/courses/${courseId}/dates`;</span>
@@ -355,7 +364,7 @@
355
364
  <div class='footer quiet pad2 space-top1 center small'>
356
365
  Code coverage generated by
357
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
358
- at 2026-07-20T23:00:44.070Z
367
+ at 2026-07-22T13:50:57.219Z
359
368
  </div>
360
369
  <script src="../../../prettify.js"></script>
361
370
  <script>
@@ -100,7 +100,7 @@
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2026-07-20T23:00:44.070Z
103
+ at 2026-07-22T13:50:57.219Z
104
104
  </div>
105
105
  <script src="../../../prettify.js"></script>
106
106
  <script>
@@ -145,7 +145,7 @@
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at 2026-07-20T23:00:44.070Z
148
+ at 2026-07-22T13:50:57.219Z
149
149
  </div>
150
150
  <script src="../../../prettify.js"></script>
151
151
  <script>
@@ -142,7 +142,7 @@
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 2026-07-20T23:00:44.070Z
145
+ at 2026-07-22T13:50:57.219Z
146
146
  </div>
147
147
  <script src="../../../prettify.js"></script>
148
148
  <script>
@@ -103,7 +103,7 @@
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 2026-07-20T23:00:44.070Z
106
+ at 2026-07-22T13:50:57.219Z
107
107
  </div>
108
108
  <script src="../../../prettify.js"></script>
109
109
  <script>
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -103,7 +103,7 @@
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 2026-07-20T23:00:44.070Z
106
+ at 2026-07-22T13:50:57.219Z
107
107
  </div>
108
108
  <script src="../../../prettify.js"></script>
109
109
  <script>
@@ -103,7 +103,7 @@
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 2026-07-20T23:00:44.070Z
106
+ at 2026-07-22T13:50:57.219Z
107
107
  </div>
108
108
  <script src="../../../prettify.js"></script>
109
109
  <script>
@@ -97,7 +97,7 @@
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2026-07-20T23:00:44.070Z
100
+ at 2026-07-22T13:50:57.219Z
101
101
  </div>
102
102
  <script src="../../../prettify.js"></script>
103
103
  <script>
@@ -0,0 +1,121 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/api/v1/Payments.js</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/api/v1</a> Payments.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">83.33% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>10/12</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">66.66% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/3</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">83.33% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>10/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 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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
79
+ <span class="cline-any cline-yes">1x</span>
80
+ <span class="cline-any cline-yes">1x</span>
81
+ <span class="cline-any cline-yes">1x</span>
82
+ <span class="cline-any cline-yes">30x</span>
83
+ <span class="cline-any cline-yes">30x</span>
84
+ <span class="cline-any cline-yes">1x</span>
85
+ <span class="cline-any cline-yes">1x</span>
86
+ <span class="cline-any cline-yes">1x</span>
87
+ <span class="cline-any cline-no">&nbsp;</span>
88
+ <span class="cline-any cline-no">&nbsp;</span>
89
+ <span class="cline-any cline-yes">1x</span>
90
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export default class Payments {
91
+ #client;
92
+ &nbsp;
93
+ constructor(client) {
94
+ this.#client = client;
95
+ }
96
+ &nbsp;
97
+ /** Employee-only: paginated list of all payments. status: 'pending' | 'approved' | 'rejected'. */
98
+ <span class="fstat-no" title="function not covered" > get({ status = null, page = 1, perPage = 15 } = {}) {</span>
99
+ <span class="cstat-no" title="statement not covered" > return this.#client.get('/payments', { status, page, per_page: perPage });</span>
100
+ <span class="cstat-no" title="statement not covered" > }</span>
101
+ }
102
+ &nbsp;</pre></td></tr></table></pre>
103
+
104
+ <div class='push'></div><!-- for sticky footer -->
105
+ </div><!-- /wrapper -->
106
+ <div class='footer quiet pad2 space-top1 center small'>
107
+ Code coverage generated by
108
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
+ at 2026-07-22T13:50:57.219Z
110
+ </div>
111
+ <script src="../../../prettify.js"></script>
112
+ <script>
113
+ window.onload = function () {
114
+ prettyPrint();
115
+ };
116
+ </script>
117
+ <script src="../../../sorter.js"></script>
118
+ <script src="../../../block-navigation.js"></script>
119
+ </body>
120
+ </html>
121
+
@@ -166,7 +166,7 @@
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at 2026-07-20T23:00:44.070Z
169
+ at 2026-07-22T13:50:57.219Z
170
170
  </div>
171
171
  <script src="../../../prettify.js"></script>
172
172
  <script>
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -166,7 +166,7 @@
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at 2026-07-20T23:00:44.070Z
169
+ at 2026-07-22T13:50:57.219Z
170
170
  </div>
171
171
  <script src="../../../prettify.js"></script>
172
172
  <script>
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.37% </span>
26
+ <span class="strong">80.48% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>29/37</span>
28
+ <span class='fraction'>33/41</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">75% </span>
33
+ <span class="strong">60% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>6/8</span>
35
+ <span class='fraction'>6/10</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.37% </span>
47
+ <span class="strong">80.48% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>29/37</span>
49
+ <span class='fraction'>33/41</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <pre><table class="coverage">
66
66
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
67
  <a name='L2'></a><a href='#L2'>2</a>
@@ -100,7 +100,11 @@
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
102
  <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
104
108
  <span class="cline-any cline-yes">1x</span>
105
109
  <span class="cline-any cline-yes">1x</span>
106
110
  <span class="cline-any cline-yes">1x</span>
@@ -128,6 +132,10 @@
128
132
  <span class="cline-any cline-yes">1x</span>
129
133
  <span class="cline-any cline-yes">1x</span>
130
134
  <span class="cline-any cline-yes">1x</span>
135
+ <span class="cline-any cline-yes">1x</span>
136
+ <span class="cline-any cline-yes">1x</span>
137
+ <span class="cline-any cline-yes">1x</span>
138
+ <span class="cline-any cline-yes">1x</span>
131
139
  <span class="cline-any cline-no">&nbsp;</span>
132
140
  <span class="cline-any cline-no">&nbsp;</span>
133
141
  <span class="cline-any cline-no">&nbsp;</span>
@@ -157,7 +165,11 @@
157
165
  configSets() {
158
166
  const base = '/teacher/config-sets';
159
167
  return {
160
- get: (id = null) =&gt; id<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`${base}/${id}`) </span>: this.#client.get(base),
168
+ /** get() / get(id) / get({ user_id }) the last filters the list to one teacher's sets. */
169
+ get: (idOrParams = null) =&gt; {
170
+ if (idOrParams<span class="branch-0 cbranch-no" title="branch not covered" > &amp;&amp; typeof idOrParams === 'object')</span> <span class="branch-0 cbranch-no" title="branch not covered" >return this.#client.get(base, idOrParams);</span>
171
+ return idOrParams<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`${base}/${idOrParams}`) </span>: this.#client.get(base);
172
+ },
161
173
  create: (<span class="fstat-no" title="function not covered" >data) =&gt; this.#client.put(base, data),</span>
162
174
  edit: <span class="fstat-no" title="function not covered" >(id, data) =&gt; this.#client.patch(`${base}/${id}`, data),</span>
163
175
  delete: (<span class="fstat-no" title="function not covered" >id) =&gt; this.#client.del(`${base}/${id}`),</span>
@@ -181,7 +193,7 @@
181
193
  <div class='footer quiet pad2 space-top1 center small'>
182
194
  Code coverage generated by
183
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
184
- at 2026-07-20T23:00:44.070Z
196
+ at 2026-07-22T13:50:57.219Z
185
197
  </div>
186
198
  <script src="../../../prettify.js"></script>
187
199
  <script>
@@ -106,7 +106,7 @@
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2026-07-20T23:00:44.070Z
109
+ at 2026-07-22T13:50:57.219Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">39.83% </span>
26
+ <span class="strong">41.12% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>47/118</span>
28
+ <span class='fraction'>51/124</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">16% </span>
40
+ <span class="strong">14.81% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>4/25</span>
42
+ <span class='fraction'>4/27</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">39.83% </span>
47
+ <span class="strong">41.12% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>47/118</span>
49
+ <span class='fraction'>51/124</span>
50
50
  </div>
51
51
 
52
52
 
@@ -181,7 +181,13 @@
181
181
  <a name='L116'></a><a href='#L116'>116</a>
182
182
  <a name='L117'></a><a href='#L117'>117</a>
183
183
  <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
185
191
  <span class="cline-any cline-yes">1x</span>
186
192
  <span class="cline-any cline-yes">1x</span>
187
193
  <span class="cline-any cline-yes">1x</span>
@@ -197,6 +203,12 @@
197
203
  <span class="cline-any cline-yes">1x</span>
198
204
  <span class="cline-any cline-yes">1x</span>
199
205
  <span class="cline-any cline-yes">1x</span>
206
+ <span class="cline-any cline-yes">1x</span>
207
+ <span class="cline-any cline-no">&nbsp;</span>
208
+ <span class="cline-any cline-no">&nbsp;</span>
209
+ <span class="cline-any cline-yes">1x</span>
210
+ <span class="cline-any cline-yes">1x</span>
211
+ <span class="cline-any cline-yes">1x</span>
200
212
  <span class="cline-any cline-no">&nbsp;</span>
201
213
  <span class="cline-any cline-no">&nbsp;</span>
202
214
  <span class="cline-any cline-no">&nbsp;</span>
@@ -312,6 +324,12 @@
312
324
  cashReceivers() { return this.#client.get('/users/cash-receivers'); }
313
325
  /** Employee-only: users assignable as a course owner (super-admins, education centers, organizations). */
314
326
  <span class="fstat-no" title="function not covered" > assignable() { return this.#client.get('/users/assignable'); }</span>
327
+ /** Employee-only: users assignable as a course teacher (super-admins, admins, employees, teachers). */
328
+ <span class="fstat-no" title="function not covered" > assignableTeachers() { return this.#client.get('/users/assignable-teachers'); }</span>
329
+ /** Employee-only: paginated list of teacher-type users, for the admin Teachers view. */
330
+ <span class="fstat-no" title="function not covered" > teachers({ page = 1, perPage = 15 } = {}) {</span>
331
+ <span class="cstat-no" title="statement not covered" > return this.#client.get('/users/teachers', { page, per_page: perPage });</span>
332
+ <span class="cstat-no" title="statement not covered" > }</span>
315
333
  <span class="fstat-no" title="function not covered" > edit(id, data) { return this.#client.patch(`/users/${id}`, data); }</span>
316
334
  &nbsp;
317
335
  <span class="fstat-no" title="function not covered" > #nested(userId, path) {</span>
@@ -424,7 +442,7 @@
424
442
  <div class='footer quiet pad2 space-top1 center small'>
425
443
  Code coverage generated by
426
444
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
427
- at 2026-07-20T23:00:44.070Z
445
+ at 2026-07-22T13:50:57.219Z
428
446
  </div>
429
447
  <script src="../../../prettify.js"></script>
430
448
  <script>
@@ -109,7 +109,7 @@
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2026-07-20T23:00:44.070Z
112
+ at 2026-07-22T13:50:57.219Z
113
113
  </div>
114
114
  <script src="../../../prettify.js"></script>
115
115
  <script>