meet-my-ride 1.3.1 → 1.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAEvD,qBAAa,gBAAgB;IACzB,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAiB5C;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAO9C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAGvD,qBAAa,gBAAgB;IACzB,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IA0B5C;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAO9C"}
package/dist/client.js CHANGED
@@ -3,6 +3,7 @@ import { UserService } from "./services/user/user.service";
3
3
  import { AuthService } from "./services/auth/auth.service";
4
4
  import { TokenStorageService } from "./services/tokenstorage/tokenstorage";
5
5
  import MeetService from "./services/meet/meet.service";
6
+ import { parseApiError } from "./models/http/api.types";
6
7
  export class MeetMyRideClient {
7
8
  constructor(baseUrl, apiKey) {
8
9
  const storage = new TokenStorageService();
@@ -11,9 +12,14 @@ export class MeetMyRideClient {
11
12
  headers: {
12
13
  "Content-Type": "application/json",
13
14
  ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {})
14
- }
15
+ },
16
+ withCredentials: true
15
17
  });
16
- // Initialize modules/services
18
+ // ----- Attach Global Error Interceptor -----
19
+ this.http.interceptors.response.use(response => response, error => {
20
+ throw parseApiError(error);
21
+ });
22
+ // Services
17
23
  this.user = new UserService(this.http);
18
24
  this.auth = new AuthService(this.http, storage, this);
19
25
  this.meet = new MeetService(this.http);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAEvD,MAAM,OAAO,gBAAgB;IAOzB,YAAY,OAAe,EAAE,MAAe;QACxC,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D;SACJ,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,KAAoB;QAChC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,MAAM,OAAO,gBAAgB;IAOzB,YAAY,OAAe,EAAE,MAAe;QACxC,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D;YACD,eAAe,EAAE,IAAI;SACxB,CAAC,CAAC;QAEH,8CAA8C;QAC9C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAC3B,QAAQ,CAAC,EAAE,CAAC,QAAQ,EACpB,KAAK,CAAC,EAAE;YACJ,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CACR,CAAC;QAEF,WAAW;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,KAAoB;QAChC,IAAI,KAAK,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;CACJ"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,8 @@ export { MeetMyRideClient } from "./client";
2
2
  export { AuthService } from "./services/auth/auth.service";
3
3
  export { UserService } from "./services/user/user.service";
4
4
  export type { User, UserLogin, UserRegister, UserRegisterResponse, UserUpdate, AuthResponse, UserRefreshResponse, VerifyEmailResponse } from "./models/user/user.types";
5
- export { TokenStorage } from "./services/tokenstorage/tokenstorage";
5
+ export { TokenStorageService as TokenStorage } from "./services/tokenstorage/tokenstorage";
6
6
  export { default as MeetService } from "./services/meet/meet.service";
7
7
  export type { Meet, UpdateMeetRequest, CreateMeetRequest, MeetUserResponse, MeetType } from "./models/meet/meet.types";
8
+ export { ApiError } from "./models/http/api.types";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EACR,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAGpE,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,8BAA8B,CAAA;AACnE,YAAY,EACR,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACX,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EACR,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,mBAAmB,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAG3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EACR,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACX,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,14 @@
1
- // Core Client
1
+ // ------------------ Core Client ------------------ //
2
2
  export { MeetMyRideClient } from "./client";
3
+ // ------------------ Services ------------------ //
3
4
  // Auth
4
5
  export { AuthService } from "./services/auth/auth.service";
5
6
  // Users
6
7
  export { UserService } from "./services/user/user.service";
8
+ // Token storage
9
+ export { TokenStorageService as TokenStorage } from "./services/tokenstorage/tokenstorage";
7
10
  // Meets
8
11
  export { default as MeetService } from "./services/meet/meet.service";
