@meaple-com/core 1.0.1 → 1.0.3

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 CHANGED
@@ -68,6 +68,8 @@ clearGlobalToken();
68
68
  ### Eventos
69
69
 
70
70
  - `events.find()` - Buscar eventos
71
+ - `events.get()` - Buscar evento por ID
72
+ - `events.getBySlug()` - Buscar evento por slug
71
73
  - `events.getProducts()` - Buscar produtos do evento
72
74
  - `events.getTickets()` - Buscar ingressos do evento
73
75
  - `events.getUserEventTickets()` - Buscar ingressos do usuário
@@ -84,7 +86,6 @@ clearGlobalToken();
84
86
 
85
87
  - `uploads.upload()` - Upload arquivos
86
88
  - `payments.getFee()` - Calcular taxa
87
- - `channels.get()` - Ver canal
88
89
 
89
90
  ## Configuração
90
91
 
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance, AxiosRequestConfig } from 'axios';
2
- import { CategoryProps, ChannelProps, EventProps, CheckCouponProps, CouponProps, FindEventsParams, FindEventsProps, FindEventProductsProps, FindEventTicketsProps, FindUserEventTicketsProps, CreateEventReminderProps, CreateOrderProps, CreatedOrderProps, GetOrderProps, CreateTicketFileProps, UpdateUserTicketProps, TransferTicketProps, CreateUserProps, UserProps, UpdateUserProps, UpdateUserEmailProps, UpdateUserPasswordProps, CouponsListProps, UserOrderProps } from '@meaple-com/types';
2
+ import { CategoryProps, CheckCouponProps, CouponProps, FindEventsParams, FindEventsProps, EventProps, FindEventProductsProps, FindEventTicketsProps, FindUserEventTicketsProps, CreateEventReminderProps, CreateOrderProps, CreatedOrderProps, GetOrderProps, GetPlatformFeeProps, PlatformFeeProps, CreateTicketFileProps, UpdateUserTicketProps, TransferTicketProps, CreateUserProps, UserProps, UpdateUserProps, UpdateUserEmailProps, UpdateUserPasswordProps, CouponsListProps, UserOrderProps } from '@meaple-com/types';
3
3
 
