@pelygo/janus 0.1.1
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/README.md +264 -0
- package/dist/index.d.ts +1037 -0
- package/dist/index.js +257 -0
- package/package.json +57 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { createAuthApi as d } from "@pelygo/auth/core";
|
|
2
|
+
function l(t) {
|
|
3
|
+
return {
|
|
4
|
+
async getAll() {
|
|
5
|
+
return t.get("/clients");
|
|
6
|
+
},
|
|
7
|
+
async getById(r) {
|
|
8
|
+
return t.get(`/clients/${r}`);
|
|
9
|
+
},
|
|
10
|
+
async update(r, e) {
|
|
11
|
+
return t.patch(`/clients/${r}`, e);
|
|
12
|
+
},
|
|
13
|
+
async getCourierServices(r) {
|
|
14
|
+
return t.get(`/clients/${r}/courierservices`);
|
|
15
|
+
},
|
|
16
|
+
async getCourierServiceById(r, e) {
|
|
17
|
+
return t.get(`/clients/${r}/courierservices/${e}`);
|
|
18
|
+
},
|
|
19
|
+
async updateCourierService(r, e) {
|
|
20
|
+
if (!e.id)
|
|
21
|
+
throw new Error("Service ID is required for update");
|
|
22
|
+
return t.patch(`/clients/${r}/courierservices/${e.id}`, e);
|
|
23
|
+
},
|
|
24
|
+
async getOrderByRef(r, e) {
|
|
25
|
+
return t.get(`/clients/${r}/orderbyref/${encodeURIComponent(e)}`);
|
|
26
|
+
},
|
|
27
|
+
async addReturnReason(r, e) {
|
|
28
|
+
const n = {
|
|
29
|
+
client: { id: r },
|
|
30
|
+
return_reason: { id: e }
|
|
31
|
+
};
|
|
32
|
+
return t.post(`/clients/${r}/returnreasons`, n);
|
|
33
|
+
},
|
|
34
|
+
async removeReturnReason(r, e) {
|
|
35
|
+
return t.delete(`/clients/${r}/returnreasons/${e}`);
|
|
36
|
+
},
|
|
37
|
+
async uploadFile(r, e, n) {
|
|
38
|
+
return t.post(`/clients/${r}/files/${e}`, n);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function y(t) {
|
|
43
|
+
if (!t)
|
|
44
|
+
return "";
|
|
45
|
+
const r = new URLSearchParams();
|
|
46
|
+
for (const [e, n] of Object.entries(t))
|
|
47
|
+
n != null && n !== "" && r.append(e, String(n));
|
|
48
|
+
return r.toString();
|
|
49
|
+
}
|
|
50
|
+
function u(t, r) {
|
|
51
|
+
if (!r || Object.keys(r).length === 0)
|
|
52
|
+
return t;
|
|
53
|
+
const e = y(r);
|
|
54
|
+
if (!e)
|
|
55
|
+
return t;
|
|
56
|
+
const n = t.includes("?") ? "&" : "?";
|
|
57
|
+
return `${t}${n}${e}`;
|
|
58
|
+
}
|
|
59
|
+
function g(t) {
|
|
60
|
+
return {
|
|
61
|
+
async query(r) {
|
|
62
|
+
const e = u("/returns/", r);
|
|
63
|
+
return t.get(e);
|
|
64
|
+
},
|
|
65
|
+
async getById(r, e) {
|
|
66
|
+
const n = u(`/returns/${r}`, e);
|
|
67
|
+
return t.get(n);
|
|
68
|
+
},
|
|
69
|
+
async create(r) {
|
|
70
|
+
return t.post("/helpers/returns", r);
|
|
71
|
+
},
|
|
72
|
+
async update(r, e) {
|
|
73
|
+
return t.patch(`/returns/${r}`, e);
|
|
74
|
+
},
|
|
75
|
+
async delete(r) {
|
|
76
|
+
return t.delete(`/returns/${r}`);
|
|
77
|
+
},
|
|
78
|
+
async getStatuses(r) {
|
|
79
|
+
return t.get(`/returns/${r}/statuses`);
|
|
80
|
+
},
|
|
81
|
+
async addStatus(r, e) {
|
|
82
|
+
const n = {
|
|
83
|
+
return: { id: r },
|
|
84
|
+
return_status: { id: e },
|
|
85
|
+
created_by: { id: 1 }
|
|
86
|
+
};
|
|
87
|
+
return t.post(`/returns/${r}/statuses`, n);
|
|
88
|
+
},
|
|
89
|
+
async removeStatus(r, e) {
|
|
90
|
+
return t.delete(`/returns/${r}/statuses/${e}`);
|
|
91
|
+
},
|
|
92
|
+
async getItems(r) {
|
|
93
|
+
return t.get(`/returns/${r}/returnitems`);
|
|
94
|
+
},
|
|
95
|
+
async addItem(r, e) {
|
|
96
|
+
return t.post(`/returns/${r}/returnitems`, e);
|
|
97
|
+
},
|
|
98
|
+
async updateItem(r, e, n) {
|
|
99
|
+
return t.patch(`/returns/${r}/returnitems/${e}`, n);
|
|
100
|
+
},
|
|
101
|
+
async getComments(r) {
|
|
102
|
+
return t.get(`/returns/${r}/comments`);
|
|
103
|
+
},
|
|
104
|
+
async addComment(r, e) {
|
|
105
|
+
const n = { comment: e };
|
|
106
|
+
return t.post(`/returns/${r}/comments`, n);
|
|
107
|
+
},
|
|
108
|
+
async removeComment(r, e) {
|
|
109
|
+
return t.delete(`/returns/${r}/comments/${e}`);
|
|
110
|
+
},
|
|
111
|
+
async setApproval(r, e) {
|
|
112
|
+
const n = { approve: e };
|
|
113
|
+
return t.post(`/returns/${r}/approval`, n);
|
|
114
|
+
},
|
|
115
|
+
async getReasons() {
|
|
116
|
+
return t.get("/returns/reasons");
|
|
117
|
+
},
|
|
118
|
+
async getAllStatuses() {
|
|
119
|
+
return t.get("/returns/statuses");
|
|
120
|
+
},
|
|
121
|
+
async getFilterOptions(r) {
|
|
122
|
+
return t.get(`/orders/returns/filter-types?clientId=${r}`);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function m(t) {
|
|
127
|
+
return {
|
|
128
|
+
async returnsSummary(r) {
|
|
129
|
+
const e = u("/reports/returns/summary/", r);
|
|
130
|
+
return t.get(e);
|
|
131
|
+
},
|
|
132
|
+
async returnsSummaryCsv(r) {
|
|
133
|
+
const e = { ...r, csv: !0, pageSize: 1e5 }, n = u("/reports/returns/summary/", e);
|
|
134
|
+
return t.get(n);
|
|
135
|
+
},
|
|
136
|
+
async returnsReasons(r) {
|
|
137
|
+
const e = u("/reports/returns/reasons/", r);
|
|
138
|
+
return t.get(e);
|
|
139
|
+
},
|
|
140
|
+
async returnsReasonsCsv(r) {
|
|
141
|
+
const e = { ...r, csv: !0, pageSize: 1e5 }, n = u("/reports/returns/reasons/", e);
|
|
142
|
+
return t.get(n);
|
|
143
|
+
},
|
|
144
|
+
async returnsOverview(r) {
|
|
145
|
+
const e = u("/reports/returns/overview/", r);
|
|
146
|
+
return t.get(e);
|
|
147
|
+
},
|
|
148
|
+
async returnsOverviewCsv(r) {
|
|
149
|
+
const e = { ...r, csv: !0, pageSize: 1e5 }, n = u("/reports/returns/overview/", e);
|
|
150
|
+
return t.get(n);
|
|
151
|
+
},
|
|
152
|
+
async returnsStats(r) {
|
|
153
|
+
return t.get(`/reports/returns/stats?clientId=${r}`);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
function $(t) {
|
|
158
|
+
const { baseUrl: r } = t;
|
|
159
|
+
async function e(n, s) {
|
|
160
|
+
const o = await fetch(n, {
|
|
161
|
+
headers: {
|
|
162
|
+
"Content-Type": "application/json"
|
|
163
|
+
},
|
|
164
|
+
...s
|
|
165
|
+
});
|
|
166
|
+
if (!o.ok) {
|
|
167
|
+
const a = await o.text().catch(() => "Unknown error");
|
|
168
|
+
throw new Error(`HTTP ${o.status}: ${a}`);
|
|
169
|
+
}
|
|
170
|
+
return o.json();
|
|
171
|
+
}
|
|
172
|
+
return {
|
|
173
|
+
async getClientSettingsByName(n) {
|
|
174
|
+
return e(
|
|
175
|
+
`${r}/helpers/clientsettings/${encodeURIComponent(n)}`
|
|
176
|
+
);
|
|
177
|
+
},
|
|
178
|
+
async getNotificationSettings(n) {
|
|
179
|
+
return e(
|
|
180
|
+
`${r}/helpers/settings/${encodeURIComponent(n)}`
|
|
181
|
+
);
|
|
182
|
+
},
|
|
183
|
+
async customerLogin(n, s, o) {
|
|
184
|
+
return e(`${r}/helpers/customerlogin`, {
|
|
185
|
+
method: "POST",
|
|
186
|
+
body: JSON.stringify({
|
|
187
|
+
client_id: n,
|
|
188
|
+
order_ref: s,
|
|
189
|
+
postcode: o
|
|
190
|
+
})
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
const h = "https://api.janus.pelygo.com";
|
|
196
|
+
function f(t = {}) {
|
|
197
|
+
const r = t.baseUrl || h, e = {
|
|
198
|
+
baseUrl: r,
|
|
199
|
+
authUrl: t.authUrl,
|
|
200
|
+
onUnauthorized: t.onUnauthorized,
|
|
201
|
+
onLoginSuccess: t.onLoginSuccess,
|
|
202
|
+
onLoginError: t.onLoginError
|
|
203
|
+
}, n = d(e), s = l(n), o = g(n), a = m(n), i = $({ baseUrl: r });
|
|
204
|
+
return {
|
|
205
|
+
clients: s,
|
|
206
|
+
returns: o,
|
|
207
|
+
reports: a,
|
|
208
|
+
helpers: i,
|
|
209
|
+
auth: n
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
class c extends Error {
|
|
213
|
+
constructor(r, e, n) {
|
|
214
|
+
super(r), this.name = "JanusApiError", this.status = e, this.response = n;
|
|
215
|
+
const s = Error;
|
|
216
|
+
s.captureStackTrace && s.captureStackTrace(this, c);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
class p extends c {
|
|
220
|
+
constructor(r = "Unauthorized", e) {
|
|
221
|
+
super(r, 401, e), this.name = "UnauthorizedError";
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
class S extends c {
|
|
225
|
+
constructor(r = "Forbidden", e) {
|
|
226
|
+
super(r, 403, e), this.name = "ForbiddenError";
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
class E extends c {
|
|
230
|
+
constructor(r = "Not Found", e) {
|
|
231
|
+
super(r, 404, e), this.name = "NotFoundError";
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
class R extends c {
|
|
235
|
+
constructor(r = "Validation Error", e, n) {
|
|
236
|
+
super(r, 400, n), this.name = "ValidationError", this.errors = e;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function U(t) {
|
|
240
|
+
return t instanceof c;
|
|
241
|
+
}
|
|
242
|
+
function C(t) {
|
|
243
|
+
return t instanceof p;
|
|
244
|
+
}
|
|
245
|
+
export {
|
|
246
|
+
h as DEFAULT_JANUS_URL,
|
|
247
|
+
S as ForbiddenError,
|
|
248
|
+
c as JanusApiError,
|
|
249
|
+
E as NotFoundError,
|
|
250
|
+
p as UnauthorizedError,
|
|
251
|
+
R as ValidationError,
|
|
252
|
+
y as buildQueryString,
|
|
253
|
+
u as buildUrl,
|
|
254
|
+
f as createJanusApi,
|
|
255
|
+
U as isJanusApiError,
|
|
256
|
+
C as isUnauthorizedError
|
|
257
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pelygo/janus",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "TypeScript API client for JANUS endpoints with full type safety",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "vite build",
|
|
21
|
+
"test": "vitest",
|
|
22
|
+
"test:run": "vitest run",
|
|
23
|
+
"test:integration": "vitest run tests/integration/",
|
|
24
|
+
"typecheck": "tsc --noEmit",
|
|
25
|
+
"generate-types": "tsx scripts/generate-types.ts",
|
|
26
|
+
"prepublishOnly": "npm run test:run && npm run build"
|
|
27
|
+
},
|
|
28
|
+
"keywords": [
|
|
29
|
+
"janus",
|
|
30
|
+
"api",
|
|
31
|
+
"pelygo",
|
|
32
|
+
"vcomsuite",
|
|
33
|
+
"typescript"
|
|
34
|
+
],
|
|
35
|
+
"author": "",
|
|
36
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/Vdepot/janus-package.git"
|
|
40
|
+
},
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public",
|
|
43
|
+
"registry": "https://registry.npmjs.org/"
|
|
44
|
+
},
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@pelygo/auth": "^0.2.0"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@pelygo/auth": "^0.2.6",
|
|
50
|
+
"@types/node": "^22.0.0",
|
|
51
|
+
"tsx": "^4.19.0",
|
|
52
|
+
"typescript": "^5.9.3",
|
|
53
|
+
"vite": "^7.3.1",
|
|
54
|
+
"vite-plugin-dts": "^4.5.4",
|
|
55
|
+
"vitest": "^4.0.17"
|
|
56
|
+
}
|
|
57
|
+
}
|