12
+ // ------------------ Optional: Error types ------------------ //
13
+ export { ApiError } from "./models/http/api.types";
9
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAe3D,QAAQ;AACR,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,oDAAoD;AACpD,OAAO;AACP,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAY3D,gBAAgB;AAChB,OAAO,EAAE,mBAAmB,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAE3F,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAStE,iEAAiE;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare class ApiError extends Error {
2
+ status: number;
3
+ code: string;
4
+ details?: any;
5
+ constructor(status: number, code: string, message: string, details?: any);
6
+ }
7
+ export declare function parseApiError(error: unknown): ApiError;
8
+ //# sourceMappingURL=api.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.types.d.ts","sourceRoot":"","sources":["../../../src/models/http/api.types.ts"],"names":[],"mappings":"AAGA,qBAAa,QAAS,SAAQ,KAAK;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;gBAEF,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAM3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,CAkBtD"}
@@ -0,0 +1,57 @@
1
+ export class ApiError extends Error {
2
+ constructor(status, code, message, details) {
3
+ super(message);
4
+ this.status = status;
5
+ this.code = code;
6
+ this.details = details;
7
+ }
8
+ }
9
+ export function parseApiError(error) {
10
+ // If this is not an AxiosError, return a generic error
11
+ if (!isAxiosError(error)) {
12
+ return new ApiError(0, "ERR_UNKNOWN", "An unknown error occurred");
13
+ }
14
+ const response = error.response;
15
+ // No response = network issues, timeout, offline, DNS, CORS, etc.
16
+ if (!response) {
17
+ return new ApiError(0, "ERR_NETWORK", "Network error — unable to reach the server. Check your connection.");
18
+ }
19
+ return buildApiErrorFromResponse(response);
20
+ }
21
+ function buildApiErrorFromResponse(response) {
22
+ const status = response.status;
23
+ const body = typeof response.data === "object" ? response.data : null;
24
+ const code = body?.code ||
25
+ defaultCodeForStatus(status);
26
+ const message = body?.message ||
27
+ defaultMessageForStatus(status);
28
+ const details = body?.details;
29
+ return new ApiError(status, code, message, details);
30
+ }
31
+ // ---------- Helpers ---------- //
32
+ function isAxiosError(error) {
33
+ return error && error.isAxiosError === true;
34
+ }
35
+ function defaultCodeForStatus(status) {
36
+ switch (status) {
37
+ case 400: return "ERR_BAD_REQUEST";
38
+ case 401: return "ERR_UNAUTHORIZED";
39
+ case 403: return "ERR_FORBIDDEN";
40
+ case 404: return "ERR_NOT_FOUND";
41
+ case 429: return "ERR_RATE_LIMIT";
42
+ case 500: return "ERR_SERVER";
43
+ default: return "ERR_GENERIC";
44
+ }
45
+ }
46
+ function defaultMessageForStatus(status) {
47
+ switch (status) {
48
+ case 400: return "Bad request";
49
+ case 401: return "Unauthorized";
50
+ case 403: return "Forbidden";
51
+ case 404: return "Not found";
52
+ case 429: return "Too many requests — please slow down";
53
+ case 500: return "Server error";
54
+ default: return "Unexpected error";
55
+ }
56
+ }
57
+ //# sourceMappingURL=api.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.types.js","sourceRoot":"","sources":["../../../src/models/http/api.types.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAK/B,YAAY,MAAc,EAAE,IAAY,EAAE,OAAe,EAAE,OAAa;QACpE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IACxC,uDAAuD;IACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,aAAa,EAAE,2BAA2B,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAEhC,kEAAkE;IAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,OAAO,IAAI,QAAQ,CACX,CAAC,EACD,aAAa,EACb,oEAAoE,CAC3E,CAAC;IACN,CAAC;IAED,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAuB;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE/B,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtE,MAAM,IAAI,GACF,IAAI,EAAE,IAAI;QACV,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAErC,MAAM,OAAO,GACL,IAAI,EAAE,OAAO;QACb,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC;IAE9B,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,mCAAmC;AAEnC,SAAS,YAAY,CAAC,KAAU;IAC5B,OAAO,KAAK,IAAK,KAAoB,CAAC,YAAY,KAAK,IAAI,CAAC;AAChE,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IACxC,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,GAAG,CAAC,CAAC,OAAO,iBAAiB,CAAC;QACnC,KAAK,GAAG,CAAC,CAAC,OAAO,kBAAkB,CAAC;QACpC,KAAK,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC;QACjC,KAAK,GAAG,CAAC,CAAC,OAAO,eAAe,CAAC;QACjC,KAAK,GAAG,CAAC,CAAC,OAAO,gBAAgB,CAAC;QAClC,KAAK,GAAG,CAAC,CAAC,OAAO,YAAY,CAAC;QAC9B,OAAO,CAAC,CAAE,OAAO,aAAa,CAAC;IACnC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAc;IAC3C,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,GAAG,CAAC,CAAC,OAAO,aAAa,CAAC;QAC/B,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;QAChC,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;QAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,WAAW,CAAC;QAC7B,KAAK,GAAG,CAAC,CAAC,OAAO,sCAAsC,CAAC;QACxD,KAAK,GAAG,CAAC,CAAC,OAAO,cAAc,CAAC;QAChC,OAAO,CAAC,CAAE,OAAO,kBAAkB,CAAC;IACxC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "meet-my-ride",
3
- "version": "1.3.1",
3
+ "version": "1.4.1",
4
4
  "description": "Private library for the MeetMyRide applications",
5
5
  "repository": {
6
6
  "type": "git",