@insignia-education/api-sdk-js 0.15.60 → 0.15.62
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.
- package/.github/workflows/npm-publish-github-packages.yml +95 -12
- package/coverage/clover.xml +578 -566
- package/coverage/coverage-final.json +45 -47
- package/coverage/lcov-report/Client.js.html +463 -0
- package/coverage/lcov-report/index.html +33 -33
- package/coverage/lcov-report/src/Client.js.html +141 -132
- package/coverage/lcov-report/src/api/index.html +1 -1
- package/coverage/lcov-report/src/api/index.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Accounts.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Admin.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Auth.js.html +7 -7
- package/coverage/lcov-report/src/api/v1/Categories.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Changelogs.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Configs.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/ContactForms.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/ConversationalTopics.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Countries.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Coupons.js.html +16 -16
- package/coverage/lcov-report/src/api/v1/Courses.js.html +27 -27
- package/coverage/lcov-report/src/api/v1/Currencies.js.html +10 -10
- package/coverage/lcov-report/src/api/v1/Dashboard.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/EducationCenter.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Employee.js.html +5 -5
- package/coverage/lcov-report/src/api/v1/Files.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Forums.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Hashes.js.html +16 -13
- package/coverage/lcov-report/src/api/v1/Insignias.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Languages.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/MailBlacklist.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/MailingLists.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Offers.js.html +16 -16
- package/coverage/lcov-report/src/api/v1/Organizations.js.html +52 -52
- package/coverage/lcov-report/src/api/v1/PaymentMethods.js.html +7 -7
- package/coverage/lcov-report/src/api/v1/Payments.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Premiums.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Quizzes.js.html +42 -42
- package/coverage/lcov-report/src/api/v1/Sales.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Search.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/ShortLinks.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Surveys.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Taxes.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Teacher.js.html +100 -70
- package/coverage/lcov-report/src/api/v1/Telegram.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/TwoFactor.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/UserSessionTypes.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/UserTypes.js.html +8 -8
- package/coverage/lcov-report/src/api/v1/Users.js.html +112 -16
- package/coverage/lcov-report/src/api/v1/Utm.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Webauthn.js.html +3 -3
- package/coverage/lcov-report/src/api/v1/Zoom.js.html +19 -19
- package/coverage/lcov-report/src/api/v1/index.html +154 -184
- package/coverage/lcov-report/src/api/v1/index.js.html +52 -64
- package/coverage/lcov-report/src/index.html +21 -21
- package/coverage/lcov-report/src/index.js.html +3 -3
- package/coverage/lcov-report/tests/helpers.js.html +11 -11
- package/coverage/lcov-report/tests/index.html +7 -7
- package/coverage/lcov.info +990 -879
- package/coverage/test-report.html +586 -10
- package/jest.config.mjs +12 -1
- package/package.json +2 -2
- package/src/Client.js +4 -1
- package/src/api/v1/Coupons.js +11 -0
- package/src/api/v1/Hashes.js +3 -2
- package/src/api/v1/index.js +0 -4
- package/tests/integration/api/v1/accounts.test.js +5 -11
- package/tests/integration/api/v1/auth/login.test.js +18 -34
- package/tests/integration/api/v1/conversational-topics.test.js +3 -5
- package/tests/integration/api/v1/countries.test.js +1 -1
- package/tests/integration/api/v1/coupons.test.js +2 -9
- package/tests/integration/api/v1/currencies/index.test.js +1 -1
- package/tests/integration/api/v1/files.test.js +18 -15
- package/tests/integration/api/v1/hashes.test.js +2 -10
- package/tests/integration/api/v1/mail-blacklist.test.js +2 -9
- package/tests/integration/api/v1/offers.test.js +2 -9
- package/tests/integration/api/v1/organizations.test.js +8 -8
- package/tests/integration/api/v1/quizzes/index.test.js +0 -2
- package/tests/integration/api/v1/short-links.test.js +2 -9
- package/tests/integration/api/v1/taxes.test.js +2 -3
- package/tests/integration/api/v1/teacher/index.test.js +1 -1
- package/tests/integration/api/v1/user-types.test.js +2 -4
- package/tests/integration/api/v1/users/index.test.js +10 -13
- package/tests/integration/api/v1/zoom.test.js +2 -9
- package/src/api/v1/Categories.js +0 -12
- package/src/api/v1/Configs.js +0 -12
- package/tests/integration/api/v1/categories.test.js +0 -19
- package/tests/integration/api/v1/configs.test.js +0 -20
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">33.33% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/9</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -97,8 +97,8 @@
|
|
|
97
97
|
<span class="cline-any cline-yes">1x</span>
|
|
98
98
|
<span class="cline-any cline-yes">1x</span>
|
|
99
99
|
<span class="cline-any cline-yes">1x</span>
|
|
100
|
-
<span class="cline-any cline-yes">
|
|
101
|
-
<span class="cline-any cline-yes">
|
|
100
|
+
<span class="cline-any cline-yes">30x</span>
|
|
101
|
+
<span class="cline-any cline-yes">30x</span>
|
|
102
102
|
<span class="cline-any cline-yes">1x</span>
|
|
103
103
|
<span class="cline-any cline-yes">1x</span>
|
|
104
104
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
this.#client = client;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
<span class="
|
|
133
|
+
get(id = null) { return id<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`/forums/${id}`) </span>: this.#client.get('/forums'); }
|
|
134
134
|
<span class="fstat-no" title="function not covered" > forLesson({ course_id, course_level_id, course_level_lesson_id }) {</span>
|
|
135
135
|
<span class="cstat-no" title="statement not covered" > return this.#client.get('/forums/for-lesson', { course_id, course_level_id, course_level_lesson_id });</span>
|
|
136
136
|
<span class="cstat-no" title="statement not covered" > }</span>
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
161
161
|
Code coverage generated by
|
|
162
162
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
163
|
-
at 2026-08-
|
|
163
|
+
at 2026-08-09T19:41:47.271Z
|
|
164
164
|
</div>
|
|
165
165
|
<script src="../../../prettify.js"></script>
|
|
166
166
|
<script>
|
|
@@ -25,28 +25,28 @@
|
|
|
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'>
|
|
28
|
+
<span class='fraction'>12/12</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/3</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'>
|
|
49
|
+
<span class='fraction'>12/12</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -74,27 +74,30 @@
|
|
|
74
74
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
75
|
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
76
|
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a
|
|
78
|
-
<span class="cline-any cline-yes">1x</span>
|
|
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
79
|
<span class="cline-any cline-yes">1x</span>
|
|
80
80
|
<span class="cline-any cline-yes">1x</span>
|
|
81
81
|
<span class="cline-any cline-yes">1x</span>
|
|
82
82
|
<span class="cline-any cline-yes">1x</span>
|
|
83
83
|
<span class="cline-any cline-yes">1x</span>
|
|
84
84
|
<span class="cline-any cline-yes">1x</span>
|
|
85
|
+
<span class="cline-any cline-yes">30x</span>
|
|
86
|
+
<span class="cline-any cline-yes">30x</span>
|
|
85
87
|
<span class="cline-any cline-yes">1x</span>
|
|
86
88
|
<span class="cline-any cline-yes">1x</span>
|
|
87
89
|
<span class="cline-any cline-yes">1x</span>
|
|
88
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"
|
|
90
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">// Read-only — hashes (password-reset/verify/phantom-login tokens etc.) are
|
|
91
|
+
// created and deleted exclusively by their owning flows (forgot-password,
|
|
92
|
+
// email-verify, admin phantom-login), never through a generic public API.
|
|
93
|
+
export default class Hashes {
|
|
89
94
|
#client;
|
|
90
95
|
|
|
91
96
|
constructor(client) {
|
|
92
97
|
this.#client = client;
|
|
93
98
|
}
|
|
94
99
|
|
|
95
|
-
<span class="
|
|
96
|
-
<span class="fstat-no" title="function not covered" > generate(data) { return this.#client.put('/hashes/generate', data); }</span>
|
|
97
|
-
<span class="fstat-no" title="function not covered" > delete(id) { return this.#client.del(`/hashes/${id}`); }</span>
|
|
100
|
+
get(id = null) { return id<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`/hashes/${id}`) </span>: this.#client.get('/hashes'); }
|
|
98
101
|
}
|
|
99
102
|
</pre></td></tr></table></pre>
|
|
100
103
|
|
|
@@ -103,7 +106,7 @@
|
|
|
103
106
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
104
107
|
Code coverage generated by
|
|
105
108
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
106
|
-
at 2026-08-
|
|
109
|
+
at 2026-08-09T19:41:47.271Z
|
|
107
110
|
</div>
|
|
108
111
|
<script src="../../../prettify.js"></script>
|
|
109
112
|
<script>
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">50% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<span class="cline-any cline-yes">1x</span>
|
|
80
80
|
<span class="cline-any cline-yes">1x</span>
|
|
81
81
|
<span class="cline-any cline-yes">1x</span>
|
|
82
|
-
<span class="cline-any cline-yes">
|
|
83
|
-
<span class="cline-any cline-yes">
|
|
82
|
+
<span class="cline-any cline-yes">30x</span>
|
|
83
|
+
<span class="cline-any cline-yes">30x</span>
|
|
84
84
|
<span class="cline-any cline-yes">1x</span>
|
|
85
85
|
<span class="cline-any cline-yes">1x</span>
|
|
86
86
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
this.#client = client;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
<span class="
|
|
97
|
+
get(id = null) { return id<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`/insignias/${id}`) </span>: this.#client.get('/insignias'); }
|
|
98
98
|
<span class="fstat-no" title="function not covered" > create(data) { return this.#client.put('/insignias', data); }</span>
|
|
99
99
|
<span class="fstat-no" title="function not covered" > edit(id, data) { return this.#client.patch(`/insignias/${id}`, data); }</span>
|
|
100
100
|
<span class="fstat-no" title="function not covered" > delete(id) { return this.#client.del(`/insignias/${id}`); }</span>
|
|
@@ -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-08-
|
|
109
|
+
at 2026-08-09T19:41:47.271Z
|
|
110
110
|
</div>
|
|
111
111
|
<script src="../../../prettify.js"></script>
|
|
112
112
|
<script>
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">50% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<span class="cline-any cline-yes">1x</span>
|
|
80
80
|
<span class="cline-any cline-yes">1x</span>
|
|
81
81
|
<span class="cline-any cline-yes">1x</span>
|
|
82
|
-
<span class="cline-any cline-yes">
|
|
83
|
-
<span class="cline-any cline-yes">
|
|
82
|
+
<span class="cline-any cline-yes">30x</span>
|
|
83
|
+
<span class="cline-any cline-yes">30x</span>
|
|
84
84
|
<span class="cline-any cline-yes">1x</span>
|
|
85
85
|
<span class="cline-any cline-yes">1x</span>
|
|
86
86
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
this.#client = client;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
<span class="
|
|
97
|
+
get(id = null) { return id<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`/languages/${id}`) </span>: this.#client.get('/languages'); }
|
|
98
98
|
<span class="fstat-no" title="function not covered" > create(data) { return this.#client.put('/languages', data); }</span>
|
|
99
99
|
<span class="fstat-no" title="function not covered" > edit(id, data) { return this.#client.patch(`/languages/${id}`, data); }</span>
|
|
100
100
|
<span class="fstat-no" title="function not covered" > delete(id) { return this.#client.del(`/languages/${id}`); }</span>
|
|
@@ -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-08-
|
|
109
|
+
at 2026-08-09T19:41:47.271Z
|
|
110
110
|
</div>
|
|
111
111
|
<script src="../../../prettify.js"></script>
|
|
112
112
|
<script>
|
|
@@ -30,16 +30,16 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">60% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
<span class="cline-any cline-yes">1x</span>
|
|
79
79
|
<span class="cline-any cline-yes">1x</span>
|
|
80
80
|
<span class="cline-any cline-yes">1x</span>
|
|
81
|
-
<span class="cline-any cline-yes">
|
|
82
|
-
<span class="cline-any cline-yes">
|
|
81
|
+
<span class="cline-any cline-yes">30x</span>
|
|
82
|
+
<span class="cline-any cline-yes">30x</span>
|
|
83
83
|
<span class="cline-any cline-yes">1x</span>
|
|
84
84
|
<span class="cline-any cline-yes">1x</span>
|
|
85
85
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
this.#client = client;
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
<span class="
|
|
95
|
+
get(id = null) { return id<span class="branch-0 cbranch-no" title="branch not covered" > ? this.#client.get(`/mail-blacklist/${id}`) </span>: this.#client.get('/mail-blacklist'); }
|
|
96
96
|
<span class="fstat-no" title="function not covered" > create(data) { return this.#client.put('/mail-blacklist', data); }</span>
|
|
97
97
|
<span class="fstat-no" title="function not covered" > delete(id) { return this.#client.del(`/mail-blacklist/${id}`); }</span>
|
|
98
98
|
}
|
|
@@ -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-08-
|
|
106
|
+
at 2026-08-09T19:41:47.271Z
|
|
107
107
|
</div>
|
|
108
108
|
<script src="../../../prettify.js"></script>
|
|
109
109
|
<script>
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
<span class="cline-any cline-yes">1x</span>
|
|
82
82
|
<span class="cline-any cline-yes">1x</span>
|
|
83
83
|
<span class="cline-any cline-yes">1x</span>
|
|
84
|
-
<span class="cline-any cline-yes">
|
|
85
|
-
<span class="cline-any cline-yes">
|
|
84
|
+
<span class="cline-any cline-yes">30x</span>
|
|
85
|
+
<span class="cline-any cline-yes">30x</span>
|
|
86
86
|
<span class="cline-any cline-yes">1x</span>
|
|
87
87
|
<span class="cline-any cline-yes">1x</span>
|
|
88
88
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
113
113
|
Code coverage generated by
|
|
114
114
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
115
|
-
at 2026-08-
|
|
115
|
+
at 2026-08-09T19:41:47.271Z
|
|
116
116
|
</div>
|
|
117
117
|
<script src="../../../prettify.js"></script>
|
|
118
118
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>19/19</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">75% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/4</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">42.85% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/7</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>19/19</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -86,14 +86,14 @@
|
|
|
86
86
|
<span class="cline-any cline-yes">1x</span>
|
|
87
87
|
<span class="cline-any cline-yes">1x</span>
|
|
88
88
|
<span class="cline-any cline-yes">1x</span>
|
|
89
|
+
<span class="cline-any cline-yes">30x</span>
|
|
90
|
+
<span class="cline-any cline-yes">30x</span>
|
|
91
|
+
<span class="cline-any cline-yes">1x</span>
|
|
89
92
|
<span class="cline-any cline-yes">1x</span>
|
|
90
93
|
<span class="cline-any cline-yes">1x</span>
|
|
91
94
|
<span class="cline-any cline-yes">1x</span>
|
|
92
95
|
<span class="cline-any cline-yes">1x</span>
|
|
93
96
|
<span class="cline-any cline-yes">1x</span>
|
|
94
|
-
<span class="cline-any cline-no"> </span>
|
|
95
|
-
<span class="cline-any cline-no"> </span>
|
|
96
|
-
<span class="cline-any cline-no"> </span>
|
|
97
97
|
<span class="cline-any cline-yes">1x</span>
|
|
98
98
|
<span class="cline-any cline-yes">1x</span>
|
|
99
99
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -109,10 +109,10 @@
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
/** Sales-only paginated + title-searchable list when called without an id. */
|
|
112
|
-
|
|
113
|
-
<span class="
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
get(id = null, { search = null, page = 1, perPage = 15 } = {}) {
|
|
113
|
+
if (id) <span class="branch-0 cbranch-no" title="branch not covered" >return this.#client.get(`/offers/${id}`);</span>
|
|
114
|
+
return this.#client.get('/offers', { search, page, per_page: perPage });
|
|
115
|
+
}
|
|
116
116
|
<span class="fstat-no" title="function not covered" > create(data) { return this.#client.put('/offers', data); }</span>
|
|
117
117
|
<span class="fstat-no" title="function not covered" > edit(id, data) { return this.#client.patch(`/offers/${id}`, data); }</span>
|
|
118
118
|
<span class="fstat-no" title="function not covered" > delete(id) { return this.#client.del(`/offers/${id}`); }</span>
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
128
128
|
Code coverage generated by
|
|
129
129
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
130
|
-
at 2026-08-
|
|
130
|
+
at 2026-08-09T19:41:47.271Z
|
|
131
131
|
</div>
|
|
132
132
|
<script src="../../../prettify.js"></script>
|
|
133
133
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>38/38</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>11/11</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">69.23% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>9/13</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>38/38</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
|
|
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>
|
|
@@ -105,15 +105,15 @@
|
|
|
105
105
|
<span class="cline-any cline-yes">1x</span>
|
|
106
106
|
<span class="cline-any cline-yes">1x</span>
|
|
107
107
|
<span class="cline-any cline-yes">1x</span>
|
|
108
|
+
<span class="cline-any cline-yes">30x</span>
|
|
109
|
+
<span class="cline-any cline-yes">30x</span>
|
|
108
110
|
<span class="cline-any cline-yes">1x</span>
|
|
109
111
|
<span class="cline-any cline-yes">1x</span>
|
|
110
112
|
<span class="cline-any cline-yes">1x</span>
|
|
113
|
+
<span class="cline-any cline-yes">2x</span>
|
|
111
114
|
<span class="cline-any cline-yes">1x</span>
|
|
112
|
-
<span class="cline-any cline-yes">
|
|
113
|
-
<span class="cline-any cline-
|
|
114
|
-
<span class="cline-any cline-no"> </span>
|
|
115
|
-
<span class="cline-any cline-no"> </span>
|
|
116
|
-
<span class="cline-any cline-no"> </span>
|
|
115
|
+
<span class="cline-any cline-yes">2x</span>
|
|
116
|
+
<span class="cline-any cline-yes">2x</span>
|
|
117
117
|
<span class="cline-any cline-yes">1x</span>
|
|
118
118
|
<span class="cline-any cline-yes">1x</span>
|
|
119
119
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -123,21 +123,21 @@
|
|
|
123
123
|
<span class="cline-any cline-yes">1x</span>
|
|
124
124
|
<span class="cline-any cline-yes">1x</span>
|
|
125
125
|
<span class="cline-any cline-yes">1x</span>
|
|
126
|
-
<span class="cline-any cline-
|
|
127
|
-
<span class="cline-any cline-
|
|
128
|
-
<span class="cline-any cline-
|
|
129
|
-
<span class="cline-any cline-
|
|
130
|
-
<span class="cline-any cline-
|
|
131
|
-
<span class="cline-any cline-
|
|
132
|
-
<span class="cline-any cline-
|
|
133
|
-
<span class="cline-any cline-
|
|
134
|
-
<span class="cline-any cline-
|
|
135
|
-
<span class="cline-any cline-
|
|
136
|
-
<span class="cline-any cline-
|
|
137
|
-
<span class="cline-any cline-
|
|
138
|
-
<span class="cline-any cline-
|
|
139
|
-
<span class="cline-any cline-
|
|
140
|
-
<span class="cline-any cline-
|
|
126
|
+
<span class="cline-any cline-yes">3x</span>
|
|
127
|
+
<span class="cline-any cline-yes">3x</span>
|
|
128
|
+
<span class="cline-any cline-yes">3x</span>
|
|
129
|
+
<span class="cline-any cline-yes">3x</span>
|
|
130
|
+
<span class="cline-any cline-yes">3x</span>
|
|
131
|
+
<span class="cline-any cline-yes">3x</span>
|
|
132
|
+
<span class="cline-any cline-yes">3x</span>
|
|
133
|
+
<span class="cline-any cline-yes">3x</span>
|
|
134
|
+
<span class="cline-any cline-yes">3x</span>
|
|
135
|
+
<span class="cline-any cline-yes">3x</span>
|
|
136
|
+
<span class="cline-any cline-yes">3x</span>
|
|
137
|
+
<span class="cline-any cline-yes">3x</span>
|
|
138
|
+
<span class="cline-any cline-yes">3x</span>
|
|
139
|
+
<span class="cline-any cline-yes">3x</span>
|
|
140
|
+
<span class="cline-any cline-yes">3x</span>
|
|
141
141
|
<span class="cline-any cline-yes">1x</span>
|
|
142
142
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export default class Organizations {
|
|
143
143
|
#client;
|
|
@@ -147,35 +147,35 @@
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
/** No id: "my organizations" (all organizations if employee+, else only owned), paginated. */
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
150
|
+
get(id = null, { page = 1, perPage = 15 } = {}) {
|
|
151
|
+
return id
|
|
152
|
+
? this.#client.get(`/organizations/${id}`)
|
|
153
|
+
: this.#client.get('/organizations', { page, per_page: perPage });
|
|
154
|
+
}
|
|
155
155
|
/** Organization-and-above (owner creates their own org; employee-and-above may pass user_id to set another owner). */
|
|
156
|
-
|
|
156
|
+
create(data) { return this.#client.put('/organizations', data); }
|
|
157
157
|
/** user_id (owner reassignment) is applied only when the caller is employee-and-above. */
|
|
158
|
-
|
|
158
|
+
edit(id, data) { return this.#client.patch(`/organizations/${id}`, data); }
|
|
159
159
|
|
|
160
160
|
/** Confirms a pending member invite from the emailed link — logs the user in on success. */
|
|
161
161
|
<span class="fstat-no" title="function not covered" > confirmInvite(id, { username, hash }) { return this.#client.post(`/organizations/${id}/members/invite/confirm`, { username, hash }); }</span>
|
|
162
162
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
<span class="
|
|
171
|
-
|
|
172
|
-
<span class="
|
|
173
|
-
|
|
174
|
-
<span class="
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
163
|
+
members(id) {
|
|
164
|
+
const base = `/organizations/${id}/members`;
|
|
165
|
+
const client = this.#client;
|
|
166
|
+
return {
|
|
167
|
+
get: () => client.get(base),
|
|
168
|
+
courses: (userId) => client.get(`${base}/${userId}/courses`),
|
|
169
|
+
/** Users matching `q` not already invited/members — for the invite search box. */
|
|
170
|
+
search: (<span class="fstat-no" title="function not covered" >q) => client.get(`${base}/search`, { q }),</span>
|
|
171
|
+
/** Creates a pending invite and emails the user a confirm link. */
|
|
172
|
+
invite: (<span class="fstat-no" title="function not covered" >userId) => client.post(`${base}/invite`, { user_id: userId }),</span>
|
|
173
|
+
/** Re-sends the invite email to a still-pending member with a fresh link. */
|
|
174
|
+
resendInvite: (<span class="fstat-no" title="function not covered" >userId) => client.post(`${base}/${userId}/resend-invite`),</span>
|
|
175
|
+
/** Creates a real UserPayment for this member — same payload shape as users(id).payments().create(). */
|
|
176
|
+
createPayment: (userId, data) => client.put(`${base}/${userId}/payments`, data),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
179
|
}
|
|
180
180
|
</pre></td></tr></table></pre>
|
|
181
181
|
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
185
185
|
Code coverage generated by
|
|
186
186
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
187
|
-
at 2026-08-
|
|
187
|
+
at 2026-08-09T19:41:47.271Z
|
|
188
188
|
</div>
|
|
189
189
|
<script src="../../../prettify.js"></script>
|
|
190
190
|
<script>
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>3/3</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">75% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>3/4</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
@@ -79,8 +79,8 @@
|
|
|
79
79
|
<span class="cline-any cline-yes">1x</span>
|
|
80
80
|
<span class="cline-any cline-yes">1x</span>
|
|
81
81
|
<span class="cline-any cline-yes">1x</span>
|
|
82
|
-
<span class="cline-any cline-yes">
|
|
83
|
-
<span class="cline-any cline-yes">
|
|
82
|
+
<span class="cline-any cline-yes">30x</span>
|
|
83
|
+
<span class="cline-any cline-yes">30x</span>
|
|
84
84
|
<span class="cline-any cline-yes">1x</span>
|
|
85
85
|
<span class="cline-any cline-yes">1x</span>
|
|
86
86
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
this.#client = client;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
|
|
97
|
+
byCurrency(currency_id) { return this.#client.get(`/payment-methods/by-currency/${currency_id}`); }
|
|
98
98
|
|
|
99
99
|
/** All payment methods, unscoped by currency — used by the admin Offer form's payment-method select. */
|
|
100
100
|
<span class="fstat-no" title="function not covered" > getAll() { return this.#client.get('/payment-methods'); }</span>
|
|
@@ -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-08-
|
|
109
|
+
at 2026-08-09T19:41:47.271Z
|
|
110
110
|
</div>
|
|
111
111
|
<script src="../../../prettify.js"></script>
|
|
112
112
|
<script>
|