4
4
  interface ApiResponse<T = any> {
5
5
  data: T;
@@ -41,18 +41,14 @@ declare class CategoriesResource {
41
41
  find(): Promise<CategoryProps[]>;
42
42
  }
43
43
 
44
- declare class ChannelsResource {
45
- get(slug: string): Promise<ChannelProps>;
46
- getEvents(channelId: string): Promise<EventProps[]>;
47
- getEvent(channelSlug: string, eventSlug: string): Promise<EventProps>;
48
- }
49
-
50
44
  declare class CouponResource {
51
45
  check({ eventId, couponCode }: CheckCouponProps): Promise<CouponProps>;
52
46
  }
53
47
 
54
48
  declare class EventsResource {
55
49
  find(params?: FindEventsParams): Promise<FindEventsProps>;
50
+ get(eventId: string): Promise<EventProps>;
51
+ getBySlug(eventSlug: string): Promise<EventProps>;
56
52
  getProducts(eventId: string, privateToken?: string | null): Promise<FindEventProductsProps>;
57
53
  getTickets(eventId: string, privateToken?: string | null, predecessorIds?: string[]): Promise<FindEventTicketsProps>;
58
54
  getUserEventTickets(eventId: string): Promise<FindUserEventTicketsProps>;
@@ -73,6 +69,10 @@ declare class OrdersResource {
73
69
  get(orderId: string, headers?: Headers): Promise<GetOrderProps>;
74
70
  }
75
71
 
72
+ declare class PaymentsResource {
73
+ getFee(params?: GetPlatformFeeProps): Promise<PlatformFeeProps>;
74
+ }
75
+
76
76
  declare class TicketsResource {
77
77
  createFile(userTicketId: string, params: CreateTicketFileProps): Promise<Blob>;
78
78
  editUserTicket(userTicketId: string, data: UpdateUserTicketProps): Promise<void>;
@@ -111,12 +111,12 @@ declare class MeapleSDK {
111
111
  users: UsersResource;
112
112
  events: EventsResource;
113
113
  orders: OrdersResource;
114
- channels: ChannelsResource;
115
114
  categories: CategoriesResource;
116
115
  coupon: CouponResource;
116
+ payments: PaymentsResource;
117
117
  tickets: TicketsResource;
118
118
  constructor(config: MeapleSDKOptions);
119
119
  setGlobalToken(token: string): void;
120
120
  }
121
121
 
122
- export { CategoriesResource, ChannelsResource, CouponResource, EventsResource, MeapleSDK, type MeapleSDKOptions, OrdersResource, TicketsResource, UsersResource, api };
122
+ export { CategoriesResource, CouponResource, EventsResource, MeapleSDK, type MeapleSDKOptions, OrdersResource, PaymentsResource, TicketsResource, UsersResource, api };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AxiosInstance, AxiosRequestConfig } from 'axios';
2
- import { CategoryProps, ChannelProps, EventProps, CheckCouponProps, CouponProps, FindEventsParams, FindEventsProps, FindEventProductsProps, FindEventTicketsProps, FindUserEventTicketsProps, CreateEventReminderProps, CreateOrderProps, CreatedOrderProps, GetOrderProps, CreateTicketFileProps, UpdateUserTicketProps, TransferTicketProps, CreateUserProps, UserProps, UpdateUserProps, UpdateUserEmailProps, UpdateUserPasswordProps, CouponsListProps, UserOrderProps } from '@meaple-com/types';
2
+ import { CategoryProps, CheckCouponProps, CouponProps, FindEventsParams, FindEventsProps, EventProps, FindEventProductsProps, FindEventTicketsProps, FindUserEventTicketsProps, CreateEventReminderProps, CreateOrderProps, CreatedOrderProps, GetOrderProps, GetPlatformFeeProps, PlatformFeeProps, CreateTicketFileProps, UpdateUserTicketProps, TransferTicketProps, CreateUserProps, UserProps, UpdateUserProps, UpdateUserEmailProps, UpdateUserPasswordProps, CouponsListProps, UserOrderProps } from '@meaple-com/types';
3
3
 
4
4
  interface ApiResponse<T = any> {
5
5
  data: T;
@@ -41,18 +41,14 @@ declare class CategoriesResource {
41
41
  find(): Promise<CategoryProps[]>;
42
42
  }
43
43
 
44
- declare class ChannelsResource {
45
- get(slug: string): Promise<ChannelProps>;
46
- getEvents(channelId: string): Promise<EventProps[]>;
47
- getEvent(channelSlug: string, eventSlug: string): Promise<EventProps>;
48
- }
49
-
50
44
  declare class CouponResource {
51
45
  check({ eventId, couponCode }: CheckCouponProps): Promise<CouponProps>;
52
46
  }
53
47
 
54
48
  declare class EventsResource {
55
49
  find(params?: FindEventsParams): Promise<FindEventsProps>;
50
+ get(eventId: string): Promise<EventProps>;
51
+ getBySlug(eventSlug: string): Promise<EventProps>;
56
52
  getProducts(eventId: string, privateToken?: string | null): Promise<FindEventProductsProps>;
57
53
  getTickets(eventId: string, privateToken?: string | null, predecessorIds?: string[]): Promise<FindEventTicketsProps>;
58
54
  getUserEventTickets(eventId: string): Promise<FindUserEventTicketsProps>;
@@ -73,6 +69,10 @@ declare class OrdersResource {
73
69
  get(orderId: string, headers?: Headers): Promise<GetOrderProps>;
74
70
  }
75
71
 
72
+ declare class PaymentsResource {
73
+ getFee(params?: GetPlatformFeeProps): Promise<PlatformFeeProps>;
74
+ }
75
+
76
76
  declare class TicketsResource {
77
77
  createFile(userTicketId: string, params: CreateTicketFileProps): Promise<Blob>;
78
78
  editUserTicket(userTicketId: string, data: UpdateUserTicketProps): Promise<void>;
@@ -111,12 +111,12 @@ declare class MeapleSDK {
111
111
  users: UsersResource;
112
112
  events: EventsResource;
113
113
  orders: OrdersResource;
114
- channels: ChannelsResource;
115
114
  categories: CategoriesResource;
116
115
  coupon: CouponResource;
116
+ payments: PaymentsResource;
117
117
  tickets: TicketsResource;
118
118
  constructor(config: MeapleSDKOptions);
119
119
  setGlobalToken(token: string): void;
120
120
  }
121
121
 
122
- export { CategoriesResource, ChannelsResource, CouponResource, EventsResource, MeapleSDK, type MeapleSDKOptions, OrdersResource, TicketsResource, UsersResource, api };
122
+ export { CategoriesResource, CouponResource, EventsResource, MeapleSDK, type MeapleSDKOptions, OrdersResource, PaymentsResource, TicketsResource, UsersResource, api };
package/dist/index.js CHANGED
@@ -31,11 +31,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
33
  CategoriesResource: () => CategoriesResource,
34
- ChannelsResource: () => ChannelsResource,
35
34
  CouponResource: () => CouponResource,
36
35
  EventsResource: () => EventsResource,
37
36
  MeapleSDK: () => MeapleSDK,
38
37
  OrdersResource: () => OrdersResource,
38
+ PaymentsResource: () => PaymentsResource,
39
39
  TicketsResource: () => TicketsResource,
40
40
  UsersResource: () => UsersResource,
41
41
  api: () => api
@@ -160,37 +160,17 @@ var api = new SimpleApiClient();
160
160
  var CategoriesResource = class {
161
161
  async find() {
162
162
  const response = await api.get(
163
- "/sdk/categories"
163
+ "/v1/categories"
164
164
  );
165
165
  return response.data.categories;
166
166
  }
167
167
  };
168
168
 
169
- // src/resources/channels/index.ts
170
- var ChannelsResource = class {
171
- async get(slug) {
172
- const result = await api.get(`/sdk/channels/${slug}`);
173
- return result.data;
174
- }
175
- async getEvents(channelId) {
176
- const result = await api.get(
177
- `/sdk/channels/${channelId}/events`
178
- );
179
- return result.data.events;
180
- }
181
- async getEvent(channelSlug, eventSlug) {
182
- const result = await api.get(
183
- `/sdk/channels/${channelSlug}/events/${eventSlug}`
184
- );
185
- return result.data.event;
186
- }
187
- };
188
-
189
169
  // src/resources/coupon/index.ts
190
170
  var CouponResource = class {
191
171
  async check({ eventId, couponCode }) {
192
172
  const response = await api.get(
193
- `/sdk/events/${eventId}/coupons/${couponCode}/check`
173
+ `/v1/events/${eventId}/coupons/${couponCode}/check`
194
174
  );
195
175
  return response.data.coupon;
196
176
  }
@@ -208,15 +188,29 @@ var formatProducts = (product) => ({
208
188
  var EventsResource = class {
209
189
  // Find events
210
190
  async find(params) {
211
- const response = await api.get("/sdk/events", {
191
+ const response = await api.get("/v1/events", {
212
192
  params
213
193
  });
214
194
  return response.data;
215
195
  }
196
+ // Get event by ID
197
+ async get(eventId) {
198
+ const response = await api.get(
199
+ `/v1/events/${eventId}`
200
+ );
201
+ return response.data.event;
202
+ }
203
+ // Get event by slug (uses x-channel-id header)
204
+ async getBySlug(eventSlug) {
205
+ const response = await api.get(
206
+ `/v1/events/${eventSlug}`
207
+ );
208
+ return response.data.event;
209
+ }
216
210
  // Event products
217
211
  async getProducts(eventId, privateToken) {
218
212
  const response = await api.get(
219
- `/sdk/events/${eventId}/products`,
213
+ `/v1/events/${eventId}/products`,
220
214
  { params: { privateToken } }
221
215
  );
222
216
  const products = response.data.products.map(formatProducts);
@@ -225,7 +219,7 @@ var EventsResource = class {
225
219
  // Event tickets
226
220
  async getTickets(eventId, privateToken, predecessorIds) {
227
221
  const response = await api.get(
228
- `/sdk/events/${eventId}/tickets`,
222
+ `/v1/events/${eventId}/tickets`,
229
223
  { params: { privateToken, predecessorIds } }
230
224
  );
231
225
  const tickets = response.data.tickets.map(formatTicket);
@@ -238,14 +232,14 @@ var EventsResource = class {
238
232
  // User event tickets
239
233
  async getUserEventTickets(eventId) {
240
234
  const response = await api.get(
241
- `/sdk/events/${eventId}/user-tickets`
235
+ `/v1/events/${eventId}/user-tickets`
242
236
  );
243
237
  return response.data;
244
238
  }
245
239
  // Create event reminder
246
240
  async createReminder(eventId, data) {
247
241
  const response = await api.post(
248
- `/sdk/events/${eventId}/reminder`,
242
+ `/v1/events/${eventId}/reminder`,
249
243
  data
250
244
  );
251
245
  return response.data;
@@ -255,90 +249,100 @@ var EventsResource = class {
255
249
  // src/resources/orders/index.ts
256
250
  var OrdersResource = class {
257
251
  async create(data) {
258
- const response = await api.post("/sdk/orders", data);
252
+ const response = await api.post("/v1/orders", data);
259
253
  return response.data;
260
254
  }
261
255
  async get(orderId, headers) {
262
- const response = await api.get(`/sdk/orders/${orderId}`, {
256
+ const response = await api.get(`/v1/orders/${orderId}`, {
263
257
  headers
264
258
  });
265
259
  return response.data;
266
260
  }
267
261
  };
268
262
 
263
+ // src/resources/payments/index.ts
264
+ var PaymentsResource = class {
265
+ async getFee(params) {
266
+ const response = await api.get("/v1/payments/fee", {
267
+ params
268
+ });
269
+ return response.data;
270
+ }
271
+ };
272
+
269
273
  // src/resources/tickets/index.ts
270
274
  var TicketsResource = class {
271
275
  async createFile(userTicketId, params) {
272
276
  const response = await api.get(
273
- `/sdk/tickets/user-tickets/${userTicketId}/file`,
277
+ `/v1/tickets/user-tickets/${userTicketId}/file`,
274
278
  { params, responseType: "blob" }
275
279
  );
276
280
  return response.data;
277
281
  }
278
282
  async editUserTicket(userTicketId, data) {
279
- await api.put(`/sdk/tickets/user-tickets/${userTicketId}`, data);
283
+ await api.put(`/v1/tickets/user-tickets/${userTicketId}`, data);
280
284
  }
281
285
  async transfer(ticketId, data) {
282
- await api.post(`/sdk/tickets/${ticketId}/transfer`, data);
286
+ await api.post(`/v1/tickets/${ticketId}/transfer`, data);
283
287
  }
284
288
  };
285
289
 
286
290
  // src/resources/users/index.ts
287
291
  var UsersResource = class {
288
292
  async create(data) {
289
- const response = await api.post("/sdk/users", data);
293
+ const response = await api.post("/v1/users", data);
290
294
  return response.data;
291
295
  }
292
296
  async getMe() {
293
- const response = await api.get("/sdk/users/me");
297
+ const response = await api.get("/v1/users/me");
294
298
  return response.data;
295
299
  }
296
300
  async update(data) {
297
- const response = await api.put("/sdk/users", data);
301
+ const response = await api.put("/v1/users", data);
298
302
  return response.data;
299
303
  }
300
304
  async updateEmail(data) {
301
305
  const response = await api.patch(
302
- "/sdk/users/email",
306
+ "/v1/users/email",
303
307
  data
304
308
  );
305
309
  return response.data;
306
310
  }
307
311
  async updatePassword(data) {
308
312
  const response = await api.patch(
309
- "/sdk/users/password",
313
+ "/v1/users/password",
310
314
  data
311
315
  );
312
316
  return response.data;
313
317
  }
314
318
  async delete() {
315
- const response = await api.delete("/sdk/users");
319
+ const response = await api.delete("/v1/users");
316
320
  return response.data;
317
321
  }
318
322
  async getPromoterCoupons(params = {}) {
319
323
  const response = await api.get(
320
- "/sdk/users/promoters/coupons",
324
+ "/v1/users/promoters/coupons",
321
325
  { params }
322
326
  );
323
327
  return response.data;
324
328
  }
325
329
  async getOrders(params = {}) {
326
330
  const response = await api.get(
327
- "/sdk/users/orders",
331
+ "/v1/users/orders",
328
332
  { params }
329
333
  );
330
334
  return response.data.orders;
331
335
  }
332
336
  async getEvents(params = {}) {
333
337
  const response = await api.get(
334
- "/sdk/users/events",
338
+ "/v1/users/events",
335
339
  { params }
336
340
  );
337
341
  return response.data.events;
338
342
  }
339
343
  async refundOrder(orderId) {
340
344
  const response = await api.post(
341
- `/sdk/users/orders/${orderId}/refund`
345
+ `/v1/users/orders/${orderId}/refund`
342
346
  );
343
347
  return response.data;
344
348
  }
@@ -349,9 +353,9 @@ var MeapleSDK = class {
349
353
  users;
350
354
  events;
351
355
  orders;
352
- channels;
353
356
  categories;
354
357
  coupon;
358
+ payments;
355
359
  tickets;
356
360
  constructor(config) {
357
361
  api.setBaseURL(config.baseURL);
@@ -359,9 +363,9 @@ var MeapleSDK = class {
359
363
  this.users = new UsersResource();
360
364
  this.events = new EventsResource();
361
365
  this.orders = new OrdersResource();
362
- this.channels = new ChannelsResource();
363
366
  this.categories = new CategoriesResource();
364
367
  this.coupon = new CouponResource();
368
+ this.payments = new PaymentsResource();
365
369
  this.tickets = new TicketsResource();
366
370
  }
367
371
  setGlobalToken(token) {
@@ -371,11 +375,11 @@ var MeapleSDK = class {
371
375
  // Annotate the CommonJS export names for ESM import in node:
372
376
  0 && (module.exports = {
373
377
  CategoriesResource,
374
- ChannelsResource,
375
378
  CouponResource,
376
379
  EventsResource,
377
380
  MeapleSDK,
378
381
  OrdersResource,
382
+ PaymentsResource,
379
383
  TicketsResource,
380
384
  UsersResource,
381
385
  api
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/core/http/api.ts","../src/resources/categories/index.ts","../src/resources/channels/index.ts","../src/resources/coupon/index.ts","../src/resources/events/index.ts","../src/resources/orders/index.ts","../src/resources/tickets/index.ts","../src/resources/users/index.ts","../src/meaple-sdk.ts"],"sourcesContent":["export { api } from './core/http/api';\nexport type { MeapleSDKOptions } from './meaple-sdk';\nexport { MeapleSDK } from './meaple-sdk';\n\n// Export resources for use in hooks\nexport { CategoriesResource } from './resources/categories';\nexport { ChannelsResource } from './resources/channels';\nexport { CouponResource } from './resources/coupon';\nexport { EventsResource } from './resources/events';\nexport { OrdersResource } from './resources/orders';\nexport { TicketsResource } from './resources/tickets';\nexport { UsersResource } from './resources/users';\n","import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\n\n// ============================================================================\n// Types & Interfaces\n// ============================================================================\n\nexport interface ApiResponse<T = any> {\n data: T;\n success?: boolean;\n timestamp?: string;\n requestId?: string;\n}\n\nexport interface ApiConfig {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\ninterface RequestInterceptor {\n onRequest(config: any): Promise<any>;\n}\n\n// ============================================================================\n// API Client\n// ============================================================================\n\nexport class SimpleApiClient {\n private axios: AxiosInstance;\n private interceptors: {\n request: RequestInterceptor[];\n response: ((response: any) => any)[];\n } = { request: [], response: [] };\n\n constructor(config: ApiConfig = {}) {\n this.axios = axios.create({\n baseURL: config.baseURL ?? 'http://localhost:1234',\n timeout: config.timeout ?? 30000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n this.setupInterceptors();\n }\n\n // --------------------------------------------------------------------------\n // Configuration Methods\n // --------------------------------------------------------------------------\n\n setDefaultHeader(name: string, value: string): void {\n this.axios.defaults.headers.common[name] = value;\n }\n\n removeDefaultHeader(name: string): void {\n delete this.axios.defaults.headers.common[name];\n }\n\n setBaseURL(baseURL: string): void {\n this.axios.defaults.baseURL = baseURL;\n }\n\n setBearerToken(token: string): void {\n this.setDefaultHeader('Authorization', `Bearer ${token}`);\n }\n\n get axiosInstance(): AxiosInstance {\n return this.axios;\n }\n\n // --------------------------------------------------------------------------\n // Interceptors\n // --------------------------------------------------------------------------\n\n addRequestInterceptor(interceptor: RequestInterceptor): void {\n this.interceptors.request.push(interceptor);\n }\n\n addResponseInterceptor(\n onFulfilled?: (response: any) => any,\n onRejected?: (error: any) => any\n ): void {\n if (onFulfilled) {\n this.interceptors.response.push(onFulfilled);\n }\n if (onRejected) {\n this.axios.interceptors.response.use(undefined, onRejected);\n }\n }\n\n clearInterceptors(): void {\n this.interceptors.request = [];\n this.interceptors.response = [];\n }\n\n // --------------------------------------------------------------------------\n // HTTP Methods\n // --------------------------------------------------------------------------\n\n async get<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.get(url, config);\n return this.formatResponse(response);\n }\n\n async post<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.post(url, data, config);\n return this.formatResponse(response);\n }\n\n async put<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.put(url, data, config);\n return this.formatResponse(response);\n }\n\n async patch<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.patch(url, data, config);\n return this.formatResponse(response);\n }\n\n async delete<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.delete(url, config);\n return this.formatResponse(response);\n }\n\n // --------------------------------------------------------------------------\n // Private Methods\n // --------------------------------------------------------------------------\n\n private setupInterceptors(): void {\n // Request interceptor\n this.axios.interceptors.request.use(async config => {\n let processedConfig = config;\n for (const interceptor of this.interceptors.request) {\n processedConfig = await interceptor.onRequest(processedConfig);\n }\n return processedConfig;\n });\n\n // Response interceptor\n this.axios.interceptors.response.use(response => {\n let processedResponse = response;\n for (const interceptor of this.interceptors.response) {\n processedResponse = interceptor(processedResponse);\n }\n return processedResponse;\n });\n }\n\n private formatResponse<T>(response: AxiosResponse): ApiResponse<T> {\n const requestId = response.headers['x-request-id'];\n\n // Se response.data for um Blob, retornar diretamente sem formatação adicional\n if (response.data instanceof Blob) {\n return {\n data: response.data as any,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n\n return {\n data: response.data,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n}\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport const api = new SimpleApiClient();\n","import { CategoryProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CategoriesResource {\n async find(): Promise<CategoryProps[]> {\n const response = await api.get<{ categories: CategoryProps[] }>(\n '/sdk/categories'\n );\n return response.data.categories;\n }\n}\n","import type {\n ChannelProps,\n EventProps,\n GetChannelEventProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class ChannelsResource {\n async get(slug: string): Promise<ChannelProps> {\n const result = await api.get<ChannelProps>(`/sdk/channels/${slug}`);\n return result.data;\n }\n\n async getEvents(channelId: string): Promise<EventProps[]> {\n const result = await api.get<{ events: EventProps[] }>(\n `/sdk/channels/${channelId}/events`\n );\n return result.data.events;\n }\n\n async getEvent(channelSlug: string, eventSlug: string): Promise<EventProps> {\n const result = await api.get<GetChannelEventProps>(\n `/sdk/channels/${channelSlug}/events/${eventSlug}`\n );\n return result.data.event;\n }\n}\n","import { CheckCouponProps, CouponProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CouponResource {\n async check({ eventId, couponCode }: CheckCouponProps): Promise<CouponProps> {\n const response = await api.get<{ coupon: CouponProps }>(\n `/sdk/events/${eventId}/coupons/${couponCode}/check`\n );\n return response.data.coupon;\n }\n}\n","import type {\n CreateEventReminderProps,\n FindEventProductsProps,\n FindEventsParams,\n FindEventsProps,\n FindEventTicketsProps,\n FindUserEventTicketsProps,\n TicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\n// Helper functions\nconst formatTicket = (ticket: TicketProps): TicketProps => ({\n ...ticket,\n price: Number(ticket.price.toFixed(2)),\n});\n\nconst formatProducts = (product: TicketProps): TicketProps => ({\n ...product,\n price: Number(product.price.toFixed(2)),\n});\n\nexport class EventsResource {\n // Find events\n async find(params?: FindEventsParams): Promise<FindEventsProps> {\n const response = await api.get<FindEventsProps>('/sdk/events', {\n params,\n });\n return response.data;\n }\n\n // Event products\n async getProducts(\n eventId: string,\n privateToken?: string | null\n ): Promise<FindEventProductsProps> {\n const response = await api.get<FindEventProductsProps>(\n `/sdk/events/${eventId}/products`,\n { params: { privateToken } }\n );\n\n const products = response.data.products.map(formatProducts);\n\n return { ...response.data, products };\n }\n\n // Event tickets\n async getTickets(\n eventId: string,\n privateToken?: string | null,\n predecessorIds?: string[]\n ): Promise<FindEventTicketsProps> {\n const response = await api.get<FindEventTicketsProps>(\n `/sdk/events/${eventId}/tickets`,\n { params: { privateToken, predecessorIds } }\n );\n\n const tickets = response.data.tickets.map(formatTicket);\n\n const groups = response.data.groups.map(group => ({\n ...group,\n tickets: group.tickets.map(formatTicket),\n }));\n\n return { ...response.data, tickets, groups };\n }\n\n // User event tickets\n async getUserEventTickets(\n eventId: string\n ): Promise<FindUserEventTicketsProps> {\n const response = await api.get<FindUserEventTicketsProps>(\n `/sdk/events/${eventId}/user-tickets`\n );\n return response.data;\n }\n\n // Create event reminder\n async createReminder(\n eventId: string,\n data: CreateEventReminderProps\n ): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/sdk/events/${eventId}/reminder`,\n data\n );\n return response.data;\n }\n}\n","import type {\n CreatedOrderProps,\n CreateOrderProps,\n GetOrderProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { Headers } from '../../core/types/common';\n\nexport class OrdersResource {\n async create(data: CreateOrderProps): Promise<CreatedOrderProps> {\n const response = await api.post<CreatedOrderProps>('/sdk/orders', data);\n return response.data;\n }\n\n async get(orderId: string, headers?: Headers): Promise<GetOrderProps> {\n const response = await api.get<GetOrderProps>(`/sdk/orders/${orderId}`, {\n headers,\n });\n return response.data;\n }\n}\n","import type {\n CreateTicketFileProps,\n TransferTicketProps,\n UpdateUserTicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class TicketsResource {\n async createFile(\n userTicketId: string,\n params: CreateTicketFileProps\n ): Promise<Blob> {\n const response = await api.get(\n `/sdk/tickets/user-tickets/${userTicketId}/file`,\n { params, responseType: 'blob' }\n );\n return response.data;\n }\n\n async editUserTicket(\n userTicketId: string,\n data: UpdateUserTicketProps\n ): Promise<void> {\n await api.put(`/sdk/tickets/user-tickets/${userTicketId}`, data);\n }\n\n async transfer(ticketId: string, data: TransferTicketProps): Promise<void> {\n await api.post(`/sdk/tickets/${ticketId}/transfer`, data);\n }\n}\n","import type {\n CouponsListProps,\n CreateUserProps,\n EventProps,\n UpdateUserEmailProps,\n UpdateUserPasswordProps,\n UpdateUserProps,\n UserOrderProps,\n UserProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { QueryParams } from '../../core/types/common';\n\nexport class UsersResource {\n async create(data: CreateUserProps): Promise<UserProps> {\n const response = await api.post<UserProps>('/sdk/users', data);\n return response.data;\n }\n\n async getMe(): Promise<UserProps> {\n const response = await api.get<UserProps>('/sdk/users/me');\n return response.data;\n }\n\n async update(data: UpdateUserProps): Promise<UserProps> {\n const response = await api.put<UserProps>('/sdk/users', data);\n return response.data;\n }\n\n async updateEmail(data: UpdateUserEmailProps): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/sdk/users/email',\n data\n );\n return response.data;\n }\n\n async updatePassword(\n data: UpdateUserPasswordProps\n ): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/sdk/users/password',\n data\n );\n return response.data;\n }\n\n async delete(): Promise<{ message: string }> {\n const response = await api.delete<{ message: string }>('/sdk/users');\n return response.data;\n }\n\n async getPromoterCoupons(\n params: { limit?: number; cursor?: string } = {}\n ): Promise<CouponsListProps> {\n const response = await api.get<CouponsListProps>(\n '/sdk/users/promoters/coupons',\n { params }\n );\n return response.data;\n }\n\n async getOrders(params: QueryParams = {}): Promise<UserOrderProps[]> {\n const response = await api.get<{ orders: UserOrderProps[] }>(\n '/sdk/users/orders',\n { params }\n );\n return response.data.orders;\n }\n\n async getEvents(params: QueryParams = {}): Promise<EventProps[]> {\n const response = await api.get<{ events: EventProps[] }>(\n '/sdk/users/events',\n { params }\n );\n return response.data.events;\n }\n\n async refundOrder(orderId: string): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/sdk/users/orders/${orderId}/refund`\n );\n return response.data;\n }\n}\n","import { api } from './core/http/api';\nimport { CategoriesResource } from './resources/categories';\nimport { ChannelsResource } from './resources/channels';\nimport { CouponResource } from './resources/coupon';\nimport { EventsResource } from './resources/events';\nimport { OrdersResource } from './resources/orders';\nimport { TicketsResource } from './resources/tickets';\nimport { UsersResource } from './resources/users';\n\nexport interface MeapleSDKOptions {\n publicKey: string;\n baseURL: string;\n}\n\nexport class MeapleSDK {\n public users: UsersResource;\n public events: EventsResource;\n public orders: OrdersResource;\n public channels: ChannelsResource;\n public categories: CategoriesResource;\n public coupon: CouponResource;\n public tickets: TicketsResource;\n\n constructor(config: MeapleSDKOptions) {\n // Configura a instância global de API\n api.setBaseURL(config.baseURL);\n api.setDefaultHeader('X-Channel-Id', config.publicKey);\n\n // Inicializa todos os recursos\n this.users = new UsersResource();\n this.events = new EventsResource();\n this.orders = new OrdersResource();\n this.channels = new ChannelsResource();\n this.categories = new CategoriesResource();\n this.coupon = new CouponResource();\n this.tickets = new TicketsResource();\n }\n\n setGlobalToken(token: string): void {\n api.setBearerToken(token);\n }\n}\n"],"mappings":"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","names":["axios"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/core/http/api.ts","../src/resources/categories/index.ts","../src/resources/coupon/index.ts","../src/resources/events/index.ts","../src/resources/orders/index.ts","../src/resources/payments/index.ts","../src/resources/tickets/index.ts","../src/resources/users/index.ts","../src/meaple-sdk.ts"],"sourcesContent":["export { api } from './core/http/api';\nexport type { MeapleSDKOptions } from './meaple-sdk';\nexport { MeapleSDK } from './meaple-sdk';\n\n// Export resources for use in hooks\nexport { CategoriesResource } from './resources/categories';\nexport { CouponResource } from './resources/coupon';\nexport { EventsResource } from './resources/events';\nexport { OrdersResource } from './resources/orders';\nexport { PaymentsResource } from './resources/payments';\nexport { TicketsResource } from './resources/tickets';\nexport { UsersResource } from './resources/users';\n","import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\n\n// ============================================================================\n// Types & Interfaces\n// ============================================================================\n\nexport interface ApiResponse<T = any> {\n data: T;\n success?: boolean;\n timestamp?: string;\n requestId?: string;\n}\n\nexport interface ApiConfig {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\ninterface RequestInterceptor {\n onRequest(config: any): Promise<any>;\n}\n\n// ============================================================================\n// API Client\n// ============================================================================\n\nexport class SimpleApiClient {\n private axios: AxiosInstance;\n private interceptors: {\n request: RequestInterceptor[];\n response: ((response: any) => any)[];\n } = { request: [], response: [] };\n\n constructor(config: ApiConfig = {}) {\n this.axios = axios.create({\n baseURL: config.baseURL ?? 'http://localhost:1234',\n timeout: config.timeout ?? 30000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n this.setupInterceptors();\n }\n\n // --------------------------------------------------------------------------\n // Configuration Methods\n // --------------------------------------------------------------------------\n\n setDefaultHeader(name: string, value: string): void {\n this.axios.defaults.headers.common[name] = value;\n }\n\n removeDefaultHeader(name: string): void {\n delete this.axios.defaults.headers.common[name];\n }\n\n setBaseURL(baseURL: string): void {\n this.axios.defaults.baseURL = baseURL;\n }\n\n setBearerToken(token: string): void {\n this.setDefaultHeader('Authorization', `Bearer ${token}`);\n }\n\n get axiosInstance(): AxiosInstance {\n return this.axios;\n }\n\n // --------------------------------------------------------------------------\n // Interceptors\n // --------------------------------------------------------------------------\n\n addRequestInterceptor(interceptor: RequestInterceptor): void {\n this.interceptors.request.push(interceptor);\n }\n\n addResponseInterceptor(\n onFulfilled?: (response: any) => any,\n onRejected?: (error: any) => any\n ): void {\n if (onFulfilled) {\n this.interceptors.response.push(onFulfilled);\n }\n if (onRejected) {\n this.axios.interceptors.response.use(undefined, onRejected);\n }\n }\n\n clearInterceptors(): void {\n this.interceptors.request = [];\n this.interceptors.response = [];\n }\n\n // --------------------------------------------------------------------------\n // HTTP Methods\n // --------------------------------------------------------------------------\n\n async get<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.get(url, config);\n return this.formatResponse(response);\n }\n\n async post<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.post(url, data, config);\n return this.formatResponse(response);\n }\n\n async put<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.put(url, data, config);\n return this.formatResponse(response);\n }\n\n async patch<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.patch(url, data, config);\n return this.formatResponse(response);\n }\n\n async delete<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.delete(url, config);\n return this.formatResponse(response);\n }\n\n // --------------------------------------------------------------------------\n // Private Methods\n // --------------------------------------------------------------------------\n\n private setupInterceptors(): void {\n // Request interceptor\n this.axios.interceptors.request.use(async config => {\n let processedConfig = config;\n for (const interceptor of this.interceptors.request) {\n processedConfig = await interceptor.onRequest(processedConfig);\n }\n return processedConfig;\n });\n\n // Response interceptor\n this.axios.interceptors.response.use(response => {\n let processedResponse = response;\n for (const interceptor of this.interceptors.response) {\n processedResponse = interceptor(processedResponse);\n }\n return processedResponse;\n });\n }\n\n private formatResponse<T>(response: AxiosResponse): ApiResponse<T> {\n const requestId = response.headers['x-request-id'];\n\n // Se response.data for um Blob, retornar diretamente sem formatação adicional\n if (response.data instanceof Blob) {\n return {\n data: response.data as any,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n\n return {\n data: response.data,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n}\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport const api = new SimpleApiClient();\n","import { CategoryProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CategoriesResource {\n async find(): Promise<CategoryProps[]> {\n const response = await api.get<{ categories: CategoryProps[] }>(\n '/v1/categories'\n );\n return response.data.categories;\n }\n}\n","import { CheckCouponProps, CouponProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CouponResource {\n async check({ eventId, couponCode }: CheckCouponProps): Promise<CouponProps> {\n const response = await api.get<{ coupon: CouponProps }>(\n `/v1/events/${eventId}/coupons/${couponCode}/check`\n );\n return response.data.coupon;\n }\n}\n","import type {\n CreateEventReminderProps,\n EventProps,\n FindEventProductsProps,\n FindEventsParams,\n FindEventsProps,\n FindEventTicketsProps,\n FindUserEventTicketsProps,\n GetChannelEventProps,\n TicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\n// Helper functions\nconst formatTicket = (ticket: TicketProps): TicketProps => ({\n ...ticket,\n price: Number(ticket.price.toFixed(2)),\n});\n\nconst formatProducts = (product: TicketProps): TicketProps => ({\n ...product,\n price: Number(product.price.toFixed(2)),\n});\n\nexport class EventsResource {\n // Find events\n async find(params?: FindEventsParams): Promise<FindEventsProps> {\n const response = await api.get<FindEventsProps>('/v1/events', {\n params,\n });\n return response.data;\n }\n\n // Get event by ID\n async get(eventId: string): Promise<EventProps> {\n const response = await api.get<GetChannelEventProps>(\n `/v1/events/${eventId}`\n );\n return response.data.event;\n }\n\n // Get event by slug (uses x-channel-id header)\n async getBySlug(eventSlug: string): Promise<EventProps> {\n const response = await api.get<GetChannelEventProps>(\n `/v1/events/${eventSlug}`\n );\n return response.data.event;\n }\n\n // Event products\n async getProducts(\n eventId: string,\n privateToken?: string | null\n ): Promise<FindEventProductsProps> {\n const response = await api.get<FindEventProductsProps>(\n `/v1/events/${eventId}/products`,\n { params: { privateToken } }\n );\n\n const products = response.data.products.map(formatProducts);\n\n return { ...response.data, products };\n }\n\n // Event tickets\n async getTickets(\n eventId: string,\n privateToken?: string | null,\n predecessorIds?: string[]\n ): Promise<FindEventTicketsProps> {\n const response = await api.get<FindEventTicketsProps>(\n `/v1/events/${eventId}/tickets`,\n { params: { privateToken, predecessorIds } }\n );\n\n const tickets = response.data.tickets.map(formatTicket);\n\n const groups = response.data.groups.map(group => ({\n ...group,\n tickets: group.tickets.map(formatTicket),\n }));\n\n return { ...response.data, tickets, groups };\n }\n\n // User event tickets\n async getUserEventTickets(\n eventId: string\n ): Promise<FindUserEventTicketsProps> {\n const response = await api.get<FindUserEventTicketsProps>(\n `/v1/events/${eventId}/user-tickets`\n );\n return response.data;\n }\n\n // Create event reminder\n async createReminder(\n eventId: string,\n data: CreateEventReminderProps\n ): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/v1/events/${eventId}/reminder`,\n data\n );\n return response.data;\n }\n}\n","import type {\n CreatedOrderProps,\n CreateOrderProps,\n GetOrderProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { Headers } from '../../core/types/common';\n\nexport class OrdersResource {\n async create(data: CreateOrderProps): Promise<CreatedOrderProps> {\n const response = await api.post<CreatedOrderProps>('/v1/orders', data);\n return response.data;\n }\n\n async get(orderId: string, headers?: Headers): Promise<GetOrderProps> {\n const response = await api.get<GetOrderProps>(`/v1/orders/${orderId}`, {\n headers,\n });\n return response.data;\n }\n}\n","import type { GetPlatformFeeProps, PlatformFeeProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class PaymentsResource {\n async getFee(params?: GetPlatformFeeProps): Promise<PlatformFeeProps> {\n const response = await api.get<PlatformFeeProps>('/v1/payments/fee', {\n params,\n });\n return response.data;\n }\n}\n","import type {\n CreateTicketFileProps,\n TransferTicketProps,\n UpdateUserTicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class TicketsResource {\n async createFile(\n userTicketId: string,\n params: CreateTicketFileProps\n ): Promise<Blob> {\n const response = await api.get(\n `/v1/tickets/user-tickets/${userTicketId}/file`,\n { params, responseType: 'blob' }\n );\n return response.data;\n }\n\n async editUserTicket(\n userTicketId: string,\n data: UpdateUserTicketProps\n ): Promise<void> {\n await api.put(`/v1/tickets/user-tickets/${userTicketId}`, data);\n }\n\n async transfer(ticketId: string, data: TransferTicketProps): Promise<void> {\n await api.post(`/v1/tickets/${ticketId}/transfer`, data);\n }\n}\n","import type {\n CouponsListProps,\n CreateUserProps,\n EventProps,\n UpdateUserEmailProps,\n UpdateUserPasswordProps,\n UpdateUserProps,\n UserOrderProps,\n UserProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { QueryParams } from '../../core/types/common';\n\nexport class UsersResource {\n async create(data: CreateUserProps): Promise<UserProps> {\n const response = await api.post<UserProps>('/v1/users', data);\n return response.data;\n }\n\n async getMe(): Promise<UserProps> {\n const response = await api.get<UserProps>('/v1/users/me');\n return response.data;\n }\n\n async update(data: UpdateUserProps): Promise<UserProps> {\n const response = await api.put<UserProps>('/v1/users', data);\n return response.data;\n }\n\n async updateEmail(data: UpdateUserEmailProps): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/v1/users/email',\n data\n );\n return response.data;\n }\n\n async updatePassword(\n data: UpdateUserPasswordProps\n ): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/v1/users/password',\n data\n );\n return response.data;\n }\n\n async delete(): Promise<{ message: string }> {\n const response = await api.delete<{ message: string }>('/v1/users');\n return response.data;\n }\n\n async getPromoterCoupons(\n params: { limit?: number; cursor?: string } = {}\n ): Promise<CouponsListProps> {\n const response = await api.get<CouponsListProps>(\n '/v1/users/promoters/coupons',\n { params }\n );\n return response.data;\n }\n\n async getOrders(params: QueryParams = {}): Promise<UserOrderProps[]> {\n const response = await api.get<{ orders: UserOrderProps[] }>(\n '/v1/users/orders',\n { params }\n );\n return response.data.orders;\n }\n\n async getEvents(params: QueryParams = {}): Promise<EventProps[]> {\n const response = await api.get<{ events: EventProps[] }>(\n '/v1/users/events',\n { params }\n );\n return response.data.events;\n }\n\n async refundOrder(orderId: string): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/v1/users/orders/${orderId}/refund`\n );\n return response.data;\n }\n}\n","import { api } from './core/http/api';\nimport { CategoriesResource } from './resources/categories';\nimport { CouponResource } from './resources/coupon';\nimport { EventsResource } from './resources/events';\nimport { OrdersResource } from './resources/orders';\nimport { PaymentsResource } from './resources/payments';\nimport { TicketsResource } from './resources/tickets';\nimport { UsersResource } from './resources/users';\n\nexport interface MeapleSDKOptions {\n publicKey: string;\n baseURL: string;\n}\n\nexport class MeapleSDK {\n public users: UsersResource;\n public events: EventsResource;\n public orders: OrdersResource;\n public categories: CategoriesResource;\n public coupon: CouponResource;\n public payments: PaymentsResource;\n public tickets: TicketsResource;\n\n constructor(config: MeapleSDKOptions) {\n // Configura a instância global de API\n api.setBaseURL(config.baseURL);\n api.setDefaultHeader('X-Channel-Id', config.publicKey);\n\n // Inicializa todos os recursos\n this.users = new UsersResource();\n this.events = new EventsResource();\n this.orders = new OrdersResource();\n this.categories = new CategoriesResource();\n this.coupon = new CouponResource();\n this.payments = new PaymentsResource();\n this.tickets = new TicketsResource();\n }\n\n setGlobalToken(token: string): void {\n api.setBearerToken(token);\n }\n}\n"],"mappings":"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","names":["axios"]}
package/dist/index.mjs CHANGED
@@ -116,37 +116,17 @@ var api = new SimpleApiClient();
116
116
  var CategoriesResource = class {
117
117
  async find() {
118
118
  const response = await api.get(
119
- "/sdk/categories"
119
+ "/v1/categories"
120
120
  );
121
121
  return response.data.categories;
122
122
  }
123
123
  };
124
124
 
125
- // src/resources/channels/index.ts
126
- var ChannelsResource = class {
127
- async get(slug) {
128
- const result = await api.get(`/sdk/channels/${slug}`);
129
- return result.data;
130
- }
131
- async getEvents(channelId) {
132
- const result = await api.get(
133
- `/sdk/channels/${channelId}/events`
134
- );
135
- return result.data.events;
136
- }
137
- async getEvent(channelSlug, eventSlug) {
138
- const result = await api.get(
139
- `/sdk/channels/${channelSlug}/events/${eventSlug}`
140
- );
141
- return result.data.event;
142
- }
143
- };
144
-
145
125
  // src/resources/coupon/index.ts
146
126
  var CouponResource = class {
147
127
  async check({ eventId, couponCode }) {
148
128
  const response = await api.get(
149
- `/sdk/events/${eventId}/coupons/${couponCode}/check`
129
+ `/v1/events/${eventId}/coupons/${couponCode}/check`
150
130
  );
151
131
  return response.data.coupon;
152
132
  }
@@ -164,15 +144,29 @@ var formatProducts = (product) => ({
164
144
  var EventsResource = class {
165
145
  // Find events
166
146
  async find(params) {
167
- const response = await api.get("/sdk/events", {
147
+ const response = await api.get("/v1/events", {
168
148
  params
169
149
  });
170
150
  return response.data;
171
151
  }
152
+ // Get event by ID
153
+ async get(eventId) {
154
+ const response = await api.get(
155
+ `/v1/events/${eventId}`
156
+ );
157
+ return response.data.event;
158
+ }
159
+ // Get event by slug (uses x-channel-id header)
160
+ async getBySlug(eventSlug) {
161
+ const response = await api.get(
162
+ `/v1/events/${eventSlug}`
163
+ );
164
+ return response.data.event;
165
+ }
172
166
  // Event products
173
167
  async getProducts(eventId, privateToken) {
174
168
  const response = await api.get(
175
- `/sdk/events/${eventId}/products`,
169
+ `/v1/events/${eventId}/products`,
176
170
  { params: { privateToken } }
177
171
  );
178
172
  const products = response.data.products.map(formatProducts);
@@ -181,7 +175,7 @@ var EventsResource = class {
181
175
  // Event tickets
182
176
  async getTickets(eventId, privateToken, predecessorIds) {
183
177
  const response = await api.get(
184
- `/sdk/events/${eventId}/tickets`,
178
+ `/v1/events/${eventId}/tickets`,
185
179
  { params: { privateToken, predecessorIds } }
186
180
  );
187
181
  const tickets = response.data.tickets.map(formatTicket);
@@ -194,14 +188,14 @@ var EventsResource = class {
194
188
  // User event tickets
195
189
  async getUserEventTickets(eventId) {
196
190
  const response = await api.get(
197
- `/sdk/events/${eventId}/user-tickets`
191
+ `/v1/events/${eventId}/user-tickets`
198
192
  );
199
193
  return response.data;
200
194
  }
201
195
  // Create event reminder
202
196
  async createReminder(eventId, data) {
203
197
  const response = await api.post(
204
- `/sdk/events/${eventId}/reminder`,
198
+ `/v1/events/${eventId}/reminder`,
205
199
  data
206
200
  );
207
201
  return response.data;
@@ -211,90 +205,100 @@ var EventsResource = class {
211
205
  // src/resources/orders/index.ts
212
206
  var OrdersResource = class {
213
207
  async create(data) {
214
- const response = await api.post("/sdk/orders", data);
208
+ const response = await api.post("/v1/orders", data);
215
209
  return response.data;
216
210
  }
217
211
  async get(orderId, headers) {
218
- const response = await api.get(`/sdk/orders/${orderId}`, {
212
+ const response = await api.get(`/v1/orders/${orderId}`, {
219
213
  headers
220
214
  });
221
215
  return response.data;
222
216
  }
223
217
  };
224
218
 
219
+ // src/resources/payments/index.ts
220
+ var PaymentsResource = class {
221
+ async getFee(params) {
222
+ const response = await api.get("/v1/payments/fee", {
223
+ params
224
+ });
225
+ return response.data;
226
+ }
227
+ };
228
+
225
229
  // src/resources/tickets/index.ts
226
230
  var TicketsResource = class {
227
231
  async createFile(userTicketId, params) {
228
232
  const response = await api.get(
229
- `/sdk/tickets/user-tickets/${userTicketId}/file`,
233
+ `/v1/tickets/user-tickets/${userTicketId}/file`,
230
234
  { params, responseType: "blob" }
231
235
  );
232
236
  return response.data;
233
237
  }
234
238
  async editUserTicket(userTicketId, data) {
235
- await api.put(`/sdk/tickets/user-tickets/${userTicketId}`, data);
239
+ await api.put(`/v1/tickets/user-tickets/${userTicketId}`, data);
236
240
  }
237
241
  async transfer(ticketId, data) {
238
- await api.post(`/sdk/tickets/${ticketId}/transfer`, data);
242
+ await api.post(`/v1/tickets/${ticketId}/transfer`, data);
239
243
  }
240
244
  };
241
245
 
242
246
  // src/resources/users/index.ts
243
247
  var UsersResource = class {
244
248
  async create(data) {
245
- const response = await api.post("/sdk/users", data);
249
+ const response = await api.post("/v1/users", data);
246
250
  return response.data;
247
251
  }
248
252
  async getMe() {
249
- const response = await api.get("/sdk/users/me");
253
+ const response = await api.get("/v1/users/me");
250
254
  return response.data;
251
255
  }
252
256
  async update(data) {
253
- const response = await api.put("/sdk/users", data);
257
+ const response = await api.put("/v1/users", data);
254
258
  return response.data;
255
259
  }
256
260
  async updateEmail(data) {
257
261
  const response = await api.patch(
258
- "/sdk/users/email",
262
+ "/v1/users/email",
259
263
  data
260
264
  );
261
265
  return response.data;
262
266
  }
263
267
  async updatePassword(data) {
264
268
  const response = await api.patch(
265
- "/sdk/users/password",
269
+ "/v1/users/password",
266
270
  data
267
271
  );
268
272
  return response.data;
269
273
  }
270
274
  async delete() {
271
- const response = await api.delete("/sdk/users");
275
+ const response = await api.delete("/v1/users");
272
276
  return response.data;
273
277
  }
274
278
  async getPromoterCoupons(params = {}) {
275
279
  const response = await api.get(
276
- "/sdk/users/promoters/coupons",
280
+ "/v1/users/promoters/coupons",
277
281
  { params }
278
282
  );
279
283
  return response.data;
280
284
  }
281
285
  async getOrders(params = {}) {
282
286
  const response = await api.get(
283
- "/sdk/users/orders",
287
+ "/v1/users/orders",
284
288
  { params }
285
289
  );
286
290
  return response.data.orders;
287
291
  }
288
292
  async getEvents(params = {}) {
289
293
  const response = await api.get(
290
- "/sdk/users/events",
294
+ "/v1/users/events",
291
295
  { params }
292
296
  );
293
297
  return response.data.events;
294
298
  }
295
299
  async refundOrder(orderId) {
296
300
  const response = await api.post(
297
- `/sdk/users/orders/${orderId}/refund`
301
+ `/v1/users/orders/${orderId}/refund`
298
302
  );
299
303
  return response.data;
300
304
  }
@@ -305,9 +309,9 @@ var MeapleSDK = class {
305
309
  users;
306
310
  events;
307
311
  orders;
308
- channels;
309
312
  categories;
310
313
  coupon;
314
+ payments;
311
315
  tickets;
312
316
  constructor(config) {
313
317
  api.setBaseURL(config.baseURL);
@@ -315,9 +319,9 @@ var MeapleSDK = class {
315
319
  this.users = new UsersResource();
316
320
  this.events = new EventsResource();
317
321
  this.orders = new OrdersResource();
318
- this.channels = new ChannelsResource();
319
322
  this.categories = new CategoriesResource();
320
323
  this.coupon = new CouponResource();
324
+ this.payments = new PaymentsResource();
321
325
  this.tickets = new TicketsResource();
322
326
  }
323
327
  setGlobalToken(token) {
@@ -326,11 +330,11 @@ var MeapleSDK = class {
326
330
  };
327
331
  export {
328
332
  CategoriesResource,
329
- ChannelsResource,
330
333
  CouponResource,
331
334
  EventsResource,
332
335
  MeapleSDK,
333
336
  OrdersResource,
337
+ PaymentsResource,
334
338
  TicketsResource,
335
339
  UsersResource,
336
340
  api
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/http/api.ts","../src/resources/categories/index.ts","../src/resources/channels/index.ts","../src/resources/coupon/index.ts","../src/resources/events/index.ts","../src/resources/orders/index.ts","../src/resources/tickets/index.ts","../src/resources/users/index.ts","../src/meaple-sdk.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\n\n// ============================================================================\n// Types & Interfaces\n// ============================================================================\n\nexport interface ApiResponse<T = any> {\n data: T;\n success?: boolean;\n timestamp?: string;\n requestId?: string;\n}\n\nexport interface ApiConfig {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\ninterface RequestInterceptor {\n onRequest(config: any): Promise<any>;\n}\n\n// ============================================================================\n// API Client\n// ============================================================================\n\nexport class SimpleApiClient {\n private axios: AxiosInstance;\n private interceptors: {\n request: RequestInterceptor[];\n response: ((response: any) => any)[];\n } = { request: [], response: [] };\n\n constructor(config: ApiConfig = {}) {\n this.axios = axios.create({\n baseURL: config.baseURL ?? 'http://localhost:1234',\n timeout: config.timeout ?? 30000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n this.setupInterceptors();\n }\n\n // --------------------------------------------------------------------------\n // Configuration Methods\n // --------------------------------------------------------------------------\n\n setDefaultHeader(name: string, value: string): void {\n this.axios.defaults.headers.common[name] = value;\n }\n\n removeDefaultHeader(name: string): void {\n delete this.axios.defaults.headers.common[name];\n }\n\n setBaseURL(baseURL: string): void {\n this.axios.defaults.baseURL = baseURL;\n }\n\n setBearerToken(token: string): void {\n this.setDefaultHeader('Authorization', `Bearer ${token}`);\n }\n\n get axiosInstance(): AxiosInstance {\n return this.axios;\n }\n\n // --------------------------------------------------------------------------\n // Interceptors\n // --------------------------------------------------------------------------\n\n addRequestInterceptor(interceptor: RequestInterceptor): void {\n this.interceptors.request.push(interceptor);\n }\n\n addResponseInterceptor(\n onFulfilled?: (response: any) => any,\n onRejected?: (error: any) => any\n ): void {\n if (onFulfilled) {\n this.interceptors.response.push(onFulfilled);\n }\n if (onRejected) {\n this.axios.interceptors.response.use(undefined, onRejected);\n }\n }\n\n clearInterceptors(): void {\n this.interceptors.request = [];\n this.interceptors.response = [];\n }\n\n // --------------------------------------------------------------------------\n // HTTP Methods\n // --------------------------------------------------------------------------\n\n async get<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.get(url, config);\n return this.formatResponse(response);\n }\n\n async post<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.post(url, data, config);\n return this.formatResponse(response);\n }\n\n async put<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.put(url, data, config);\n return this.formatResponse(response);\n }\n\n async patch<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.patch(url, data, config);\n return this.formatResponse(response);\n }\n\n async delete<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.delete(url, config);\n return this.formatResponse(response);\n }\n\n // --------------------------------------------------------------------------\n // Private Methods\n // --------------------------------------------------------------------------\n\n private setupInterceptors(): void {\n // Request interceptor\n this.axios.interceptors.request.use(async config => {\n let processedConfig = config;\n for (const interceptor of this.interceptors.request) {\n processedConfig = await interceptor.onRequest(processedConfig);\n }\n return processedConfig;\n });\n\n // Response interceptor\n this.axios.interceptors.response.use(response => {\n let processedResponse = response;\n for (const interceptor of this.interceptors.response) {\n processedResponse = interceptor(processedResponse);\n }\n return processedResponse;\n });\n }\n\n private formatResponse<T>(response: AxiosResponse): ApiResponse<T> {\n const requestId = response.headers['x-request-id'];\n\n // Se response.data for um Blob, retornar diretamente sem formatação adicional\n if (response.data instanceof Blob) {\n return {\n data: response.data as any,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n\n return {\n data: response.data,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n}\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport const api = new SimpleApiClient();\n","import { CategoryProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CategoriesResource {\n async find(): Promise<CategoryProps[]> {\n const response = await api.get<{ categories: CategoryProps[] }>(\n '/sdk/categories'\n );\n return response.data.categories;\n }\n}\n","import type {\n ChannelProps,\n EventProps,\n GetChannelEventProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class ChannelsResource {\n async get(slug: string): Promise<ChannelProps> {\n const result = await api.get<ChannelProps>(`/sdk/channels/${slug}`);\n return result.data;\n }\n\n async getEvents(channelId: string): Promise<EventProps[]> {\n const result = await api.get<{ events: EventProps[] }>(\n `/sdk/channels/${channelId}/events`\n );\n return result.data.events;\n }\n\n async getEvent(channelSlug: string, eventSlug: string): Promise<EventProps> {\n const result = await api.get<GetChannelEventProps>(\n `/sdk/channels/${channelSlug}/events/${eventSlug}`\n );\n return result.data.event;\n }\n}\n","import { CheckCouponProps, CouponProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CouponResource {\n async check({ eventId, couponCode }: CheckCouponProps): Promise<CouponProps> {\n const response = await api.get<{ coupon: CouponProps }>(\n `/sdk/events/${eventId}/coupons/${couponCode}/check`\n );\n return response.data.coupon;\n }\n}\n","import type {\n CreateEventReminderProps,\n FindEventProductsProps,\n FindEventsParams,\n FindEventsProps,\n FindEventTicketsProps,\n FindUserEventTicketsProps,\n TicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\n// Helper functions\nconst formatTicket = (ticket: TicketProps): TicketProps => ({\n ...ticket,\n price: Number(ticket.price.toFixed(2)),\n});\n\nconst formatProducts = (product: TicketProps): TicketProps => ({\n ...product,\n price: Number(product.price.toFixed(2)),\n});\n\nexport class EventsResource {\n // Find events\n async find(params?: FindEventsParams): Promise<FindEventsProps> {\n const response = await api.get<FindEventsProps>('/sdk/events', {\n params,\n });\n return response.data;\n }\n\n // Event products\n async getProducts(\n eventId: string,\n privateToken?: string | null\n ): Promise<FindEventProductsProps> {\n const response = await api.get<FindEventProductsProps>(\n `/sdk/events/${eventId}/products`,\n { params: { privateToken } }\n );\n\n const products = response.data.products.map(formatProducts);\n\n return { ...response.data, products };\n }\n\n // Event tickets\n async getTickets(\n eventId: string,\n privateToken?: string | null,\n predecessorIds?: string[]\n ): Promise<FindEventTicketsProps> {\n const response = await api.get<FindEventTicketsProps>(\n `/sdk/events/${eventId}/tickets`,\n { params: { privateToken, predecessorIds } }\n );\n\n const tickets = response.data.tickets.map(formatTicket);\n\n const groups = response.data.groups.map(group => ({\n ...group,\n tickets: group.tickets.map(formatTicket),\n }));\n\n return { ...response.data, tickets, groups };\n }\n\n // User event tickets\n async getUserEventTickets(\n eventId: string\n ): Promise<FindUserEventTicketsProps> {\n const response = await api.get<FindUserEventTicketsProps>(\n `/sdk/events/${eventId}/user-tickets`\n );\n return response.data;\n }\n\n // Create event reminder\n async createReminder(\n eventId: string,\n data: CreateEventReminderProps\n ): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/sdk/events/${eventId}/reminder`,\n data\n );\n return response.data;\n }\n}\n","import type {\n CreatedOrderProps,\n CreateOrderProps,\n GetOrderProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { Headers } from '../../core/types/common';\n\nexport class OrdersResource {\n async create(data: CreateOrderProps): Promise<CreatedOrderProps> {\n const response = await api.post<CreatedOrderProps>('/sdk/orders', data);\n return response.data;\n }\n\n async get(orderId: string, headers?: Headers): Promise<GetOrderProps> {\n const response = await api.get<GetOrderProps>(`/sdk/orders/${orderId}`, {\n headers,\n });\n return response.data;\n }\n}\n","import type {\n CreateTicketFileProps,\n TransferTicketProps,\n UpdateUserTicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class TicketsResource {\n async createFile(\n userTicketId: string,\n params: CreateTicketFileProps\n ): Promise<Blob> {\n const response = await api.get(\n `/sdk/tickets/user-tickets/${userTicketId}/file`,\n { params, responseType: 'blob' }\n );\n return response.data;\n }\n\n async editUserTicket(\n userTicketId: string,\n data: UpdateUserTicketProps\n ): Promise<void> {\n await api.put(`/sdk/tickets/user-tickets/${userTicketId}`, data);\n }\n\n async transfer(ticketId: string, data: TransferTicketProps): Promise<void> {\n await api.post(`/sdk/tickets/${ticketId}/transfer`, data);\n }\n}\n","import type {\n CouponsListProps,\n CreateUserProps,\n EventProps,\n UpdateUserEmailProps,\n UpdateUserPasswordProps,\n UpdateUserProps,\n UserOrderProps,\n UserProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { QueryParams } from '../../core/types/common';\n\nexport class UsersResource {\n async create(data: CreateUserProps): Promise<UserProps> {\n const response = await api.post<UserProps>('/sdk/users', data);\n return response.data;\n }\n\n async getMe(): Promise<UserProps> {\n const response = await api.get<UserProps>('/sdk/users/me');\n return response.data;\n }\n\n async update(data: UpdateUserProps): Promise<UserProps> {\n const response = await api.put<UserProps>('/sdk/users', data);\n return response.data;\n }\n\n async updateEmail(data: UpdateUserEmailProps): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/sdk/users/email',\n data\n );\n return response.data;\n }\n\n async updatePassword(\n data: UpdateUserPasswordProps\n ): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/sdk/users/password',\n data\n );\n return response.data;\n }\n\n async delete(): Promise<{ message: string }> {\n const response = await api.delete<{ message: string }>('/sdk/users');\n return response.data;\n }\n\n async getPromoterCoupons(\n params: { limit?: number; cursor?: string } = {}\n ): Promise<CouponsListProps> {\n const response = await api.get<CouponsListProps>(\n '/sdk/users/promoters/coupons',\n { params }\n );\n return response.data;\n }\n\n async getOrders(params: QueryParams = {}): Promise<UserOrderProps[]> {\n const response = await api.get<{ orders: UserOrderProps[] }>(\n '/sdk/users/orders',\n { params }\n );\n return response.data.orders;\n }\n\n async getEvents(params: QueryParams = {}): Promise<EventProps[]> {\n const response = await api.get<{ events: EventProps[] }>(\n '/sdk/users/events',\n { params }\n );\n return response.data.events;\n }\n\n async refundOrder(orderId: string): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/sdk/users/orders/${orderId}/refund`\n );\n return response.data;\n }\n}\n","import { api } from './core/http/api';\nimport { CategoriesResource } from './resources/categories';\nimport { ChannelsResource } from './resources/channels';\nimport { CouponResource } from './resources/coupon';\nimport { EventsResource } from './resources/events';\nimport { OrdersResource } from './resources/orders';\nimport { TicketsResource } from './resources/tickets';\nimport { UsersResource } from './resources/users';\n\nexport interface MeapleSDKOptions {\n publicKey: string;\n baseURL: string;\n}\n\nexport class MeapleSDK {\n public users: UsersResource;\n public events: EventsResource;\n public orders: OrdersResource;\n public channels: ChannelsResource;\n public categories: CategoriesResource;\n public coupon: CouponResource;\n public tickets: TicketsResource;\n\n constructor(config: MeapleSDKOptions) {\n // Configura a instância global de API\n api.setBaseURL(config.baseURL);\n api.setDefaultHeader('X-Channel-Id', config.publicKey);\n\n // Inicializa todos os recursos\n this.users = new UsersResource();\n this.events = new EventsResource();\n this.orders = new OrdersResource();\n this.channels = new ChannelsResource();\n this.categories = new CategoriesResource();\n this.coupon = new CouponResource();\n this.tickets = new TicketsResource();\n }\n\n setGlobalToken(token: string): void {\n api.setBearerToken(token);\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/core/http/api.ts","../src/resources/categories/index.ts","../src/resources/coupon/index.ts","../src/resources/events/index.ts","../src/resources/orders/index.ts","../src/resources/payments/index.ts","../src/resources/tickets/index.ts","../src/resources/users/index.ts","../src/meaple-sdk.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\n\n// ============================================================================\n// Types & Interfaces\n// ============================================================================\n\nexport interface ApiResponse<T = any> {\n data: T;\n success?: boolean;\n timestamp?: string;\n requestId?: string;\n}\n\nexport interface ApiConfig {\n baseURL?: string;\n timeout?: number;\n headers?: Record<string, string>;\n}\n\ninterface RequestInterceptor {\n onRequest(config: any): Promise<any>;\n}\n\n// ============================================================================\n// API Client\n// ============================================================================\n\nexport class SimpleApiClient {\n private axios: AxiosInstance;\n private interceptors: {\n request: RequestInterceptor[];\n response: ((response: any) => any)[];\n } = { request: [], response: [] };\n\n constructor(config: ApiConfig = {}) {\n this.axios = axios.create({\n baseURL: config.baseURL ?? 'http://localhost:1234',\n timeout: config.timeout ?? 30000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n this.setupInterceptors();\n }\n\n // --------------------------------------------------------------------------\n // Configuration Methods\n // --------------------------------------------------------------------------\n\n setDefaultHeader(name: string, value: string): void {\n this.axios.defaults.headers.common[name] = value;\n }\n\n removeDefaultHeader(name: string): void {\n delete this.axios.defaults.headers.common[name];\n }\n\n setBaseURL(baseURL: string): void {\n this.axios.defaults.baseURL = baseURL;\n }\n\n setBearerToken(token: string): void {\n this.setDefaultHeader('Authorization', `Bearer ${token}`);\n }\n\n get axiosInstance(): AxiosInstance {\n return this.axios;\n }\n\n // --------------------------------------------------------------------------\n // Interceptors\n // --------------------------------------------------------------------------\n\n addRequestInterceptor(interceptor: RequestInterceptor): void {\n this.interceptors.request.push(interceptor);\n }\n\n addResponseInterceptor(\n onFulfilled?: (response: any) => any,\n onRejected?: (error: any) => any\n ): void {\n if (onFulfilled) {\n this.interceptors.response.push(onFulfilled);\n }\n if (onRejected) {\n this.axios.interceptors.response.use(undefined, onRejected);\n }\n }\n\n clearInterceptors(): void {\n this.interceptors.request = [];\n this.interceptors.response = [];\n }\n\n // --------------------------------------------------------------------------\n // HTTP Methods\n // --------------------------------------------------------------------------\n\n async get<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.get(url, config);\n return this.formatResponse(response);\n }\n\n async post<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.post(url, data, config);\n return this.formatResponse(response);\n }\n\n async put<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.put(url, data, config);\n return this.formatResponse(response);\n }\n\n async patch<T = any>(\n url: string,\n data?: any,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.patch(url, data, config);\n return this.formatResponse(response);\n }\n\n async delete<T = any>(\n url: string,\n config?: AxiosRequestConfig\n ): Promise<ApiResponse<T>> {\n const response = await this.axios.delete(url, config);\n return this.formatResponse(response);\n }\n\n // --------------------------------------------------------------------------\n // Private Methods\n // --------------------------------------------------------------------------\n\n private setupInterceptors(): void {\n // Request interceptor\n this.axios.interceptors.request.use(async config => {\n let processedConfig = config;\n for (const interceptor of this.interceptors.request) {\n processedConfig = await interceptor.onRequest(processedConfig);\n }\n return processedConfig;\n });\n\n // Response interceptor\n this.axios.interceptors.response.use(response => {\n let processedResponse = response;\n for (const interceptor of this.interceptors.response) {\n processedResponse = interceptor(processedResponse);\n }\n return processedResponse;\n });\n }\n\n private formatResponse<T>(response: AxiosResponse): ApiResponse<T> {\n const requestId = response.headers['x-request-id'];\n\n // Se response.data for um Blob, retornar diretamente sem formatação adicional\n if (response.data instanceof Blob) {\n return {\n data: response.data as any,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n\n return {\n data: response.data,\n success: response.status >= 200 && response.status < 300,\n timestamp: new Date().toISOString(),\n ...(requestId && { requestId }),\n };\n }\n}\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport const api = new SimpleApiClient();\n","import { CategoryProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CategoriesResource {\n async find(): Promise<CategoryProps[]> {\n const response = await api.get<{ categories: CategoryProps[] }>(\n '/v1/categories'\n );\n return response.data.categories;\n }\n}\n","import { CheckCouponProps, CouponProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class CouponResource {\n async check({ eventId, couponCode }: CheckCouponProps): Promise<CouponProps> {\n const response = await api.get<{ coupon: CouponProps }>(\n `/v1/events/${eventId}/coupons/${couponCode}/check`\n );\n return response.data.coupon;\n }\n}\n","import type {\n CreateEventReminderProps,\n EventProps,\n FindEventProductsProps,\n FindEventsParams,\n FindEventsProps,\n FindEventTicketsProps,\n FindUserEventTicketsProps,\n GetChannelEventProps,\n TicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\n// Helper functions\nconst formatTicket = (ticket: TicketProps): TicketProps => ({\n ...ticket,\n price: Number(ticket.price.toFixed(2)),\n});\n\nconst formatProducts = (product: TicketProps): TicketProps => ({\n ...product,\n price: Number(product.price.toFixed(2)),\n});\n\nexport class EventsResource {\n // Find events\n async find(params?: FindEventsParams): Promise<FindEventsProps> {\n const response = await api.get<FindEventsProps>('/v1/events', {\n params,\n });\n return response.data;\n }\n\n // Get event by ID\n async get(eventId: string): Promise<EventProps> {\n const response = await api.get<GetChannelEventProps>(\n `/v1/events/${eventId}`\n );\n return response.data.event;\n }\n\n // Get event by slug (uses x-channel-id header)\n async getBySlug(eventSlug: string): Promise<EventProps> {\n const response = await api.get<GetChannelEventProps>(\n `/v1/events/${eventSlug}`\n );\n return response.data.event;\n }\n\n // Event products\n async getProducts(\n eventId: string,\n privateToken?: string | null\n ): Promise<FindEventProductsProps> {\n const response = await api.get<FindEventProductsProps>(\n `/v1/events/${eventId}/products`,\n { params: { privateToken } }\n );\n\n const products = response.data.products.map(formatProducts);\n\n return { ...response.data, products };\n }\n\n // Event tickets\n async getTickets(\n eventId: string,\n privateToken?: string | null,\n predecessorIds?: string[]\n ): Promise<FindEventTicketsProps> {\n const response = await api.get<FindEventTicketsProps>(\n `/v1/events/${eventId}/tickets`,\n { params: { privateToken, predecessorIds } }\n );\n\n const tickets = response.data.tickets.map(formatTicket);\n\n const groups = response.data.groups.map(group => ({\n ...group,\n tickets: group.tickets.map(formatTicket),\n }));\n\n return { ...response.data, tickets, groups };\n }\n\n // User event tickets\n async getUserEventTickets(\n eventId: string\n ): Promise<FindUserEventTicketsProps> {\n const response = await api.get<FindUserEventTicketsProps>(\n `/v1/events/${eventId}/user-tickets`\n );\n return response.data;\n }\n\n // Create event reminder\n async createReminder(\n eventId: string,\n data: CreateEventReminderProps\n ): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/v1/events/${eventId}/reminder`,\n data\n );\n return response.data;\n }\n}\n","import type {\n CreatedOrderProps,\n CreateOrderProps,\n GetOrderProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { Headers } from '../../core/types/common';\n\nexport class OrdersResource {\n async create(data: CreateOrderProps): Promise<CreatedOrderProps> {\n const response = await api.post<CreatedOrderProps>('/v1/orders', data);\n return response.data;\n }\n\n async get(orderId: string, headers?: Headers): Promise<GetOrderProps> {\n const response = await api.get<GetOrderProps>(`/v1/orders/${orderId}`, {\n headers,\n });\n return response.data;\n }\n}\n","import type { GetPlatformFeeProps, PlatformFeeProps } from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class PaymentsResource {\n async getFee(params?: GetPlatformFeeProps): Promise<PlatformFeeProps> {\n const response = await api.get<PlatformFeeProps>('/v1/payments/fee', {\n params,\n });\n return response.data;\n }\n}\n","import type {\n CreateTicketFileProps,\n TransferTicketProps,\n UpdateUserTicketProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\n\nexport class TicketsResource {\n async createFile(\n userTicketId: string,\n params: CreateTicketFileProps\n ): Promise<Blob> {\n const response = await api.get(\n `/v1/tickets/user-tickets/${userTicketId}/file`,\n { params, responseType: 'blob' }\n );\n return response.data;\n }\n\n async editUserTicket(\n userTicketId: string,\n data: UpdateUserTicketProps\n ): Promise<void> {\n await api.put(`/v1/tickets/user-tickets/${userTicketId}`, data);\n }\n\n async transfer(ticketId: string, data: TransferTicketProps): Promise<void> {\n await api.post(`/v1/tickets/${ticketId}/transfer`, data);\n }\n}\n","import type {\n CouponsListProps,\n CreateUserProps,\n EventProps,\n UpdateUserEmailProps,\n UpdateUserPasswordProps,\n UpdateUserProps,\n UserOrderProps,\n UserProps,\n} from '@meaple-com/types';\n\nimport { api } from '../../core/http/api';\nimport type { QueryParams } from '../../core/types/common';\n\nexport class UsersResource {\n async create(data: CreateUserProps): Promise<UserProps> {\n const response = await api.post<UserProps>('/v1/users', data);\n return response.data;\n }\n\n async getMe(): Promise<UserProps> {\n const response = await api.get<UserProps>('/v1/users/me');\n return response.data;\n }\n\n async update(data: UpdateUserProps): Promise<UserProps> {\n const response = await api.put<UserProps>('/v1/users', data);\n return response.data;\n }\n\n async updateEmail(data: UpdateUserEmailProps): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/v1/users/email',\n data\n );\n return response.data;\n }\n\n async updatePassword(\n data: UpdateUserPasswordProps\n ): Promise<{ message: string }> {\n const response = await api.patch<{ message: string }>(\n '/v1/users/password',\n data\n );\n return response.data;\n }\n\n async delete(): Promise<{ message: string }> {\n const response = await api.delete<{ message: string }>('/v1/users');\n return response.data;\n }\n\n async getPromoterCoupons(\n params: { limit?: number; cursor?: string } = {}\n ): Promise<CouponsListProps> {\n const response = await api.get<CouponsListProps>(\n '/v1/users/promoters/coupons',\n { params }\n );\n return response.data;\n }\n\n async getOrders(params: QueryParams = {}): Promise<UserOrderProps[]> {\n const response = await api.get<{ orders: UserOrderProps[] }>(\n '/v1/users/orders',\n { params }\n );\n return response.data.orders;\n }\n\n async getEvents(params: QueryParams = {}): Promise<EventProps[]> {\n const response = await api.get<{ events: EventProps[] }>(\n '/v1/users/events',\n { params }\n );\n return response.data.events;\n }\n\n async refundOrder(orderId: string): Promise<{ message: string }> {\n const response = await api.post<{ message: string }>(\n `/v1/users/orders/${orderId}/refund`\n );\n return response.data;\n }\n}\n","import { api } from './core/http/api';\nimport { CategoriesResource } from './resources/categories';\nimport { CouponResource } from './resources/coupon';\nimport { EventsResource } from './resources/events';\nimport { OrdersResource } from './resources/orders';\nimport { PaymentsResource } from './resources/payments';\nimport { TicketsResource } from './resources/tickets';\nimport { UsersResource } from './resources/users';\n\nexport interface MeapleSDKOptions {\n publicKey: string;\n baseURL: string;\n}\n\nexport class MeapleSDK {\n public users: UsersResource;\n public events: EventsResource;\n public orders: OrdersResource;\n public categories: CategoriesResource;\n public coupon: CouponResource;\n public payments: PaymentsResource;\n public tickets: TicketsResource;\n\n constructor(config: MeapleSDKOptions) {\n // Configura a instância global de API\n api.setBaseURL(config.baseURL);\n api.setDefaultHeader('X-Channel-Id', config.publicKey);\n\n // Inicializa todos os recursos\n this.users = new UsersResource();\n this.events = new EventsResource();\n this.orders = new OrdersResource();\n this.categories = new CategoriesResource();\n this.coupon = new CouponResource();\n this.payments = new PaymentsResource();\n this.tickets = new TicketsResource();\n }\n\n setGlobalToken(token: string): void {\n api.setBearerToken(token);\n }\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meaple-com/core",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Core SDK for Meaple - ticketing platform",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "axios": "^1.12.2",
43
- "@meaple-com/types": "^1.0.1"
43
+ "@meaple-com/types": "^1.0.3"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^20.11.17",