@mojaksebastian/allegro-client 1.2.0 → 1.2.2
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 +16 -9
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +7 -5
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/strategies/DeviceFlow.d.ts +1 -1
- package/dist/auth/strategies/DeviceFlow.d.ts.map +1 -1
- package/dist/auth/strategies/DeviceFlow.js +6 -6
- package/dist/auth/strategies/DeviceFlow.js.map +1 -1
- package/dist/auth/types.d.ts +2 -2
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/client/index.d.ts +14 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +15 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +5 -0
- package/dist/client/types.d.ts.map +1 -1
- package/package.json +1 -5
package/README.md
CHANGED
|
@@ -31,7 +31,12 @@ const config = {
|
|
|
31
31
|
clientId: process.env.ALLEGRO_CLIENT_ID,
|
|
32
32
|
clientSecret: process.env.ALLEGRO_CLIENT_SECRET,
|
|
33
33
|
},
|
|
34
|
-
|
|
34
|
+
userAgent: { // NAGŁÓWEK USER AGENT WYMAGANY PRZEZ ALLEGRO DO KOŃCA CZERWCA 2026 !!!
|
|
35
|
+
name: "AllegroClient", // nazwa aplikacji
|
|
36
|
+
version: "1.0.0", // wersja (w formie x.x.x / x.x / x)
|
|
37
|
+
url: "https://github.com/mojaksebastian/allegro-client", // należy podać URL do strony projektu
|
|
38
|
+
}
|
|
39
|
+
strategy: "DeviceFlow", // Na razie tylko DeviceFlow
|
|
35
40
|
env: "sandbox", // Opcje: "production" | "sandbox"
|
|
36
41
|
};
|
|
37
42
|
|
|
@@ -95,24 +100,26 @@ const allegro = new AllegroClient({
|
|
|
95
100
|
### Interfejs konfiguracji (IAllegroClientConfig)
|
|
96
101
|
|
|
97
102
|
| Właściwość | Typ | Wymagane | Opis |
|
|
98
|
-
| :------------ | :-------------------------- |
|
|
99
|
-
| `credentials` | `IAuthCredentials` |
|
|
100
|
-
| `
|
|
101
|
-
| `
|
|
102
|
-
| `
|
|
103
|
+
| :------------ | :-------------------------- | :------- | :--------------------------------------------------------------------- |
|
|
104
|
+
| `credentials` | `IAuthCredentials` | Tak | Obiekt zawierający `clientId` oraz `clientSecret`. |
|
|
105
|
+
| `userAgent` | `IUserAgent` | Tak | Obiekt z metadanymi aplikacji (wymagany nagłówek User-Agent). |
|
|
106
|
+
| `strategy` | `TStrategy` | Tak | Wybrana strategia autoryzacji (np. `"DeviceFlow"`). |
|
|
107
|
+
| `env` | `"production" \| "sandbox"` | Nie | Środowisko Allegro (Domyślnie: `"production"`). |
|
|
108
|
+
| `storage` | `ITokenStorage` | Nie | Instancja klasy zarządzającej zapisem (Domyślnie: `FileTokenStorage`). |
|
|
103
109
|
|
|
104
110
|
### Metody klasy AllegroClient
|
|
105
111
|
|
|
106
|
-
|
|
112
|
+
- **getAccessToken(): Promise<string>** – Zwraca aktywny token dostępowy. Jeśli token wygasł lub nie istnieje, inicjuje proces odświeżania lub autoryzacji.
|
|
113
|
+
|
|
114
|
+
- **clearTokens(): Promise<void>** – Usuwa token zapisany w pamięci klienta.
|
|
107
115
|
|
|
108
|
-
|
|
116
|
+
- **send(path: string, options: RequestInit): Promise<void>** – Metoda pomocnicza do wysyłania żądań HTTP do API Allegro. Automatycznie uwzględnia nagłówki Authorization oraz User-Agent.
|
|
109
117
|
|
|
110
118
|
## Rozwój projektu
|
|
111
119
|
|
|
112
120
|
Biblioteka wymaga Node.js w wersji 20.x lub wyższej.
|
|
113
121
|
|
|
114
122
|
```bash
|
|
115
|
-
|
|
116
123
|
# Kompilacja kodu źródłowego (TypeScript -> JavaScript)
|
|
117
124
|
npm run build
|
|
118
125
|
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -4,11 +4,12 @@ export declare class AllegroAuth implements IAuthConfig {
|
|
|
4
4
|
private strategy;
|
|
5
5
|
private storage;
|
|
6
6
|
private credentials;
|
|
7
|
+
private userAgent;
|
|
7
8
|
private readonly tokenUrl;
|
|
8
9
|
private readonly authUrl;
|
|
9
|
-
constructor(baseUrl: URL, strategy: IAuthStrategy, storage: ITokenStorage, credentials: IAuthCredentials);
|
|
10
|
+
constructor(baseUrl: URL, strategy: IAuthStrategy, storage: ITokenStorage, credentials: IAuthCredentials, userAgent: string);
|
|
10
11
|
authorize(): Promise<string>;
|
|
11
12
|
getToken(): Promise<string>;
|
|
12
|
-
|
|
13
|
+
clearTokens(): Promise<void>;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
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;
|
|
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;AAIpB,qBAAa,WAAY,YAAW,WAAW;IAK3C,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IARnB,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,EAC7B,SAAS,EAAE,MAAM;IAMrB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAU5B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAiC3B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
|
package/dist/auth/index.js
CHANGED
|
@@ -4,18 +4,20 @@ export class AllegroAuth {
|
|
|
4
4
|
strategy;
|
|
5
5
|
storage;
|
|
6
6
|
credentials;
|
|
7
|
+
userAgent;
|
|
7
8
|
tokenUrl;
|
|
8
9
|
authUrl;
|
|
9
|
-
constructor(baseUrl, strategy, storage, credentials) {
|
|
10
|
+
constructor(baseUrl, strategy, storage, credentials, userAgent) {
|
|
10
11
|
this.baseUrl = baseUrl;
|
|
11
12
|
this.strategy = strategy;
|
|
12
13
|
this.storage = storage;
|
|
13
14
|
this.credentials = credentials;
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
15
|
+
this.userAgent = userAgent;
|
|
16
|
+
this.authUrl = new URL("/auth/oauth", this.baseUrl);
|
|
17
|
+
this.tokenUrl = new URL("/token", this.authUrl);
|
|
16
18
|
}
|
|
17
19
|
async authorize() {
|
|
18
|
-
const tokens = await this.strategy.authorize(this.authUrl, this.credentials);
|
|
20
|
+
const tokens = await this.strategy.authorize(this.authUrl, this.credentials, this.userAgent);
|
|
19
21
|
await this.storage.save(tokens);
|
|
20
22
|
return tokens.accessToken;
|
|
21
23
|
}
|
|
@@ -44,7 +46,7 @@ export class AllegroAuth {
|
|
|
44
46
|
// Token jest nadal ważny
|
|
45
47
|
return tokens.accessToken;
|
|
46
48
|
}
|
|
47
|
-
async
|
|
49
|
+
async clearTokens() {
|
|
48
50
|
await this.storage.clear();
|
|
49
51
|
}
|
|
50
52
|
}
|
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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGrD,MAAM,OAAO,WAAW;IAKZ;IACA;IACA;IACA;IACA;IARO,QAAQ,CAAM;IACd,OAAO,CAAM;IAE9B,YACU,OAAY,EACZ,QAAuB,EACvB,OAAsB,EACtB,WAA6B,EAC7B,SAAiB;QAJjB,YAAO,GAAP,OAAO,CAAK;QACZ,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAAe;QACtB,gBAAW,GAAX,WAAW,CAAkB;QAC7B,cAAS,GAAT,SAAS,CAAQ;QAEzB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC1C,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,SAAS,CACf,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,WAAW;QACf,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IAuthStrategy, IAllegroTokens, IAuthCredentials } from "../types.js";
|
|
2
2
|
export declare class DeviceFlow implements IAuthStrategy {
|
|
3
|
-
authorize(authUrl: URL, credentials: IAuthCredentials): Promise<IAllegroTokens>;
|
|
3
|
+
authorize(authUrl: URL, credentials: IAuthCredentials, userAgent: string): Promise<IAllegroTokens>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=DeviceFlow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceFlow.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/DeviceFlow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAErB,qBAAa,UAAW,YAAW,aAAa;IACxC,SAAS,CACb,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"DeviceFlow.d.ts","sourceRoot":"","sources":["../../../src/auth/strategies/DeviceFlow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AAErB,qBAAa,UAAW,YAAW,aAAa;IACxC,SAAS,CACb,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC;CAqF3B"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
export class DeviceFlow {
|
|
2
|
-
async authorize(authUrl, credentials) {
|
|
2
|
+
async authorize(authUrl, credentials, userAgent) {
|
|
3
3
|
const { clientId, clientSecret } = credentials;
|
|
4
4
|
const basicAuth = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
|
|
5
|
-
//
|
|
6
|
-
console.log(
|
|
5
|
+
// Pobieranie deviceCode
|
|
6
|
+
console.log(authUrl);
|
|
7
7
|
const deviceResponse = await fetch(`${authUrl}/device?client_id=${clientId}`, {
|
|
8
8
|
method: "POST",
|
|
9
9
|
headers: {
|
|
10
10
|
Authorization: `Basic ${basicAuth}`,
|
|
11
11
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
12
|
+
"User-Agent": userAgent,
|
|
12
13
|
},
|
|
13
14
|
});
|
|
14
15
|
if (!deviceResponse.ok) {
|
|
@@ -23,7 +24,6 @@ export class DeviceFlow {
|
|
|
23
24
|
// KROK 2: Polling (odpytywanie o token)
|
|
24
25
|
return new Promise((resolve, reject) => {
|
|
25
26
|
const intervalMs = deviceData.interval * 1000;
|
|
26
|
-
console.log(`[DeviceFlow] Starting polling for token every ${deviceData.interval}s...`);
|
|
27
27
|
const poll = setInterval(async () => {
|
|
28
28
|
try {
|
|
29
29
|
const tokenResponse = await fetch(`${authUrl}/token`, {
|
|
@@ -31,6 +31,7 @@ export class DeviceFlow {
|
|
|
31
31
|
headers: {
|
|
32
32
|
Authorization: `Basic ${basicAuth}`,
|
|
33
33
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
34
|
+
"User-Agent": userAgent,
|
|
34
35
|
},
|
|
35
36
|
body: new URLSearchParams({
|
|
36
37
|
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
@@ -39,7 +40,6 @@ export class DeviceFlow {
|
|
|
39
40
|
});
|
|
40
41
|
const data = (await tokenResponse.json());
|
|
41
42
|
if (tokenResponse.ok) {
|
|
42
|
-
console.log(`[DeviceFlow] Access token successfully acquired!`);
|
|
43
43
|
clearInterval(poll);
|
|
44
44
|
resolve({
|
|
45
45
|
accessToken: data.access_token,
|
|
@@ -57,7 +57,7 @@ export class DeviceFlow {
|
|
|
57
57
|
clearInterval(poll);
|
|
58
58
|
reject(new Error("Niepoprawny, wygasły lub zużyty device_code."));
|
|
59
59
|
}
|
|
60
|
-
// Inne błędy (np. authorization_pending)
|
|
60
|
+
// Inne błędy (np. authorization_pending) ignorować i czekać dalej
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceFlow.js","sourceRoot":"","sources":["../../../src/auth/strategies/DeviceFlow.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,UAAU;IACrB,KAAK,CAAC,SAAS,CACb,OAAY,EACZ,WAA6B;
|
|
1
|
+
{"version":3,"file":"DeviceFlow.js","sourceRoot":"","sources":["../../../src/auth/strategies/DeviceFlow.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -43,11 +43,11 @@ export interface ITokenStorage {
|
|
|
43
43
|
clear(): Promise<void>;
|
|
44
44
|
}
|
|
45
45
|
export interface IAuthStrategy {
|
|
46
|
-
authorize(authUrl: URL, credentials: IAuthCredentials): Promise<IAllegroTokens>;
|
|
46
|
+
authorize(authUrl: URL, credentials: IAuthCredentials, userAgent: string): Promise<IAllegroTokens>;
|
|
47
47
|
}
|
|
48
48
|
export interface IAuthConfig {
|
|
49
49
|
getToken(): Promise<string>;
|
|
50
|
-
|
|
50
|
+
clearTokens(): Promise<void>;
|
|
51
51
|
}
|
|
52
52
|
export interface IRefreshTokensParameters {
|
|
53
53
|
refresh(refreshUrl: URL, credentials: IAuthCredentials, refreshToken: string): Promise<IAllegroTokens>;
|
package/dist/auth/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACvC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CACP,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,gBAAgB,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CACL,UAAU,EAAE,GAAG,EACf,WAAW,EAAE,gBAAgB,EAC7B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IAllegroClientConfig } from "./types.js";
|
|
2
|
-
export declare class AllegroClient {
|
|
1
|
+
import { IAllegroClient, IAllegroClientConfig } from "./types.js";
|
|
2
|
+
export declare class AllegroClient implements IAllegroClient {
|
|
3
3
|
private auth;
|
|
4
4
|
private baseUrl;
|
|
5
5
|
private userAgent;
|
|
@@ -9,6 +9,18 @@ export declare class AllegroClient {
|
|
|
9
9
|
* lub po prostu pobrania aktualnego tokena.
|
|
10
10
|
*/
|
|
11
11
|
getAccessToken(): Promise<string>;
|
|
12
|
+
/**
|
|
13
|
+
* Usuwa zapisane tokeny z magazynu (wylogowanie).
|
|
14
|
+
*/
|
|
15
|
+
clearTokens(): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Wykonuje autoryzowane zapytanie do API Allegro.
|
|
18
|
+
* Automatycznie dołącza token Bearer oraz User-Agent.
|
|
19
|
+
*
|
|
20
|
+
* @param path Ścieżka endpointu (np. '/sale/offers')
|
|
21
|
+
* @param options Opcje fetch (metoda, body, dodatkowe nagłówki)
|
|
22
|
+
* @returns Sparsowany wynik typu T
|
|
23
|
+
*/
|
|
12
24
|
send<T>(path: string, options?: RequestInit): Promise<T>;
|
|
13
25
|
}
|
|
14
26
|
//# 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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAKlE,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,oBAAoB;IAqCxC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;CAmBnE"}
|
package/dist/client/index.js
CHANGED
|
@@ -24,7 +24,7 @@ export class AllegroClient {
|
|
|
24
24
|
strategyInstance = new DeviceFlow();
|
|
25
25
|
}
|
|
26
26
|
// Zarządca autoryzacji
|
|
27
|
-
this.auth = new AllegroAuth(this.baseUrl, strategyInstance, tokenStorage, credentials);
|
|
27
|
+
this.auth = new AllegroAuth(this.baseUrl, strategyInstance, tokenStorage, credentials, this.userAgent);
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Metoda pomocnicza do ręcznego wywołania autoryzacji
|
|
@@ -33,6 +33,20 @@ export class AllegroClient {
|
|
|
33
33
|
async getAccessToken() {
|
|
34
34
|
return await this.auth.getToken();
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Usuwa zapisane tokeny z magazynu (wylogowanie).
|
|
38
|
+
*/
|
|
39
|
+
async clearTokens() {
|
|
40
|
+
await this.auth.clearTokens();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Wykonuje autoryzowane zapytanie do API Allegro.
|
|
44
|
+
* Automatycznie dołącza token Bearer oraz User-Agent.
|
|
45
|
+
*
|
|
46
|
+
* @param path Ścieżka endpointu (np. '/sale/offers')
|
|
47
|
+
* @param options Opcje fetch (metoda, body, dodatkowe nagłówki)
|
|
48
|
+
* @returns Sparsowany wynik typu T
|
|
49
|
+
*/
|
|
36
50
|
async send(path, options = {}) {
|
|
37
51
|
const token = await this.getAccessToken();
|
|
38
52
|
const url = new URL(path, this.baseUrl);
|
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;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,
|
|
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,EACX,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,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
|
@@ -9,6 +9,11 @@ export interface IUserAgent {
|
|
|
9
9
|
version: TVersion;
|
|
10
10
|
url: `http://${string}` | `https://${string}` | URL;
|
|
11
11
|
}
|
|
12
|
+
export interface IAllegroClient {
|
|
13
|
+
getAccessToken(): Promise<string>;
|
|
14
|
+
clearTokens(): Promise<void>;
|
|
15
|
+
send<T>(path: string, options?: RequestInit): Promise<T>;
|
|
16
|
+
}
|
|
12
17
|
export interface IAllegroClientConfig {
|
|
13
18
|
env?: TEnv;
|
|
14
19
|
credentials: IAuthCredentials;
|
|
@@ -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,MAAM,QAAQ,
|
|
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,GAChB,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,GAC/B,GAAG,MAAM,IAAI,MAAM,EAAE,GACrB,MAAM,CAAC;AAEX,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,cAAc;IAC7B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1D;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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mojaksebastian/allegro-client",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.2",
|
|
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",
|
|
@@ -20,9 +20,6 @@
|
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "rm -rf dist && tsc",
|
|
23
|
-
"test": "node dist/test.js",
|
|
24
|
-
"start": "node dist/server.js",
|
|
25
|
-
"dev": "node --loader ts-node/esm src/server.ts",
|
|
26
23
|
"prepublishOnly": "npm run build"
|
|
27
24
|
},
|
|
28
25
|
"keywords": [
|
|
@@ -34,7 +31,6 @@
|
|
|
34
31
|
"license": "MIT",
|
|
35
32
|
"devDependencies": {
|
|
36
33
|
"@types/node": "^20.11.0",
|
|
37
|
-
"ts-node": "^10.9.2",
|
|
38
34
|
"typescript": "^5.4.0"
|
|
39
35
|
}
|
|
40
36
|
}
|