@tec.pet/tecpet-sdk 0.0.29

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.
Files changed (253) hide show
  1. package/.github/workflows/main.yml +152 -0
  2. package/README.md +33 -0
  3. package/changelog.md +8 -0
  4. package/dist/domain/availableTimes/availableTimes.service.d.ts +8 -0
  5. package/dist/domain/availableTimes/availableTimes.service.js +25 -0
  6. package/dist/domain/availableTimes/dto/pa.get-available-time.dto.d.ts +5 -0
  7. package/dist/domain/availableTimes/dto/pa.get-available-time.dto.js +2 -0
  8. package/dist/domain/availableTimes/dto/pa.get-available-times.dto.d.ts +8 -0
  9. package/dist/domain/availableTimes/dto/pa.get-available-times.dto.js +2 -0
  10. package/dist/domain/billingMethod/billingMethod.service.d.ts +8 -0
  11. package/dist/domain/billingMethod/billingMethod.service.js +21 -0
  12. package/dist/domain/billingMethod/dto/pa.get-billing-methods.dto.d.ts +19 -0
  13. package/dist/domain/billingMethod/dto/pa.get-billing-methods.dto.js +2 -0
  14. package/dist/domain/billingMethod/enum/billing-method-type.enum.d.ts +13 -0
  15. package/dist/domain/billingMethod/enum/billing-method-type.enum.js +18 -0
  16. package/dist/domain/billingMethod/index.d.ts +1 -0
  17. package/dist/domain/billingMethod/index.js +17 -0
  18. package/dist/domain/booking/booking.service.d.ts +13 -0
  19. package/dist/domain/booking/booking.service.js +38 -0
  20. package/dist/domain/booking/dto/pa.change-booking-status.dto.d.ts +11 -0
  21. package/dist/domain/booking/dto/pa.change-booking-status.dto.js +8 -0
  22. package/dist/domain/booking/dto/pa.create-booking.dto.d.ts +9 -0
  23. package/dist/domain/booking/dto/pa.create-booking.dto.js +2 -0
  24. package/dist/domain/booking/dto/pa.get-booking.dto.d.ts +21 -0
  25. package/dist/domain/booking/dto/pa.get-booking.dto.js +13 -0
  26. package/dist/domain/booking/dto/pa.get-bookings.dto.d.ts +9 -0
  27. package/dist/domain/booking/dto/pa.get-bookings.dto.js +2 -0
  28. package/dist/domain/booking/index.d.ts +1 -0
  29. package/dist/domain/booking/index.js +17 -0
  30. package/dist/domain/breed/breed.service.d.ts +7 -0
  31. package/dist/domain/breed/breed.service.js +23 -0
  32. package/dist/domain/breed/dto/pa.get-breed.dto.d.ts +10 -0
  33. package/dist/domain/breed/dto/pa.get-breed.dto.js +2 -0
  34. package/dist/domain/breed/dto/pa.get-breeds.dto.d.ts +6 -0
  35. package/dist/domain/breed/dto/pa.get-breeds.dto.js +2 -0
  36. package/dist/domain/chatbot/chatbotService.d.ts +15 -0
  37. package/dist/domain/chatbot/chatbotService.js +45 -0
  38. package/dist/domain/chatbot/dto/chatbot-settings.json.d.ts +257 -0
  39. package/dist/domain/chatbot/dto/chatbot-settings.json.js +8 -0
  40. package/dist/domain/chatbot/dto/get-chatbot-formatted-messages.dto.d.ts +17 -0
  41. package/dist/domain/chatbot/dto/get-chatbot-formatted-messages.dto.js +3 -0
  42. package/dist/domain/chatbot/dto/pa.change-notification-status.dto.d.ts +17 -0
  43. package/dist/domain/chatbot/dto/pa.change-notification-status.dto.js +13 -0
  44. package/dist/domain/chatbot/dto/pa.handle-button-action.dto.d.ts +11 -0
  45. package/dist/domain/chatbot/dto/pa.handle-button-action.dto.js +2 -0
  46. package/dist/domain/chatbot/enum/chatbot-channel-type.enum.d.ts +3 -0
  47. package/dist/domain/chatbot/enum/chatbot-channel-type.enum.js +7 -0
  48. package/dist/domain/chatbot/enum/chatbot-mode.enum.d.ts +5 -0
  49. package/dist/domain/chatbot/enum/chatbot-mode.enum.js +9 -0
  50. package/dist/domain/chatbot/enum/chatbot-platform-type.enum.d.ts +4 -0
  51. package/dist/domain/chatbot/enum/chatbot-platform-type.enum.js +8 -0
  52. package/dist/domain/chatbot/enum/chatbotActionEnums/chatbot-action-mode-type.enum.d.ts +5 -0
  53. package/dist/domain/chatbot/enum/chatbotActionEnums/chatbot-action-mode-type.enum.js +9 -0
  54. package/dist/domain/chatbot/enum/chatbotActionEnums/chatbot-action-schedule-permission.enum.d.ts +5 -0
  55. package/dist/domain/chatbot/enum/chatbotActionEnums/chatbot-action-schedule-permission.enum.js +9 -0
  56. package/dist/domain/chatbot/enum/chatbotActionEnums/chatbot-action-type.enum.d.ts +9 -0
  57. package/dist/domain/chatbot/enum/chatbotActionEnums/chatbot-action-type.enum.js +13 -0
  58. package/dist/domain/chatbot/enum/chatbotActionEnums/media-type.enum.d.ts +5 -0
  59. package/dist/domain/chatbot/enum/chatbotActionEnums/media-type.enum.js +9 -0
  60. package/dist/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-behavior-type.enum.d.ts +4 -0
  61. package/dist/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-behavior-type.enum.js +8 -0
  62. package/dist/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-inactive-employee-action.enum.d.ts +4 -0
  63. package/dist/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-inactive-employee-action.enum.js +8 -0
  64. package/dist/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-timeout-action.enum.d.ts +5 -0
  65. package/dist/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-timeout-action.enum.js +9 -0
  66. package/dist/domain/chatbot/enum/chatbotFluxEnums/chatbot-flux-type.enum.d.ts +10 -0
  67. package/dist/domain/chatbot/enum/chatbotFluxEnums/chatbot-flux-type.enum.js +14 -0
  68. package/dist/domain/chatbot/enum/chatbotGuidanceEnums/chatbot-action-button-type.enum.d.ts +12 -0
  69. package/dist/domain/chatbot/enum/chatbotGuidanceEnums/chatbot-action-button-type.enum.js +16 -0
  70. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-info-collection-subtype.enum.d.ts +32 -0
  71. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-info-collection-subtype.enum.js +36 -0
  72. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-info-collection-type.enum.d.ts +12 -0
  73. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-info-collection-type.enum.js +16 -0
  74. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-price-display-mode.enum.d.ts +5 -0
  75. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-price-display-mode.enum.js +9 -0
  76. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-size_display-mode.enum.d.ts +5 -0
  77. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-size_display-mode.enum.js +9 -0
  78. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-time-display-mode.enum.d.ts +5 -0
  79. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-time-display-mode.enum.js +9 -0
  80. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-time-selection-behavior.enum.d.ts +4 -0
  81. package/dist/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-time-selection-behavior.enum.js +8 -0
  82. package/dist/domain/chatbot/enum/chatbotSendingInfoItemEnums/chatbot-sending-info-item-type.enum.d.ts +7 -0
  83. package/dist/domain/chatbot/enum/chatbotSendingInfoItemEnums/chatbot-sending-info-item-type.enum.js +11 -0
  84. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-ai-voice.enum.d.ts +4 -0
  85. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-ai-voice.enum.js +8 -0
  86. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-channel-type.enum.d.ts +3 -0
  87. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-channel-type.enum.js +7 -0
  88. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-mode.enum.d.ts +5 -0
  89. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-mode.enum.js +9 -0
  90. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-platform-type.enum.d.ts +4 -0
  91. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-platform-type.enum.js +8 -0
  92. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-settings-ai-personality.enum.d.ts +3 -0
  93. package/dist/domain/chatbot/enum/chatbotSettingsEnums/chatbot-settings-ai-personality.enum.js +7 -0
  94. package/dist/domain/chatbot/enum/chatbotTriggerEnums/chatbot-trigger-pattern-type.enum.d.ts +4 -0
  95. package/dist/domain/chatbot/enum/chatbotTriggerEnums/chatbot-trigger-pattern-type.enum.js +8 -0
  96. package/dist/domain/chatbot/index.d.ts +7 -0
  97. package/dist/domain/chatbot/index.js +23 -0
  98. package/dist/domain/client/client.service.d.ts +13 -0
  99. package/dist/domain/client/client.service.js +42 -0
  100. package/dist/domain/client/dto/pa.create-client.dto.d.ts +10 -0
  101. package/dist/domain/client/dto/pa.create-client.dto.js +2 -0
  102. package/dist/domain/client/dto/pa.edit-client.dto.d.ts +10 -0
  103. package/dist/domain/client/dto/pa.edit-client.dto.js +13 -0
  104. package/dist/domain/client/dto/pa.get-client-summary.dto.d.ts +10 -0
  105. package/dist/domain/client/dto/pa.get-client-summary.dto.js +2 -0
  106. package/dist/domain/client/dto/pa.get-client.dto.d.ts +19 -0
  107. package/dist/domain/client/dto/pa.get-client.dto.js +2 -0
  108. package/dist/domain/client/dto/pa.get-clients.dto.d.ts +9 -0
  109. package/dist/domain/client/dto/pa.get-clients.dto.js +2 -0
  110. package/dist/domain/client/index.d.ts +3 -0
  111. package/dist/domain/client/index.js +19 -0
  112. package/dist/domain/combo/combo.service.d.ts +8 -0
  113. package/dist/domain/combo/combo.service.js +20 -0
  114. package/dist/domain/combo/dto/pa.get-combo-pricing.dto.d.ts +9 -0
  115. package/dist/domain/combo/dto/pa.get-combo-pricing.dto.js +2 -0
  116. package/dist/domain/employee/dto/employee.dto.d.ts +6 -0
  117. package/dist/domain/employee/dto/employee.dto.js +2 -0
  118. package/dist/domain/pet/dto/pa.create-pet.dto.d.ts +12 -0
  119. package/dist/domain/pet/dto/pa.create-pet.dto.js +2 -0
  120. package/dist/domain/pet/dto/pa.edit-pet.dto.d.ts +14 -0
  121. package/dist/domain/pet/dto/pa.edit-pet.dto.js +15 -0
  122. package/dist/domain/pet/dto/pa.get-pet-activity.dto.d.ts +5 -0
  123. package/dist/domain/pet/dto/pa.get-pet-activity.dto.js +2 -0
  124. package/dist/domain/pet/dto/pa.get-pet.dto.d.ts +20 -0
  125. package/dist/domain/pet/dto/pa.get-pet.dto.js +8 -0
  126. package/dist/domain/pet/dto/pa.get-pets.dto.d.ts +6 -0
  127. package/dist/domain/pet/dto/pa.get-pets.dto.js +2 -0
  128. package/dist/domain/pet/index.d.ts +1 -0
  129. package/dist/domain/pet/index.js +17 -0
  130. package/dist/domain/pet/pet.service.d.ts +11 -0
  131. package/dist/domain/pet/pet.service.js +33 -0
  132. package/dist/domain/segment/enum/segment.enum.d.ts +6 -0
  133. package/dist/domain/segment/enum/segment.enum.js +10 -0
  134. package/dist/domain/service/dto/pa.get-service-pricing.dto.d.ts +24 -0
  135. package/dist/domain/service/dto/pa.get-service-pricing.dto.js +13 -0
  136. package/dist/domain/service/service.service.d.ts +8 -0
  137. package/dist/domain/service/service.service.js +21 -0
  138. package/dist/domain/shop/dto/pa.get-shop-configurations.dto.d.ts +88 -0
  139. package/dist/domain/shop/dto/pa.get-shop-configurations.dto.js +2 -0
  140. package/dist/domain/shop/index.d.ts +1 -0
  141. package/dist/domain/shop/index.js +17 -0
  142. package/dist/domain/shop/shop.service.d.ts +7 -0
  143. package/dist/domain/shop/shop.service.js +17 -0
  144. package/dist/domain/specie/dto/pa.get-specie.dto.d.ts +6 -0
  145. package/dist/domain/specie/dto/pa.get-specie.dto.js +2 -0
  146. package/dist/domain/specie/dto/pa.get-species.dto.d.ts +6 -0
  147. package/dist/domain/specie/dto/pa.get-species.dto.js +2 -0
  148. package/dist/domain/specie/enum/specie-type.enum.d.ts +20 -0
  149. package/dist/domain/specie/enum/specie-type.enum.js +25 -0
  150. package/dist/domain/specie/index.d.ts +0 -0
  151. package/dist/domain/specie/index.js +3 -0
  152. package/dist/domain/specie/specie.service.d.ts +7 -0
  153. package/dist/domain/specie/specie.service.js +19 -0
  154. package/dist/domain/token/dto/pa.extract-token.dto.d.ts +7 -0
  155. package/dist/domain/token/dto/pa.extract-token.dto.js +2 -0
  156. package/dist/domain/token/index.d.ts +1 -0
  157. package/dist/domain/token/index.js +17 -0
  158. package/dist/domain/token/token.service.d.ts +7 -0
  159. package/dist/domain/token/token.service.js +17 -0
  160. package/dist/domain/types/pagination.types.d.ts +10 -0
  161. package/dist/domain/types/pagination.types.js +2 -0
  162. package/dist/index.d.ts +34 -0
  163. package/dist/index.js +67 -0
  164. package/dist/infra/http/client.http.d.ts +11 -0
  165. package/dist/infra/http/client.http.js +79 -0
  166. package/dist/infra/logger/logger.interface.d.ts +7 -0
  167. package/dist/infra/logger/logger.interface.js +2 -0
  168. package/dist/infra/logger/stdout.logger.d.ts +15 -0
  169. package/dist/infra/logger/stdout.logger.js +81 -0
  170. package/jest.config.js +14 -0
  171. package/package.json +34 -0
  172. package/scripts/dev-link.sh +45 -0
  173. package/src/domain/availableTimes/availableTimes.service.ts +23 -0
  174. package/src/domain/availableTimes/dto/pa.get-available-time.dto.ts +5 -0
  175. package/src/domain/availableTimes/dto/pa.get-available-times.dto.ts +9 -0
  176. package/src/domain/billingMethod/billingMethod.service.ts +20 -0
  177. package/src/domain/billingMethod/dto/pa.get-billing-methods.dto.ts +22 -0
  178. package/src/domain/billingMethod/enum/billing-method-type.enum.ts +14 -0
  179. package/src/domain/billingMethod/index.ts +1 -0
  180. package/src/domain/booking/booking.service.ts +43 -0
  181. package/src/domain/booking/dto/pa.change-booking-status.dto.ts +13 -0
  182. package/src/domain/booking/dto/pa.create-booking.dto.ts +10 -0
  183. package/src/domain/booking/dto/pa.get-booking.dto.ts +19 -0
  184. package/src/domain/booking/dto/pa.get-bookings.dto.ts +11 -0
  185. package/src/domain/booking/index.ts +1 -0
  186. package/src/domain/breed/breed.service.ts +23 -0
  187. package/src/domain/breed/dto/pa.get-breed.dto.ts +11 -0
  188. package/src/domain/breed/dto/pa.get-breeds.dto.ts +8 -0
  189. package/src/domain/chatbot/chatbotService.ts +57 -0
  190. package/src/domain/chatbot/dto/chatbot-settings.json.ts +254 -0
  191. package/src/domain/chatbot/dto/get-chatbot-formatted-messages.dto.ts +20 -0
  192. package/src/domain/chatbot/dto/pa.change-notification-status.dto.ts +19 -0
  193. package/src/domain/chatbot/dto/pa.handle-button-action.dto.ts +13 -0
  194. package/src/domain/chatbot/enum/chatbotActionEnums/chatbot-action-mode-type.enum.ts +5 -0
  195. package/src/domain/chatbot/enum/chatbotActionEnums/chatbot-action-schedule-permission.enum.ts +5 -0
  196. package/src/domain/chatbot/enum/chatbotActionEnums/chatbot-action-type.enum.ts +9 -0
  197. package/src/domain/chatbot/enum/chatbotActionEnums/media-type.enum.ts +5 -0
  198. package/src/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-behavior-type.enum.ts +4 -0
  199. package/src/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-inactive-employee-action.enum.ts +4 -0
  200. package/src/domain/chatbot/enum/chatbotBehaviorEnums/chatbot-timeout-action.enum.ts +5 -0
  201. package/src/domain/chatbot/enum/chatbotFluxEnums/chatbot-flux-type.enum.ts +10 -0
  202. package/src/domain/chatbot/enum/chatbotGuidanceEnums/chatbot-action-button-type.enum.ts +12 -0
  203. package/src/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-info-collection-subtype.enum.ts +32 -0
  204. package/src/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-info-collection-type.enum.ts +12 -0
  205. package/src/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-price-display-mode.enum.ts +5 -0
  206. package/src/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-size_display-mode.enum.ts +5 -0
  207. package/src/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-time-display-mode.enum.ts +5 -0
  208. package/src/domain/chatbot/enum/chatbotInfoCollectionEnums/chatbot-time-selection-behavior.enum.ts +4 -0
  209. package/src/domain/chatbot/enum/chatbotSendingInfoItemEnums/chatbot-sending-info-item-type.enum.ts +7 -0
  210. package/src/domain/chatbot/enum/chatbotSettingsEnums/chatbot-ai-voice.enum.ts +4 -0
  211. package/src/domain/chatbot/enum/chatbotSettingsEnums/chatbot-channel-type.enum.ts +3 -0
  212. package/src/domain/chatbot/enum/chatbotSettingsEnums/chatbot-mode.enum.ts +5 -0
  213. package/src/domain/chatbot/enum/chatbotSettingsEnums/chatbot-platform-type.enum.ts +4 -0
  214. package/src/domain/chatbot/enum/chatbotSettingsEnums/chatbot-settings-ai-personality.enum.ts +3 -0
  215. package/src/domain/chatbot/enum/chatbotTriggerEnums/chatbot-trigger-pattern-type.enum.ts +4 -0
  216. package/src/domain/chatbot/index.ts +8 -0
  217. package/src/domain/client/client.service.ts +48 -0
  218. package/src/domain/client/dto/pa.create-client.dto.ts +11 -0
  219. package/src/domain/client/dto/pa.edit-client.dto.ts +11 -0
  220. package/src/domain/client/dto/pa.get-client-summary.dto.ts +11 -0
  221. package/src/domain/client/dto/pa.get-client.dto.ts +20 -0
  222. package/src/domain/client/dto/pa.get-clients.dto.ts +11 -0
  223. package/src/domain/client/index.ts +3 -0
  224. package/src/domain/combo/combo.service.ts +20 -0
  225. package/src/domain/combo/dto/pa.get-combo-pricing.dto.ts +10 -0
  226. package/src/domain/employee/dto/employee.dto.ts +6 -0
  227. package/src/domain/pet/dto/pa.create-pet.dto.ts +13 -0
  228. package/src/domain/pet/dto/pa.edit-pet.dto.ts +15 -0
  229. package/src/domain/pet/dto/pa.get-pet-activity.dto.ts +5 -0
  230. package/src/domain/pet/dto/pa.get-pet.dto.ts +22 -0
  231. package/src/domain/pet/dto/pa.get-pets.dto.ts +8 -0
  232. package/src/domain/pet/index.ts +1 -0
  233. package/src/domain/pet/pet.service.ts +36 -0
  234. package/src/domain/segment/enum/segment.enum.ts +6 -0
  235. package/src/domain/service/dto/pa.get-service-pricing.dto.ts +27 -0
  236. package/src/domain/service/service.service.ts +20 -0
  237. package/src/domain/shop/dto/pa.get-shop-configurations.dto.ts +92 -0
  238. package/src/domain/shop/index.ts +1 -0
  239. package/src/domain/shop/shop.service.ts +15 -0
  240. package/src/domain/specie/dto/pa.get-specie.dto.ts +7 -0
  241. package/src/domain/specie/dto/pa.get-species.dto.ts +7 -0
  242. package/src/domain/specie/enum/specie-type.enum.ts +21 -0
  243. package/src/domain/specie/index.ts +2 -0
  244. package/src/domain/specie/specie.service.ts +18 -0
  245. package/src/domain/token/dto/pa.extract-token.dto.ts +4 -0
  246. package/src/domain/token/index.ts +1 -0
  247. package/src/domain/token/token.service.ts +15 -0
  248. package/src/domain/types/pagination.types.ts +10 -0
  249. package/src/index.ts +52 -0
  250. package/src/infra/http/client.http.ts +91 -0
  251. package/src/infra/logger/logger.interface.ts +7 -0
  252. package/src/infra/logger/stdout.logger.ts +85 -0
  253. package/tsconfig.json +17 -0
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { ILogger } from "./logger.interface";
2
+ export declare class StdoutLogger implements ILogger {
3
+ private readonly color;
4
+ constructor(color?: boolean);
5
+ debug(tag: string, message: string, ...meta: any[]): void;
6
+ info(tag: string, message: string, ...meta: any[]): void;
7
+ warn(tag: string, message: string, ...meta: any[]): void;
8
+ error(tag: string, message: string, ...meta: any[]): void;
9
+ fatal(tag: string, message: string, ...meta: any[]): void;
10
+ private log;
11
+ private colorizeLevel;
12
+ private date;
13
+ private meta;
14
+ }
15
+ export declare const logger: StdoutLogger;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logger = exports.StdoutLogger = void 0;
7
+ const date_fns_1 = require("date-fns");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ class StdoutLogger {
10
+ color;
11
+ constructor(color = true) {
12
+ this.color = color;
13
+ }
14
+ debug(tag, message, ...meta) {
15
+ this.log('debug', tag, message, meta);
16
+ }
17
+ info(tag, message, ...meta) {
18
+ this.log('info', tag, message, meta);
19
+ }
20
+ warn(tag, message, ...meta) {
21
+ this.log('warn', tag, message, meta);
22
+ }
23
+ error(tag, message, ...meta) {
24
+ this.log('error', tag, message, meta);
25
+ }
26
+ fatal(tag, message, ...meta) {
27
+ this.log('fatal', tag, message, meta);
28
+ }
29
+ log(level, tag, message, meta) {
30
+ const timestamp = this.date();
31
+ const coloredLevel = this.color ? this.colorizeLevel(level) : `[${level.toUpperCase()}]`;
32
+ const coloredTag = this.color ? chalk_1.default.bold.cyan(`[${tag}]`) : `[${tag}]`;
33
+ const output = `${timestamp} ${coloredLevel} ${coloredTag} ${message}`;
34
+ const metaStr = this.meta(meta);
35
+ switch (level) {
36
+ case 'debug':
37
+ console.debug(output, metaStr);
38
+ break;
39
+ case 'info':
40
+ console.info(output, metaStr);
41
+ break;
42
+ case 'warn':
43
+ console.warn(output, metaStr);
44
+ break;
45
+ case 'error':
46
+ case 'fatal':
47
+ console.error(output, metaStr);
48
+ break;
49
+ default:
50
+ console.log(output, metaStr);
51
+ }
52
+ }
53
+ colorizeLevel(level) {
54
+ const label = `[${level.toUpperCase()}]`;
55
+ switch (level) {
56
+ case 'debug':
57
+ return chalk_1.default.gray(label);
58
+ case 'info':
59
+ return chalk_1.default.green(label);
60
+ case 'warn':
61
+ return chalk_1.default.yellow(label);
62
+ case 'error':
63
+ return chalk_1.default.red(label);
64
+ case 'fatal':
65
+ return chalk_1.default.bgRed.white.bold(label);
66
+ default:
67
+ return label;
68
+ }
69
+ }
70
+ date() {
71
+ return chalk_1.default.dim((0, date_fns_1.format)(new Date(), 'yyyy-MM-dd HH:mm:ss'));
72
+ }
73
+ meta(meta) {
74
+ if (meta && meta.length) {
75
+ return chalk_1.default.italic.gray(JSON.stringify(meta.filter(m => m)));
76
+ }
77
+ return '';
78
+ }
79
+ }
80
+ exports.StdoutLogger = StdoutLogger;
81
+ exports.logger = new StdoutLogger();
package/jest.config.js ADDED
@@ -0,0 +1,14 @@
1
+ module.exports = {
2
+ preset: 'ts-jest',
3
+ testEnvironment: 'node',
4
+ moduleFileExtensions: ['ts', 'tsx', 'js'],
5
+ transform: {
6
+ '^.+\\.(ts|tsx)$': 'ts-jest',
7
+ },
8
+ moduleNameMapper: {
9
+ "^@tecpet-sdk/(.*)$": "<rootDir>/src/$1",
10
+ },
11
+ transformIgnorePatterns: [
12
+ '/node_modules/(?!chalk).+\\.js$',
13
+ ],
14
+ };
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@tec.pet/tecpet-sdk",
3
+ "version": "0.0.29",
4
+ "description": "TecPet SDK for integration with TecPet services",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": "./dist/index.js"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/tecpet/tecpet-sdk.git"
13
+ },
14
+ "publishConfig": {
15
+ "registry": "https://registry.npmjs.org",
16
+ "access": "public"
17
+ },
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "watch": "tsc-watch"
21
+ },
22
+ "engines": {
23
+ "node": "23.x"
24
+ },
25
+ "dependencies": {
26
+ "axios": "^1.8.4",
27
+ "chalk": "^4.1.2",
28
+ "date-fns": "^4.1.0"
29
+ },
30
+ "devDependencies": {
31
+ "tsc-watch": "^6.2.1",
32
+ "typescript": "^5.8.2"
33
+ }
34
+ }
@@ -0,0 +1,45 @@
1
+ #!/bin/bash
2
+
3
+ ## Caminho absoluto do SDK original
4
+ #SDK_SOURCE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
5
+ #SDK_BUILD_DIR="$SDK_SOURCE_DIR/dist"
6
+ #TEMP_SDK_DIR="$SDK_SOURCE_DIR/../temp-tecpet-sdk"
7
+ #
8
+ ## 1. Builda o SDK
9
+ #echo "🏗️ Buildando o SDK..."
10
+ #npm run build
11
+ #
12
+ ## 2. Prepara o diretório temporário contendo apenas o build e o package.json
13
+ #echo "🧼 Preparando pacote isolado para link..."
14
+ #rm -rf "$TEMP_SDK_DIR"
15
+ #mkdir "$TEMP_SDK_DIR"
16
+ #cp -r "$SDK_BUILD_DIR" "$TEMP_SDK_DIR/dist"
17
+ #cp "$SDK_SOURCE_DIR/package.json" "$TEMP_SDK_DIR/package.json"
18
+ #
19
+ ## 3. Ajusta o package.json para apontar corretamente pro build
20
+ #sed -i '' 's|"main":.*|"main": "dist/index.js",|' "$TEMP_SDK_DIR/package.json"
21
+ #sed -i '' 's|"types":.*|"types": "dist/index.d.ts",|' "$TEMP_SDK_DIR/package.json"
22
+ #
23
+ ## 4. Cria o link global a partir do build isolado
24
+ #echo "🔗 Criando link a partir do dist isolado..."
25
+ #cd "$TEMP_SDK_DIR" || exit 1
26
+ #npm link
27
+
28
+ # 5. Linka nos projetos consumidores
29
+ projects=(
30
+ "/Users/pablo/workspace/tecpet/communication-gateway"
31
+ "/Users/pablo/workspace/tecpet/botflow"
32
+ )
33
+
34
+ for project in "${projects[@]}"; do
35
+ if [ -d "$project" ]; then
36
+ echo "🔁 Linkando SDK em $project"
37
+ cd "$project" || continue
38
+ npm link tecpet-sdk
39
+ cd - > /dev/null
40
+ else
41
+ echo "⚠️ Projeto não encontrado: $project"
42
+ fi
43
+ done
44
+
45
+ echo "✅ Link concluído com sucesso."
@@ -0,0 +1,23 @@
1
+ import {HttpClient} from "infra/http/client.http";
2
+ import {PaGetAvailableTimesTimesBody} from "./dto/pa.get-available-times.dto";
3
+ import {PaGetAvailableTimesResponse} from "./dto/pa.get-available-time.dto";
4
+
5
+ export class AvailableTimesService {
6
+ constructor(private readonly api: HttpClient) {
7
+ }
8
+
9
+ async list(body: PaGetAvailableTimesTimesBody, shopId: number): Promise<Array<PaGetAvailableTimesResponse> | null> {
10
+ try {
11
+ const response = await this.api.post<Array<PaGetAvailableTimesResponse>>(`/availableTimes`, body, shopId)
12
+ if (response && response?.length) {
13
+ return response;
14
+ }
15
+ return [];
16
+ } catch (error: any) {
17
+ if (error.message.includes('CLOSED_DAY')) {
18
+ return []
19
+ }
20
+ throw error
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,5 @@
1
+ export interface PaGetAvailableTimesResponse {
2
+ id: string;
3
+ start: string;
4
+ stop: string;
5
+ }
@@ -0,0 +1,9 @@
1
+ import {ShopSegment} from "../../segment/enum/segment.enum";
2
+
3
+ export interface PaGetAvailableTimesTimesBody {
4
+ date?: string;
5
+ petId: number;
6
+ services: Array<number>;
7
+ combos: Array<number>;
8
+ segment: ShopSegment;
9
+ }
@@ -0,0 +1,20 @@
1
+ import {HttpClient} from "infra/http/client.http";
2
+ import {logger} from "../../infra/logger/stdout.logger";
3
+ import {PaBillingResponse, PaGetBillingMethodResponse} from "./dto/pa.get-billing-methods.dto";
4
+ import {ShopSegment} from "../segment/enum/segment.enum";
5
+
6
+ export class BillingMethodService {
7
+ constructor(private readonly api: HttpClient) {
8
+ }
9
+
10
+ async list(segmentType: ShopSegment, shopId: number): Promise<Array<PaBillingResponse> | null> {
11
+ const response = await this.api.get<PaGetBillingMethodResponse>(`/billingMethod`, {
12
+ segmentType,
13
+ }, shopId)
14
+ if (response && response.data?.length) {
15
+ logger.debug(BillingMethodService.name, JSON.stringify(response, null, 2));
16
+ return response.data;
17
+ }
18
+ return [];
19
+ }
20
+ }
@@ -0,0 +1,22 @@
1
+ import {IPaginationResponse} from "../../types/pagination.types";
2
+ import {BillingMethodType} from "../enum/billing-method-type.enum";
3
+ import {ShopSegment} from "../../segment/enum/segment.enum";
4
+
5
+ export interface BillingItem {
6
+ tag: string;
7
+ name: string;
8
+ min: number;
9
+ max: number;
10
+ }
11
+
12
+ export interface PaBillingResponse {
13
+ name: string;
14
+ tag: BillingMethodType;
15
+ billingItems: BillingItem[];
16
+ segmentType: ShopSegment;
17
+ }
18
+
19
+ export interface PaGetBillingMethodResponse {
20
+ data: PaBillingResponse[];
21
+ pagination: IPaginationResponse;
22
+ }
@@ -0,0 +1,14 @@
1
+ export enum BillingMethodType {
2
+ SIZE = 'SIZE',
3
+ HAIR = 'HAIR',
4
+ }
5
+
6
+ export enum BillingItemType {
7
+ MICRO = "MICRO",
8
+ SMALL = "SMALL",
9
+ MEDIUM = "MEDIUM",
10
+ BIG = "BIG",
11
+ SUPERBIG = "SUPERBIG",
12
+ SHORT = "SHORT",
13
+ LONG = "LONG",
14
+ }
@@ -0,0 +1 @@
1
+ export * from './enum/billing-method-type.enum';
@@ -0,0 +1,43 @@
1
+ import {HttpClient} from "infra/http/client.http";
2
+ import {PaCreateBookingInput} from "./dto/pa.create-booking.dto";
3
+ import {PaGetBookingResponse} from "./dto/pa.get-booking.dto";
4
+ import {PaChangeBookingStatusInput, PaChangeBookingStatusResponse} from "./dto/pa.change-booking-status.dto";
5
+ import {PaGetBookingsQuery, PaGetBookingsResponse} from "./dto/pa.get-bookings.dto";
6
+
7
+ export class BookingService {
8
+ constructor(private readonly api: HttpClient) {
9
+ }
10
+
11
+ async list(query: PaGetBookingsQuery, shopId: number): Promise<Array<PaGetBookingResponse>> {
12
+ const response = await this.api.get<PaGetBookingsResponse>(`/booking`, query, shopId)
13
+ if (response && response.data?.length > 0) {
14
+ return response.data;
15
+ }
16
+ return [];
17
+ }
18
+
19
+ async create(body: PaCreateBookingInput, shopId: number): Promise<PaGetBookingResponse | null> {
20
+ const response = await this.api.post<PaGetBookingResponse>(`/booking`, body, shopId)
21
+ if (response) {
22
+ return response;
23
+ }
24
+ return null;
25
+ }
26
+
27
+ async changeStatus(bookingId: number, body: PaChangeBookingStatusInput, shopId: number): Promise<PaChangeBookingStatusResponse | null> {
28
+ const response = await this.api.put<PaChangeBookingStatusResponse>(`/booking/${bookingId}/changeStatus`, body, shopId)
29
+ if (response) {
30
+ return response;
31
+ }
32
+ return null;
33
+ }
34
+
35
+ async get(bookingId: number, shopId: number): Promise<PaGetBookingResponse | null> {
36
+ const response = await this.api.get<PaGetBookingResponse>(`/booking/${bookingId}`, {}, shopId)
37
+
38
+ if (response) {
39
+ return response;
40
+ }
41
+ return null;
42
+ }
43
+ }
@@ -0,0 +1,13 @@
1
+ export enum BookingStatus {
2
+ CONFIRMED = 'CONFIRMED',
3
+ REMOVED = 'REMOVED',
4
+ }
5
+
6
+ export interface PaChangeBookingStatusInput {
7
+ status: BookingStatus;
8
+ }
9
+
10
+ export interface PaChangeBookingStatusResponse {
11
+ success: boolean;
12
+ message: string;
13
+ }
@@ -0,0 +1,10 @@
1
+ import {ShopSegment} from "../../segment/enum/segment.enum";
2
+
3
+ export interface PaCreateBookingInput {
4
+ date?: string;
5
+ timeId: string;
6
+ petId?: number;
7
+ servicesId: Array<number>;
8
+ combosId: Array<number>;
9
+ segment: ShopSegment;
10
+ }
@@ -0,0 +1,19 @@
1
+ export enum Status {
2
+ SCHEDULED = 'SCHEDULED',
3
+ CONFIRMED = 'CONFIRMED',
4
+ RECEIVED = 'RECEIVED',
5
+ IN_SERVICE = 'IN_SERVICE',
6
+ DONE = 'DONE',
7
+ DELIVERED = 'DELIVERED',
8
+ REMOVED = 'REMOVED',
9
+ }
10
+
11
+ export interface PaGetBookingResponse {
12
+ id: number;
13
+ start: string;
14
+ stop: string;
15
+ status: Status;
16
+ date: string;
17
+ petName: string;
18
+ services: Array<{id: number, name: string}>;
19
+ }
@@ -0,0 +1,11 @@
1
+ import {IPaginationGeneric, IPaginationResponse} from "../../types/pagination.types";
2
+ import {PaGetBookingResponse} from "./pa.get-booking.dto";
3
+
4
+ export interface PaGetBookingsQuery extends IPaginationGeneric {
5
+ clientId: string;
6
+ }
7
+
8
+ export interface PaGetBookingsResponse {
9
+ data: PaGetBookingResponse[];
10
+ pagination: IPaginationResponse;
11
+ }
@@ -0,0 +1 @@
1
+ export * from './dto/pa.change-booking-status.dto';
@@ -0,0 +1,23 @@
1
+ import {HttpClient} from "infra/http/client.http";
2
+ import {PaBreedResponse} from "./dto/pa.get-breed.dto";
3
+ import {PaGetBreedsResponse} from "./dto/pa.get-breeds.dto";
4
+ import {logger} from "../../infra/logger/stdout.logger";
5
+
6
+ export class BreedService {
7
+ constructor(private readonly api: HttpClient) {
8
+ }
9
+
10
+ async list(specieId: string, name?: string, shopId?: number): Promise<Array<PaBreedResponse> | null> {
11
+ const params = { specieId, name };
12
+ if (!name) {
13
+ delete params.name;
14
+ }
15
+ const response = await this.api.get<PaGetBreedsResponse>(`/breed`, params, shopId)
16
+ logger.debug(BreedService.name, JSON.stringify(response, null, 2));
17
+
18
+ if (response?.data?.length) {
19
+ return response.data;
20
+ }
21
+ return [];
22
+ }
23
+ }
@@ -0,0 +1,11 @@
1
+ import {BillingItemType} from "../../billingMethod/enum/billing-method-type.enum";
2
+ import {SpecieType} from "../../specie/enum/specie-type.enum";
3
+
4
+ export interface PaBreedResponse {
5
+ id: number;
6
+ name: string;
7
+ specie: SpecieType;
8
+ specieId: string;
9
+ hair: BillingItemType;
10
+ size: BillingItemType;
11
+ }
@@ -0,0 +1,8 @@
1
+ import {IPaginationResponse} from "../../types/pagination.types";
2
+ import {PaBreedResponse} from "./pa.get-breed.dto";
3
+
4
+
5
+ export interface PaGetBreedsResponse {
6
+ data: PaBreedResponse[];
7
+ pagination: IPaginationResponse;
8
+ }
@@ -0,0 +1,57 @@
1
+ import { HttpClient } from "infra/http/client.http";
2
+ import { PaChatbotSettingsResponse } from "./dto/chatbot-settings.json";
3
+ import {
4
+ GetChatbotFormattedMessagesInput,
5
+ PaGetChatbotFormattedMessagesResponse
6
+ } from "./dto/get-chatbot-formatted-messages.dto";
7
+ import {
8
+ PaChangeNotificationStatusInput,
9
+ PaChangeNotificationStatusResponse
10
+ } from "./dto/pa.change-notification-status.dto";
11
+ import { PaHandleButtonActionInput, PaHandleButtonActionResponse } from "./dto/pa.handle-button-action.dto";
12
+ import { ChatbotPlatformTypeEnum } from "./enum/chatbotSettingsEnums/chatbot-platform-type.enum";
13
+
14
+ export class ChatbotService {
15
+ constructor(private readonly api: HttpClient) {
16
+ }
17
+
18
+ async getByShop(shopId: number): Promise<PaChatbotSettingsResponse | null> {
19
+ const response = await this.api.get<PaChatbotSettingsResponse>(`/chatbot/settings`, {}, shopId)
20
+ if (response) {
21
+ return response;
22
+ }
23
+ return null;
24
+ }
25
+
26
+ async getByPlatform(platformType: ChatbotPlatformTypeEnum, platformId: string): Promise<PaChatbotSettingsResponse | null> {
27
+ const response = await this.api.get<PaChatbotSettingsResponse>(`/chatbot/settings`, {platformType, platformId})
28
+ if (response) {
29
+ return response;
30
+ }
31
+ return null;
32
+ }
33
+
34
+ async getFormattedMessage(body: GetChatbotFormattedMessagesInput, shopId: number): Promise<Array<PaGetChatbotFormattedMessagesResponse> | null> {
35
+ const response = await this.api.post<Array<PaGetChatbotFormattedMessagesResponse>>(`/chatbot/formattedMessages`, body, shopId)
36
+ if (response) {
37
+ return response;
38
+ }
39
+ return null;
40
+ }
41
+
42
+ async changeNotificationStatus(notificationId: number, body: PaChangeNotificationStatusInput, shopId: number): Promise<PaChangeNotificationStatusResponse | null> {
43
+ const response = await this.api.put<PaChangeNotificationStatusResponse>(`/chatbot/notification/${notificationId}/changeStatus`, body, shopId)
44
+ if (response) {
45
+ return response;
46
+ }
47
+ return null;
48
+ }
49
+
50
+ async handleButtonAction(body: PaHandleButtonActionInput, shopId: number): Promise<PaHandleButtonActionResponse | null> {
51
+ const response = await this.api.post<PaHandleButtonActionResponse>(`/chatbot/handleButtonAction`, body, shopId)
52
+ if (response) {
53
+ return response;
54
+ }
55
+ return null;
56
+ }
57
+ }