@mojaksebastian/allegro-client 1.1.0 → 1.2.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.
- package/dist/auth/helpers/TokenStorage.d.ts +1 -3
- package/dist/auth/helpers/TokenStorage.d.ts.map +1 -1
- package/dist/auth/helpers/TokenStorage.js +18 -11
- package/dist/auth/helpers/TokenStorage.js.map +1 -1
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +11 -11
- package/dist/auth/index.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +23 -4
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +9 -2
- package/dist/client/types.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import type { ITokenStorage, IAllegroTokens } from "../types.js";
|
|
2
2
|
import { TEnv } from "../../client/types.js";
|
|
3
3
|
export declare class FileTokenStorage implements ITokenStorage {
|
|
4
|
-
private readonly fileName;
|
|
5
|
-
private readonly devFileName;
|
|
6
4
|
private readonly filePath;
|
|
7
|
-
constructor(env: TEnv,
|
|
5
|
+
constructor(env: TEnv, clientId: string);
|
|
8
6
|
save(tokens: IAllegroTokens): Promise<void>;
|
|
9
7
|
read(): Promise<IAllegroTokens | null>;
|
|
10
8
|
clear(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../../../src/auth/helpers/TokenStorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../../../src/auth/helpers/TokenStorage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7C,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM;IAmBjC,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3C,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAUtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7B"}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import { writeFile, readFile, unlink } from "node:fs/promises";
|
|
2
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
2
3
|
import { join } from "node:path";
|
|
4
|
+
import { homedir } from "node:os";
|
|
5
|
+
import { createHash } from "node:crypto";
|
|
3
6
|
export class FileTokenStorage {
|
|
4
|
-
fileName = ".allegro_sessionon";
|
|
5
|
-
devFileName = ".allegro_sessionon_dev";
|
|
6
7
|
filePath;
|
|
7
|
-
constructor(env,
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
constructor(env, clientId) {
|
|
9
|
+
// Generowanie hasha dla każdej instancji oraz production/sandbox
|
|
10
|
+
const clientHash = createHash("sha256")
|
|
11
|
+
.update(`${clientId}-${env}`)
|
|
12
|
+
.digest("hex")
|
|
13
|
+
.substring(0, 8);
|
|
14
|
+
const fileName = `session-${env}-${clientHash}.json`;
|
|
15
|
+
// Domyślnie używanie ukrytego folderu w /home użytkownika systemu
|
|
16
|
+
const homeConfigDir = join(homedir(), ".allegro-client");
|
|
17
|
+
this.filePath = join(homeConfigDir, fileName);
|
|
18
|
+
if (!existsSync(homeConfigDir)) {
|
|
19
|
+
mkdirSync(homeConfigDir, { recursive: true });
|
|
20
|
+
}
|
|
13
21
|
}
|
|
14
22
|
async save(tokens) {
|
|
15
23
|
try {
|
|
16
24
|
const data = JSON.stringify(tokens, null, 2);
|
|
17
|
-
console.log(data);
|
|
18
25
|
await writeFile(this.filePath, data, "utf-8");
|
|
19
26
|
}
|
|
20
27
|
catch (error) {
|
|
@@ -27,7 +34,7 @@ export class FileTokenStorage {
|
|
|
27
34
|
return JSON.parse(data);
|
|
28
35
|
}
|
|
29
36
|
catch (error) {
|
|
30
|
-
// Jeśli plik nie istnieje,
|
|
37
|
+
// Jeśli plik nie istnieje, zwrócenie null
|
|
31
38
|
return null;
|
|
32
39
|
}
|
|
33
40
|
}
|
|
@@ -36,7 +43,7 @@ export class FileTokenStorage {
|
|
|
36
43
|
await unlink(this.filePath);
|
|
37
44
|
}
|
|
38
45
|
catch (error) {
|
|
39
|
-
//
|
|
46
|
+
// Ignorowanie błędu, jeśli plik już nie istnieje
|
|
40
47
|
}
|
|
41
48
|
}
|
|
42
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStorage.js","sourceRoot":"","sources":["../../../src/auth/helpers/TokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"TokenStorage.js","sourceRoot":"","sources":["../../../src/auth/helpers/TokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,MAAM,OAAO,gBAAgB;IACV,QAAQ,CAAS;IAElC,YAAY,GAAS,EAAE,QAAgB;QACrC,iEAAiE;QACjE,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;aACpC,MAAM,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;aAC5B,MAAM,CAAC,KAAK,CAAC;aACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnB,MAAM,QAAQ,GAAG,WAAW,GAAG,IAAI,UAAU,OAAO,CAAC;QAErD,kEAAkE;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC7F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0CAA0C;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iDAAiD;QACnD,CAAC;IACH,CAAC;CACF"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare class AllegroAuth implements IAuthConfig {
|
|
|
7
7
|
private readonly tokenUrl;
|
|
8
8
|
private readonly authUrl;
|
|
9
9
|
constructor(baseUrl: URL, strategy: IAuthStrategy, storage: ITokenStorage, credentials: IAuthCredentials);
|
|
10
|
+
authorize(): Promise<string>;
|
|
10
11
|
getToken(): Promise<string>;
|
|
11
12
|
clearToken(): Promise<void>;
|
|
12
13
|
}
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,qBAAa,WAAY,YAAW,WAAW;IAK3C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IAPrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAM;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;gBAGpB,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,gBAAgB;IAMjC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,qBAAa,WAAY,YAAW,WAAW;IAK3C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IAPrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAM;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;gBAGpB,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,gBAAgB;IAMjC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAS5B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAiC3B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
|
package/dist/auth/index.js
CHANGED
|
@@ -11,34 +11,34 @@ export class AllegroAuth {
|
|
|
11
11
|
this.strategy = strategy;
|
|
12
12
|
this.storage = storage;
|
|
13
13
|
this.credentials = credentials;
|
|
14
|
-
this.authUrl = new URL(
|
|
15
|
-
this.tokenUrl = new URL(
|
|
14
|
+
this.authUrl = new URL("/auth/oauth/device", this.baseUrl);
|
|
15
|
+
this.tokenUrl = new URL("/auth/oauth/token", this.baseUrl);
|
|
16
|
+
}
|
|
17
|
+
async authorize() {
|
|
18
|
+
const tokens = await this.strategy.authorize(this.authUrl, this.credentials);
|
|
19
|
+
await this.storage.save(tokens);
|
|
20
|
+
return tokens.accessToken;
|
|
16
21
|
}
|
|
17
22
|
async getToken() {
|
|
18
23
|
let tokens = await this.storage.read();
|
|
19
24
|
// Brak jakichkolwiek tokenów
|
|
20
25
|
if (!tokens) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
await this.storage.save(tokens);
|
|
24
|
-
return tokens.accessToken;
|
|
26
|
+
const accessToken = await this.authorize();
|
|
27
|
+
return accessToken;
|
|
25
28
|
}
|
|
26
29
|
// Sprawdzenie ważności
|
|
27
30
|
// Jeśli obecny czas + 5 min jest większy niż czas wygaśnięcia, odświeżanie
|
|
28
31
|
const safetyMargin = 5 * 60 * 1000;
|
|
29
32
|
const isExpired = Date.now() + safetyMargin >= tokens.expiresAt;
|
|
30
33
|
if (isExpired) {
|
|
31
|
-
console.log("[Auth] Token wygasł lub zaraz wygaśnie. Odświeżam...");
|
|
32
34
|
try {
|
|
33
35
|
const newTokens = await refresh(this.tokenUrl, this.credentials, tokens.refreshToken);
|
|
34
36
|
await this.storage.save(newTokens);
|
|
35
37
|
return newTokens.accessToken;
|
|
36
38
|
}
|
|
37
39
|
catch (error) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
await this.clearToken();
|
|
41
|
-
throw new Error("Sesja wygasła. Wymagana ponowna autoryzacja użytkownika.");
|
|
40
|
+
await this.storage.clear();
|
|
41
|
+
return this.authorize();
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
// Token jest nadal ważny
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,MAAM,OAAO,WAAW;IAKZ;IACA;IACA;IACA;IAPO,QAAQ,CAAM;IACd,OAAO,CAAM;IAE9B,YACU,OAAY,EACZ,QAAuB,EACvB,OAAsB,EACtB,WAA6B;QAH7B,YAAO,GAAP,OAAO,CAAK;QACZ,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAAe;QACtB,gBAAW,GAAX,WAAW,CAAkB;QAErC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,MAAM,OAAO,WAAW;IAKZ;IACA;IACA;IACA;IAPO,QAAQ,CAAM;IACd,OAAO,CAAM;IAE9B,YACU,OAAY,EACZ,QAAuB,EACvB,OAAsB,EACtB,WAA6B;QAH7B,YAAO,GAAP,OAAO,CAAK;QACZ,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAAe;QACtB,gBAAW,GAAX,WAAW,CAAkB;QAErC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC1C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEvC,6BAA6B;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,uBAAuB;QACvB,2EAA2E;QAC3E,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC;QAEhE,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,WAAW,EAChB,MAAM,CAAC,YAAY,CACpB,CAAC;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,OAAO,SAAS,CAAC,WAAW,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { IAllegroClientConfig } from "./types.js";
|
|
2
2
|
export declare class AllegroClient {
|
|
3
3
|
private auth;
|
|
4
|
+
private baseUrl;
|
|
5
|
+
private userAgent;
|
|
4
6
|
constructor(config: IAllegroClientConfig);
|
|
5
7
|
/**
|
|
6
8
|
* Metoda pomocnicza do ręcznego wywołania autoryzacji
|
|
7
9
|
* lub po prostu pobrania aktualnego tokena.
|
|
8
10
|
*/
|
|
9
11
|
getAccessToken(): Promise<string>;
|
|
12
|
+
send<T>(path: string, options?: RequestInit): Promise<T>;
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAKlD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAc;gBAEd,MAAM,EAAE,oBAAoB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAKlD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,oBAAoB;IAoCxC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;CAmBnE"}
|
package/dist/client/index.js
CHANGED
|
@@ -5,13 +5,16 @@ const baseUrl = new URL("https://allegro.pl");
|
|
|
5
5
|
const devBaseUrl = new URL("https://allegro.pl.allegrosandbox.pl");
|
|
6
6
|
export class AllegroClient {
|
|
7
7
|
auth;
|
|
8
|
+
baseUrl;
|
|
9
|
+
userAgent;
|
|
8
10
|
constructor(config) {
|
|
9
11
|
console.log("Inicjalizacja AllegroClient...");
|
|
10
12
|
const { env = "production", // Domyślnie production, jeśli nie podano
|
|
11
|
-
credentials, strategy, storage, } = config;
|
|
12
|
-
|
|
13
|
+
credentials, strategy, storage, userAgent, } = config;
|
|
14
|
+
this.baseUrl = env === "sandbox" ? devBaseUrl : baseUrl;
|
|
15
|
+
this.userAgent = `${userAgent.name}/${userAgent.version} (+${userAgent.url})`;
|
|
13
16
|
// Inicjalizacja Storage (wbudowany/użytkownika)
|
|
14
|
-
const tokenStorage = storage ?? new FileTokenStorage(env);
|
|
17
|
+
const tokenStorage = storage ?? new FileTokenStorage(env, credentials.clientId);
|
|
15
18
|
// Wybór strategii
|
|
16
19
|
console.log("Strategia autoryzacji: " + strategy);
|
|
17
20
|
let strategyInstance;
|
|
@@ -21,7 +24,7 @@ export class AllegroClient {
|
|
|
21
24
|
strategyInstance = new DeviceFlow();
|
|
22
25
|
}
|
|
23
26
|
// Zarządca autoryzacji
|
|
24
|
-
this.auth = new AllegroAuth(
|
|
27
|
+
this.auth = new AllegroAuth(this.baseUrl, strategyInstance, tokenStorage, credentials);
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
30
|
* Metoda pomocnicza do ręcznego wywołania autoryzacji
|
|
@@ -30,5 +33,21 @@ export class AllegroClient {
|
|
|
30
33
|
async getAccessToken() {
|
|
31
34
|
return await this.auth.getToken();
|
|
32
35
|
}
|
|
36
|
+
async send(path, options = {}) {
|
|
37
|
+
const token = await this.getAccessToken();
|
|
38
|
+
const url = new URL(path, this.baseUrl);
|
|
39
|
+
const response = await fetch(url.toString(), {
|
|
40
|
+
...options,
|
|
41
|
+
headers: {
|
|
42
|
+
...options.headers,
|
|
43
|
+
Authorization: `Bearer ${token}`,
|
|
44
|
+
"User-Agent": this.userAgent,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
if (!response.ok) {
|
|
48
|
+
throw new Error(`Allegro API error: ${response.statusText}`);
|
|
49
|
+
}
|
|
50
|
+
return (await response.json());
|
|
51
|
+
}
|
|
33
52
|
}
|
|
34
53
|
//# sourceMappingURL=index.js.map
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAEnE,MAAM,OAAO,aAAa;IAChB,IAAI,CAAc;IAE1B,YAAY,MAA4B;QACtC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,EACJ,GAAG,GAAG,YAAY,EAAE,yCAAyC;QAC7D,WAAW,EACX,QAAQ,EACR,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,sCAAsC,CAAC,CAAC;AAEnE,MAAM,OAAO,aAAa;IAChB,IAAI,CAAc;IAClB,OAAO,CAAM;IACb,SAAS,CAAS;IAE1B,YAAY,MAA4B;QACtC,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,EACJ,GAAG,GAAG,YAAY,EAAE,yCAAyC;QAC7D,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,GACV,GAAG,MAA8B,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,OAAO,MAAM,SAAS,CAAC,GAAG,GAAG,CAAC;QAE9E,gDAAgD;QAChD,MAAM,YAAY,GAChB,OAAO,IAAI,IAAI,gBAAgB,CAAC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7D,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,QAAQ,CAAC,CAAC;QAElD,IAAI,gBAAgB,CAAC;QACrB,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY;gBACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC5C,gBAAgB,GAAG,IAAI,UAAU,EAAE,CAAC;QACxC,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CACzB,IAAI,CAAC,OAAO,EACZ,gBAAgB,EAChB,YAAY,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,IAAY,EAAE,UAAuB,EAAE;QACnD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC3C,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO;gBAClB,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,YAAY,EAAE,IAAI,CAAC,SAAS;aAC7B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;CACF"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -3,10 +3,17 @@ import type { IAuthCredentials, ITokenStorage, Tstrategy } from "../auth/types.j
|
|
|
3
3
|
* Client Configuration Types
|
|
4
4
|
*/
|
|
5
5
|
export type TEnv = "production" | "sandbox";
|
|
6
|
+
export type TVersion = `${number}.${number}.${number}` | `${number}.${number}` | number;
|
|
7
|
+
export interface IUserAgent {
|
|
8
|
+
name: string;
|
|
9
|
+
version: TVersion;
|
|
10
|
+
url: `http://${string}` | `https://${string}` | URL;
|
|
11
|
+
}
|
|
6
12
|
export interface IAllegroClientConfig {
|
|
7
|
-
credentials: IAuthCredentials;
|
|
8
13
|
env?: TEnv;
|
|
9
|
-
|
|
14
|
+
credentials: IAuthCredentials;
|
|
10
15
|
strategy: Tstrategy;
|
|
16
|
+
storage?: ITokenStorage;
|
|
17
|
+
userAgent: IUserAgent;
|
|
11
18
|
}
|
|
12
19
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,SAAS,EACV,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,MAAM,CAAC;AAExF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,CAAC;IAClB,GAAG,EAAE,UAAU,MAAM,EAAE,GAAG,WAAW,MAAM,EAAE,GAAG,GAAG,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,UAAU,CAAC;CACvB"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mojaksebastian/allegro-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Klient Allegro REST API z automatycznym odświeżaniem tokenów. Pobiera tokeny z Allegro i udostępnia je użytkownikowi. Obsługuje zarówno środowisko produkcyjne, jak i sandbox.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/mojaksebastian/allegro-client"
|
|
10
|
+
},
|
|
7
11
|
"exports": {
|
|
8
12
|
".": {
|
|
9
13
|
"types": "./dist/index.d.ts",
|