@hed-hog/contact 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/dist/contact.module.d.ts +3 -0
  2. package/dist/contact.module.d.ts.map +1 -0
  3. package/dist/contact.module.js +61 -0
  4. package/dist/contact.module.js.map +1 -0
  5. package/dist/contact.service.d.ts +28 -0
  6. package/dist/contact.service.d.ts.map +1 -0
  7. package/dist/contact.service.js +212 -0
  8. package/dist/contact.service.js.map +1 -0
  9. package/dist/emails/index.d.ts +3 -0
  10. package/dist/emails/index.d.ts.map +1 -0
  11. package/dist/emails/index.js +19 -0
  12. package/dist/emails/index.js.map +1 -0
  13. package/dist/emails/lib.d.ts +3 -0
  14. package/dist/emails/lib.d.ts.map +1 -0
  15. package/dist/emails/lib.js +18 -0
  16. package/dist/emails/lib.js.map +1 -0
  17. package/dist/emails/templates.d.ts +13 -0
  18. package/dist/emails/templates.d.ts.map +1 -0
  19. package/dist/emails/templates.js +37 -0
  20. package/dist/emails/templates.js.map +1 -0
  21. package/dist/index.d.ts +11 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +27 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/person/dto/create.dto.d.ts +7 -0
  26. package/dist/person/dto/create.dto.d.ts.map +1 -0
  27. package/dist/person/dto/create.dto.js +35 -0
  28. package/dist/person/dto/create.dto.js.map +1 -0
  29. package/dist/person/dto/update.dto.d.ts +6 -0
  30. package/dist/person/dto/update.dto.d.ts.map +1 -0
  31. package/dist/person/dto/update.dto.js +9 -0
  32. package/dist/person/dto/update.dto.js.map +1 -0
  33. package/dist/person/person-address/dto/create.dto.d.ts +14 -0
  34. package/dist/person/person-address/dto/create.dto.d.ts.map +1 -0
  35. package/dist/person/person-address/dto/create.dto.js +65 -0
  36. package/dist/person/person-address/dto/create.dto.js.map +1 -0
  37. package/dist/person/person-address/dto/update.dto.d.ts +6 -0
  38. package/dist/person/person-address/dto/update.dto.d.ts.map +1 -0
  39. package/dist/person/person-address/dto/update.dto.js +9 -0
  40. package/dist/person/person-address/dto/update.dto.js.map +1 -0
  41. package/dist/person/person-address/person-address.controller.d.ts +14 -0
  42. package/dist/person/person-address/person-address.controller.d.ts.map +1 -0
  43. package/dist/person/person-address/person-address.controller.js +92 -0
  44. package/dist/person/person-address/person-address.controller.js.map +1 -0
  45. package/dist/person/person-address/person-address.service.d.ts +16 -0
  46. package/dist/person/person-address/person-address.service.d.ts.map +1 -0
  47. package/dist/person/person-address/person-address.service.js +71 -0
  48. package/dist/person/person-address/person-address.service.js.map +1 -0
  49. package/dist/person/person-contact/dto/create.dto.d.ts +6 -0
  50. package/dist/person/person-contact/dto/create.dto.d.ts.map +1 -0
  51. package/dist/person/person-contact/dto/create.dto.js +30 -0
  52. package/dist/person/person-contact/dto/create.dto.js.map +1 -0
  53. package/dist/person/person-contact/dto/update.dto.d.ts +6 -0
  54. package/dist/person/person-contact/dto/update.dto.d.ts.map +1 -0
  55. package/dist/person/person-contact/dto/update.dto.js +9 -0
  56. package/dist/person/person-contact/dto/update.dto.js.map +1 -0
  57. package/dist/person/person-contact/person-contact.controller.d.ts +14 -0
  58. package/dist/person/person-contact/person-contact.controller.d.ts.map +1 -0
  59. package/dist/person/person-contact/person-contact.controller.js +92 -0
  60. package/dist/person/person-contact/person-contact.controller.js.map +1 -0
  61. package/dist/person/person-contact/person-contact.service.d.ts +16 -0
  62. package/dist/person/person-contact/person-contact.service.d.ts.map +1 -0
  63. package/dist/person/person-contact/person-contact.service.js +71 -0
  64. package/dist/person/person-contact/person-contact.service.js.map +1 -0
  65. package/dist/person/person-custom/dto/create.dto.d.ts +6 -0
  66. package/dist/person/person-custom/dto/create.dto.d.ts.map +1 -0
  67. package/dist/person/person-custom/dto/create.dto.js +27 -0
  68. package/dist/person/person-custom/dto/create.dto.js.map +1 -0
  69. package/dist/person/person-custom/dto/update.dto.d.ts +6 -0
  70. package/dist/person/person-custom/dto/update.dto.d.ts.map +1 -0
  71. package/dist/person/person-custom/dto/update.dto.js +9 -0
  72. package/dist/person/person-custom/dto/update.dto.js.map +1 -0
  73. package/dist/person/person-custom/person-custom.controller.d.ts +13 -0
  74. package/dist/person/person-custom/person-custom.controller.d.ts.map +1 -0
  75. package/dist/person/person-custom/person-custom.controller.js +83 -0
  76. package/dist/person/person-custom/person-custom.controller.js.map +1 -0
  77. package/dist/person/person-custom/person-custom.service.d.ts +20 -0
  78. package/dist/person/person-custom/person-custom.service.d.ts.map +1 -0
  79. package/dist/person/person-custom/person-custom.service.js +71 -0
  80. package/dist/person/person-custom/person-custom.service.js.map +1 -0
  81. package/dist/person/person-document/dto/create.dto.d.ts +9 -0
  82. package/dist/person/person-document/dto/create.dto.d.ts.map +1 -0
  83. package/dist/person/person-document/dto/create.dto.js +44 -0
  84. package/dist/person/person-document/dto/create.dto.js.map +1 -0
  85. package/dist/person/person-document/dto/update.dto.d.ts +6 -0
  86. package/dist/person/person-document/dto/update.dto.d.ts.map +1 -0
  87. package/dist/person/person-document/dto/update.dto.js +9 -0
  88. package/dist/person/person-document/dto/update.dto.js.map +1 -0
  89. package/dist/person/person-document/person-document.controller.d.ts +14 -0
  90. package/dist/person/person-document/person-document.controller.d.ts.map +1 -0
  91. package/dist/person/person-document/person-document.controller.js +92 -0
  92. package/dist/person/person-document/person-document.controller.js.map +1 -0
  93. package/dist/person/person-document/person-document.service.d.ts +16 -0
  94. package/dist/person/person-document/person-document.service.d.ts.map +1 -0
  95. package/dist/person/person-document/person-document.service.js +71 -0
  96. package/dist/person/person-document/person-document.service.js.map +1 -0
  97. package/dist/person/person-user/dto/create.dto.d.ts +4 -0
  98. package/dist/person/person-user/dto/create.dto.d.ts.map +1 -0
  99. package/dist/person/person-user/dto/create.dto.js +21 -0
  100. package/dist/person/person-user/dto/create.dto.js.map +1 -0
  101. package/dist/person/person-user/dto/update.dto.d.ts +6 -0
  102. package/dist/person/person-user/dto/update.dto.d.ts.map +1 -0
  103. package/dist/person/person-user/dto/update.dto.js +9 -0
  104. package/dist/person/person-user/dto/update.dto.js.map +1 -0
  105. package/dist/person/person-user/person-user.controller.d.ts +14 -0
  106. package/dist/person/person-user/person-user.controller.d.ts.map +1 -0
  107. package/dist/person/person-user/person-user.controller.js +92 -0
  108. package/dist/person/person-user/person-user.controller.js.map +1 -0
  109. package/dist/person/person-user/person-user.service.d.ts +16 -0
  110. package/dist/person/person-user/person-user.service.d.ts.map +1 -0
  111. package/dist/person/person-user/person-user.service.js +71 -0
  112. package/dist/person/person-user/person-user.service.js.map +1 -0
  113. package/dist/person/person-value/dto/create.dto.d.ts +4 -0
  114. package/dist/person/person-value/dto/create.dto.d.ts.map +1 -0
  115. package/dist/person/person-value/dto/create.dto.js +21 -0
  116. package/dist/person/person-value/dto/create.dto.js.map +1 -0
  117. package/dist/person/person-value/dto/update.dto.d.ts +6 -0
  118. package/dist/person/person-value/dto/update.dto.d.ts.map +1 -0
  119. package/dist/person/person-value/dto/update.dto.js +9 -0
  120. package/dist/person/person-value/dto/update.dto.js.map +1 -0
  121. package/dist/person/person-value/person-value.controller.d.ts +14 -0
  122. package/dist/person/person-value/person-value.controller.d.ts.map +1 -0
  123. package/dist/person/person-value/person-value.controller.js +92 -0
  124. package/dist/person/person-value/person-value.controller.js.map +1 -0
  125. package/dist/person/person-value/person-value.service.d.ts +16 -0
  126. package/dist/person/person-value/person-value.service.d.ts.map +1 -0
  127. package/dist/person/person-value/person-value.service.js +71 -0
  128. package/dist/person/person-value/person-value.service.js.map +1 -0
  129. package/dist/person/person.controller.d.ts +14 -0
  130. package/dist/person/person.controller.d.ts.map +1 -0
  131. package/dist/person/person.controller.js +89 -0
  132. package/dist/person/person.controller.js.map +1 -0
  133. package/dist/person/person.module.d.ts +3 -0
  134. package/dist/person/person.module.d.ts.map +1 -0
  135. package/dist/person/person.module.js +59 -0
  136. package/dist/person/person.module.js.map +1 -0
  137. package/dist/person/person.service.d.ts +19 -0
  138. package/dist/person/person.service.d.ts.map +1 -0
  139. package/dist/person/person.service.js +78 -0
  140. package/dist/person/person.service.js.map +1 -0
  141. package/dist/person-address-type/dto/create.dto.d.ts +5 -0
  142. package/dist/person-address-type/dto/create.dto.d.ts.map +1 -0
  143. package/dist/person-address-type/dto/create.dto.js +22 -0
  144. package/dist/person-address-type/dto/create.dto.js.map +1 -0
  145. package/dist/person-address-type/dto/update.dto.d.ts +6 -0
  146. package/dist/person-address-type/dto/update.dto.d.ts.map +1 -0
  147. package/dist/person-address-type/dto/update.dto.js +9 -0
  148. package/dist/person-address-type/dto/update.dto.js.map +1 -0
  149. package/dist/person-address-type/person-address-type.controller.d.ts +14 -0
  150. package/dist/person-address-type/person-address-type.controller.d.ts.map +1 -0
  151. package/dist/person-address-type/person-address-type.controller.js +91 -0
  152. package/dist/person-address-type/person-address-type.controller.js.map +1 -0
  153. package/dist/person-address-type/person-address-type.enum.d.ts +10 -0
  154. package/dist/person-address-type/person-address-type.enum.d.ts.map +1 -0
  155. package/dist/person-address-type/person-address-type.enum.js +14 -0
  156. package/dist/person-address-type/person-address-type.enum.js.map +1 -0
  157. package/dist/person-address-type/person-address-type.module.d.ts +3 -0
  158. package/dist/person-address-type/person-address-type.module.d.ts.map +1 -0
  159. package/dist/person-address-type/person-address-type.module.js +31 -0
  160. package/dist/person-address-type/person-address-type.module.js.map +1 -0
  161. package/dist/person-address-type/person-address-type.service.d.ts +23 -0
  162. package/dist/person-address-type/person-address-type.service.d.ts.map +1 -0
  163. package/dist/person-address-type/person-address-type.service.js +62 -0
  164. package/dist/person-address-type/person-address-type.service.js.map +1 -0
  165. package/dist/person-contact-type/dto/create.dto.d.ts +5 -0
  166. package/dist/person-contact-type/dto/create.dto.d.ts.map +1 -0
  167. package/dist/person-contact-type/dto/create.dto.js +22 -0
  168. package/dist/person-contact-type/dto/create.dto.js.map +1 -0
  169. package/dist/person-contact-type/dto/update.dto.d.ts +6 -0
  170. package/dist/person-contact-type/dto/update.dto.d.ts.map +1 -0
  171. package/dist/person-contact-type/dto/update.dto.js +9 -0
  172. package/dist/person-contact-type/dto/update.dto.js.map +1 -0
  173. package/dist/person-contact-type/person-contact-type.controller.d.ts +14 -0
  174. package/dist/person-contact-type/person-contact-type.controller.d.ts.map +1 -0
  175. package/dist/person-contact-type/person-contact-type.controller.js +91 -0
  176. package/dist/person-contact-type/person-contact-type.controller.js.map +1 -0
  177. package/dist/person-contact-type/person-contact-type.enum.d.ts +8 -0
  178. package/dist/person-contact-type/person-contact-type.enum.d.ts.map +1 -0
  179. package/dist/person-contact-type/person-contact-type.enum.js +12 -0
  180. package/dist/person-contact-type/person-contact-type.enum.js.map +1 -0
  181. package/dist/person-contact-type/person-contact-type.module.d.ts +3 -0
  182. package/dist/person-contact-type/person-contact-type.module.d.ts.map +1 -0
  183. package/dist/person-contact-type/person-contact-type.module.js +31 -0
  184. package/dist/person-contact-type/person-contact-type.module.js.map +1 -0
  185. package/dist/person-contact-type/person-contact-type.service.d.ts +23 -0
  186. package/dist/person-contact-type/person-contact-type.service.d.ts.map +1 -0
  187. package/dist/person-contact-type/person-contact-type.service.js +62 -0
  188. package/dist/person-contact-type/person-contact-type.service.js.map +1 -0
  189. package/dist/person-custom-type/dto/create.dto.d.ts +5 -0
  190. package/dist/person-custom-type/dto/create.dto.d.ts.map +1 -0
  191. package/dist/person-custom-type/dto/create.dto.js +22 -0
  192. package/dist/person-custom-type/dto/create.dto.js.map +1 -0
  193. package/dist/person-custom-type/dto/update.dto.d.ts +6 -0
  194. package/dist/person-custom-type/dto/update.dto.d.ts.map +1 -0
  195. package/dist/person-custom-type/dto/update.dto.js +9 -0
  196. package/dist/person-custom-type/dto/update.dto.js.map +1 -0
  197. package/dist/person-custom-type/person-custom-type.controller.d.ts +14 -0
  198. package/dist/person-custom-type/person-custom-type.controller.d.ts.map +1 -0
  199. package/dist/person-custom-type/person-custom-type.controller.js +91 -0
  200. package/dist/person-custom-type/person-custom-type.controller.js.map +1 -0
  201. package/dist/person-custom-type/person-custom-type.module.d.ts +3 -0
  202. package/dist/person-custom-type/person-custom-type.module.d.ts.map +1 -0
  203. package/dist/person-custom-type/person-custom-type.module.js +31 -0
  204. package/dist/person-custom-type/person-custom-type.module.js.map +1 -0
  205. package/dist/person-custom-type/person-custom-type.service.d.ts +23 -0
  206. package/dist/person-custom-type/person-custom-type.service.d.ts.map +1 -0
  207. package/dist/person-custom-type/person-custom-type.service.js +62 -0
  208. package/dist/person-custom-type/person-custom-type.service.js.map +1 -0
  209. package/dist/person-document-type/dto/create.dto.d.ts +6 -0
  210. package/dist/person-document-type/dto/create.dto.d.ts.map +1 -0
  211. package/dist/person-document-type/dto/create.dto.js +26 -0
  212. package/dist/person-document-type/dto/create.dto.js.map +1 -0
  213. package/dist/person-document-type/dto/update.dto.d.ts +6 -0
  214. package/dist/person-document-type/dto/update.dto.d.ts.map +1 -0
  215. package/dist/person-document-type/dto/update.dto.js +9 -0
  216. package/dist/person-document-type/dto/update.dto.js.map +1 -0
  217. package/dist/person-document-type/person-document-type.controller.d.ts +14 -0
  218. package/dist/person-document-type/person-document-type.controller.d.ts.map +1 -0
  219. package/dist/person-document-type/person-document-type.controller.js +91 -0
  220. package/dist/person-document-type/person-document-type.controller.js.map +1 -0
  221. package/dist/person-document-type/person-document-type.enum.d.ts +8 -0
  222. package/dist/person-document-type/person-document-type.enum.d.ts.map +1 -0
  223. package/dist/person-document-type/person-document-type.enum.js +12 -0
  224. package/dist/person-document-type/person-document-type.enum.js.map +1 -0
  225. package/dist/person-document-type/person-document-type.module.d.ts +3 -0
  226. package/dist/person-document-type/person-document-type.module.d.ts.map +1 -0
  227. package/dist/person-document-type/person-document-type.module.js +31 -0
  228. package/dist/person-document-type/person-document-type.module.js.map +1 -0
  229. package/dist/person-document-type/person-document-type.service.d.ts +23 -0
  230. package/dist/person-document-type/person-document-type.service.d.ts.map +1 -0
  231. package/dist/person-document-type/person-document-type.service.js +62 -0
  232. package/dist/person-document-type/person-document-type.service.js.map +1 -0
  233. package/dist/person-type/dto/create.dto.d.ts +5 -0
  234. package/dist/person-type/dto/create.dto.d.ts.map +1 -0
  235. package/dist/person-type/dto/create.dto.js +22 -0
  236. package/dist/person-type/dto/create.dto.js.map +1 -0
  237. package/dist/person-type/dto/update.dto.d.ts +6 -0
  238. package/dist/person-type/dto/update.dto.d.ts.map +1 -0
  239. package/dist/person-type/dto/update.dto.js +9 -0
  240. package/dist/person-type/dto/update.dto.js.map +1 -0
  241. package/dist/person-type/person-type.controller.d.ts +14 -0
  242. package/dist/person-type/person-type.controller.d.ts.map +1 -0
  243. package/dist/person-type/person-type.controller.js +91 -0
  244. package/dist/person-type/person-type.controller.js.map +1 -0
  245. package/dist/person-type/person-type.enum.d.ts +6 -0
  246. package/dist/person-type/person-type.enum.d.ts.map +1 -0
  247. package/dist/person-type/person-type.enum.js +10 -0
  248. package/dist/person-type/person-type.enum.js.map +1 -0
  249. package/dist/person-type/person-type.module.d.ts +3 -0
  250. package/dist/person-type/person-type.module.d.ts.map +1 -0
  251. package/dist/person-type/person-type.module.js +31 -0
  252. package/dist/person-type/person-type.module.js.map +1 -0
  253. package/dist/person-type/person-type.service.d.ts +23 -0
  254. package/dist/person-type/person-type.service.d.ts.map +1 -0
  255. package/dist/person-type/person-type.service.js +62 -0
  256. package/dist/person-type/person-type.service.js.map +1 -0
  257. package/hedhog/data/menu.yaml +87 -0
  258. package/hedhog/data/person_address_type.yaml +28 -0
  259. package/hedhog/data/person_contact_type.yaml +20 -0
  260. package/hedhog/data/person_document_type.yaml +35 -0
  261. package/hedhog/data/person_type.yaml +12 -0
  262. package/hedhog/data/route.yaml +213 -0
  263. package/hedhog/data/screen.yaml +96 -0
  264. package/hedhog/table/person.yaml +38 -0
  265. package/hedhog/table/person_address.yaml +85 -0
  266. package/hedhog/table/person_address_type.yaml +14 -0
  267. package/hedhog/table/person_contact.yaml +34 -0
  268. package/hedhog/table/person_contact_type.yaml +14 -0
  269. package/hedhog/table/person_custom.yaml +30 -0
  270. package/hedhog/table/person_custom_type.yaml +14 -0
  271. package/hedhog/table/person_document.yaml +55 -0
  272. package/hedhog/table/person_document_type.yaml +23 -0
  273. package/hedhog/table/person_type.yaml +15 -0
  274. package/hedhog/table/person_user.yaml +18 -0
  275. package/hedhog/table/person_value.yaml +16 -0
  276. package/package.json +40 -0
  277. package/src/contact.module.ts +50 -0
  278. package/src/contact.service.ts +228 -0
  279. package/src/emails/index.ts +2 -0
  280. package/src/emails/lib.ts +17 -0
  281. package/src/emails/templates.ts +41 -0
  282. package/src/index.ts +18 -0
  283. package/src/person/dto/create.dto.ts +17 -0
  284. package/src/person/dto/update.dto.ts +4 -0
  285. package/src/person/person-address/dto/create.dto.ts +40 -0
  286. package/src/person/person-address/dto/update.dto.ts +4 -0
  287. package/src/person/person-address/person-address.controller.ts +68 -0
  288. package/src/person/person-address/person-address.service.ts +80 -0
  289. package/src/person/person-contact/dto/create.dto.ts +13 -0
  290. package/src/person/person-contact/dto/update.dto.ts +4 -0
  291. package/src/person/person-contact/person-contact.controller.ts +68 -0
  292. package/src/person/person-contact/person-contact.service.ts +79 -0
  293. package/src/person/person-custom/dto/create.dto.ts +11 -0
  294. package/src/person/person-custom/dto/update.dto.ts +4 -0
  295. package/src/person/person-custom/person-custom.controller.ts +62 -0
  296. package/src/person/person-custom/person-custom.service.ts +88 -0
  297. package/src/person/person-document/dto/create.dto.ts +24 -0
  298. package/src/person/person-document/dto/update.dto.ts +4 -0
  299. package/src/person/person-document/person-document.controller.ts +68 -0
  300. package/src/person/person-document/person-document.service.ts +79 -0
  301. package/src/person/person-user/dto/create.dto.ts +6 -0
  302. package/src/person/person-user/dto/update.dto.ts +4 -0
  303. package/src/person/person-user/person-user.controller.ts +68 -0
  304. package/src/person/person-user/person-user.service.ts +79 -0
  305. package/src/person/person-value/dto/create.dto.ts +6 -0
  306. package/src/person/person-value/dto/update.dto.ts +4 -0
  307. package/src/person/person-value/person-value.controller.ts +68 -0
  308. package/src/person/person-value/person-value.service.ts +79 -0
  309. package/src/person/person.controller.ts +55 -0
  310. package/src/person/person.module.ts +45 -0
  311. package/src/person/person.service.ts +83 -0
  312. package/src/person-address-type/dto/create.dto.ts +7 -0
  313. package/src/person-address-type/dto/update.dto.ts +4 -0
  314. package/src/person-address-type/person-address-type.controller.ts +55 -0
  315. package/src/person-address-type/person-address-type.enum.ts +15 -0
  316. package/src/person-address-type/person-address-type.module.ts +18 -0
  317. package/src/person-address-type/person-address-type.service.ts +72 -0
  318. package/src/person-contact-type/dto/create.dto.ts +7 -0
  319. package/src/person-contact-type/dto/update.dto.ts +4 -0
  320. package/src/person-contact-type/person-contact-type.controller.ts +55 -0
  321. package/src/person-contact-type/person-contact-type.enum.ts +11 -0
  322. package/src/person-contact-type/person-contact-type.module.ts +18 -0
  323. package/src/person-contact-type/person-contact-type.service.ts +72 -0
  324. package/src/person-custom-type/dto/create.dto.ts +7 -0
  325. package/src/person-custom-type/dto/update.dto.ts +4 -0
  326. package/src/person-custom-type/person-custom-type.controller.ts +55 -0
  327. package/src/person-custom-type/person-custom-type.module.ts +18 -0
  328. package/src/person-custom-type/person-custom-type.service.ts +72 -0
  329. package/src/person-document-type/dto/create.dto.ts +10 -0
  330. package/src/person-document-type/dto/update.dto.ts +4 -0
  331. package/src/person-document-type/person-document-type.controller.ts +55 -0
  332. package/src/person-document-type/person-document-type.enum.ts +11 -0
  333. package/src/person-document-type/person-document-type.module.ts +18 -0
  334. package/src/person-document-type/person-document-type.service.ts +72 -0
  335. package/src/person-type/dto/create.dto.ts +7 -0
  336. package/src/person-type/dto/update.dto.ts +4 -0
  337. package/src/person-type/person-type.controller.ts +55 -0
  338. package/src/person-type/person-type.enum.ts +7 -0
  339. package/src/person-type/person-type.module.ts +18 -0
  340. package/src/person-type/person-type.service.ts +72 -0
@@ -0,0 +1,85 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ type: fk
5
+ references:
6
+ table: person
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: country_id
10
+ type: fk
11
+ references:
12
+ table: country
13
+ column: id
14
+ onDelete: RESTRICT
15
+ locale:
16
+ en: Country
17
+ pt: País
18
+ - name: type_id
19
+ type: fk
20
+ references:
21
+ table: person_address_type
22
+ column: id
23
+ onDelete: CASCADE
24
+ locale:
25
+ en: Type
26
+ pt: Tipo
27
+ - name: primary
28
+ type: boolean
29
+ default: false
30
+ locale:
31
+ en: Primary
32
+ pt: Principal
33
+ - name: street
34
+ type: varchar
35
+ length: 255
36
+ locale:
37
+ en: Street
38
+ pt: Rua
39
+ - name: number
40
+ type: varchar
41
+ length: 15
42
+ isNullable: true
43
+ locale:
44
+ en: Number
45
+ pt: Número
46
+ - name: complement
47
+ type: varchar
48
+ length: 255
49
+ isNullable: true
50
+ locale:
51
+ en: Complement
52
+ pt: Complemento
53
+ - name: district
54
+ type: varchar
55
+ length: 255
56
+ locale:
57
+ en: District
58
+ pt: Bairro
59
+ - name: city
60
+ type: varchar
61
+ length: 255
62
+ locale:
63
+ en: City
64
+ pt: Cidade
65
+ - name: state
66
+ type: varchar
67
+ length: 255
68
+ locale:
69
+ en: State
70
+ pt: Estado
71
+ - name: postal_code
72
+ type: varchar
73
+ length: 20
74
+ locale:
75
+ en: Postal Code
76
+ pt: CEP
77
+ - name: reference
78
+ type: varchar
79
+ length: 60
80
+ isNullable: true
81
+ locale:
82
+ en: Reference
83
+ pt: Referência
84
+ - type: created_at
85
+ - type: updated_at
@@ -0,0 +1,14 @@
1
+ columns:
2
+ - type: pk
3
+ - type: slug
4
+ locale:
5
+ en: Slug
6
+ pt: Slug
7
+ - name: name
8
+ type: varchar_locale
9
+ length: 31
10
+ locale:
11
+ en: Name
12
+ pt: Nome
13
+ - type: created_at
14
+ - type: updated_at
@@ -0,0 +1,34 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ isUnique: true
5
+ type: fk
6
+ references:
7
+ table: person
8
+ column: id
9
+ onDelete: CASCADE
10
+ - name: type_id
11
+ isUnique: true
12
+ type: fk
13
+ references:
14
+ table: person_contact_type
15
+ column: id
16
+ onDelete: CASCADE
17
+ locale:
18
+ en: Type
19
+ pt: Tipo
20
+ - name: primary
21
+ type: boolean
22
+ default: false
23
+ locale:
24
+ en: Primary
25
+ pt: Principal
26
+ - name: value
27
+ isUnique: true
28
+ type: varchar
29
+ length: 255
30
+ locale:
31
+ en: Value
32
+ pt: Valor
33
+ - type: created_at
34
+ - type: updated_at
@@ -0,0 +1,14 @@
1
+ columns:
2
+ - type: pk
3
+ - type: slug
4
+ locale:
5
+ en: Slug
6
+ pt: Slug
7
+ - name: name
8
+ type: locale_varchar
9
+ length: 63
10
+ locale:
11
+ en: Name
12
+ pt: Nome
13
+ - type: created_at
14
+ - type: updated_at
@@ -0,0 +1,30 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ isUnique: true
5
+ type: fk
6
+ references:
7
+ table: person
8
+ column: id
9
+ onDelete: CASCADE
10
+ - name: type_id
11
+ isUnique: true
12
+ type: fk
13
+ references:
14
+ table: person_custom_type
15
+ column: id
16
+ onDelete: CASCADE
17
+ - name: value
18
+ type: text
19
+ isNullable: true
20
+ locale:
21
+ en: Value
22
+ pt: Valor
23
+ - name: name
24
+ type: varchar_locale
25
+ length: 31
26
+ locale:
27
+ en: Name
28
+ pt: Nome
29
+ - type: created_at
30
+ - type: updated_at
@@ -0,0 +1,14 @@
1
+ columns:
2
+ - type: pk
3
+ - type: slug
4
+ locale:
5
+ en: Slug
6
+ pt: Slug
7
+ - name: name
8
+ type: varchar_locale
9
+ length: 31
10
+ locale:
11
+ en: Name
12
+ pt: Nome
13
+ - type: created_at
14
+ - type: updated_at
@@ -0,0 +1,55 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ isUnique: true
5
+ type: fk
6
+ references:
7
+ table: person
8
+ column: id
9
+ onDelete: CASCADE
10
+ - name: type_id
11
+ isUnique: true
12
+ type: fk
13
+ references:
14
+ table: person_document_type
15
+ column: id
16
+ onDelete: CASCADE
17
+ locale:
18
+ en: Type
19
+ pt: Tipo
20
+ - name: country_id
21
+ type: fk
22
+ references:
23
+ table: country
24
+ column: id
25
+ onDelete: RESTRICT
26
+ locale:
27
+ en: Country
28
+ pt: País
29
+ - name: primary
30
+ type: boolean
31
+ default: false
32
+ locale:
33
+ en: Primary
34
+ pt: Principal
35
+ - name: value
36
+ type: varchar
37
+ length: 63
38
+ isUnique: true
39
+ locale:
40
+ en: Value
41
+ pt: Valor
42
+ - name: issued_at
43
+ type: date
44
+ isNullable: true
45
+ locale:
46
+ en: Issued
47
+ pt: Emissão
48
+ - name: expiry_at
49
+ type: date
50
+ isNullable: true
51
+ locale:
52
+ en: Expiry
53
+ pt: Validade
54
+ - type: created_at
55
+ - type: updated_at
@@ -0,0 +1,23 @@
1
+ columns:
2
+ - type: pk
3
+ - type: fk
4
+ name: country_id
5
+ references:
6
+ table: country
7
+ column: id
8
+ onDelete: RESTRICT
9
+ locale:
10
+ en: Country
11
+ pt: País
12
+ - type: slug
13
+ locale:
14
+ en: Slug
15
+ pt: Slug
16
+ - name: name
17
+ type: locale_varchar
18
+ length: 63
19
+ locale:
20
+ en: Name
21
+ pt: Nome
22
+ - type: created_at
23
+ - type: updated_at
@@ -0,0 +1,15 @@
1
+ columns:
2
+ - type: pk
3
+ - type: slug
4
+ locale:
5
+ en: Slug
6
+ pt: Slug
7
+ - name: name
8
+ type: locale_varchar
9
+ length: 31
10
+ isUnique: true
11
+ locale:
12
+ en: Name
13
+ pt: Nome
14
+ - type: created_at
15
+ - type: updated_at
@@ -0,0 +1,18 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ isUnique: true
5
+ type: fk
6
+ references:
7
+ table: person
8
+ column: id
9
+ onDelete: CASCADE
10
+ - name: user_id
11
+ isUnique: true
12
+ type: fk
13
+ references:
14
+ table: user
15
+ column: id
16
+ onDelete: CASCADE
17
+ - type: created_at
18
+ - type: updated_at
@@ -0,0 +1,16 @@
1
+ columns:
2
+ - type: pk
3
+ - name: person_id
4
+ type: fk
5
+ references:
6
+ table: person
7
+ column: id
8
+ onDelete: CASCADE
9
+ - name: value
10
+ type: varchar
11
+ length: 255
12
+ locale:
13
+ en: Value
14
+ pt: Valor
15
+ - type: created_at
16
+ - type: updated_at
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@hed-hog/contact",
3
+ "version": "0.0.0",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "dependencies": {
7
+ "@nestjs/common": "*",
8
+ "@nestjs/config": "^4.0.2",
9
+ "@nestjs/core": "^11",
10
+ "@nestjs/jwt": "^11",
11
+ "@nestjs/mapped-types": "*",
12
+ "@hed-hog/country": "0.0.0",
13
+ "@hed-hog/admin": "0.0.19",
14
+ "@hed-hog/file": "0.0.0",
15
+ "@hed-hog/api": "0.0.3",
16
+ "@hed-hog/api-locale": "0.0.3",
17
+ "@hed-hog/api-mail": "0.0.4",
18
+ "@hed-hog/api-pagination": "0.0.3",
19
+ "@hed-hog/api-prisma": "0.0.4"
20
+ },
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/index.js",
24
+ "require": "./dist/index.js"
25
+ },
26
+ "./package.json": "./package.json"
27
+ },
28
+ "files": [
29
+ "dist",
30
+ "src",
31
+ "hedhog"
32
+ ],
33
+ "scripts": {
34
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
35
+ "prebuild": "npx ts-node ../../scripts/build-dependencies.ts libraries/admin",
36
+ "build": "tsc --project tsconfig.production.json",
37
+ "patch": "npx ts-node ../../scripts/patch.ts libraries/admin",
38
+ "prod": "pnpm run patch && pnpm run build && pnpm publish --access public --no-git-checks"
39
+ }
40
+ }
@@ -0,0 +1,50 @@
1
+ import { AdminModule } from '@hed-hog/admin';
2
+ import { LocaleModule } from '@hed-hog/api-locale';
3
+ import { MailModule } from '@hed-hog/api-mail';
4
+ import { PaginationModule } from '@hed-hog/api-pagination';
5
+ import { PrismaModule } from '@hed-hog/api-prisma';
6
+ import { forwardRef, Module } from '@nestjs/common';
7
+ import { ConfigModule } from '@nestjs/config';
8
+ import { JwtModule } from '@nestjs/jwt';
9
+ import { ContactService } from './contact.service';
10
+ import { PersonAddressTypeModule } from './person-address-type/person-address-type.module';
11
+ import { PersonContactTypeModule } from './person-contact-type/person-contact-type.module';
12
+ import { PersonCustomTypeModule } from './person-custom-type/person-custom-type.module';
13
+ import { PersonDocumentTypeModule } from './person-document-type/person-document-type.module';
14
+ import { PersonTypeModule } from './person-type/person-type.module';
15
+ import { PersonModule } from './person/person.module';
16
+
17
+ @Module({
18
+ imports: [
19
+ forwardRef(() =>
20
+ JwtModule.registerAsync({
21
+ global: true,
22
+ useFactory: () => {
23
+ return {
24
+ secret: String(process.env.JWT_SECRET),
25
+ global: true,
26
+ signOptions: {
27
+ expiresIn: process.env.JWT_EXPIRES_IN || '30d',
28
+ },
29
+ };
30
+ },
31
+ }),
32
+ ),
33
+ forwardRef(() => AdminModule),
34
+ forwardRef(() => LocaleModule),
35
+ forwardRef(() => PrismaModule),
36
+ forwardRef(() => PaginationModule),
37
+ forwardRef(() => PersonTypeModule),
38
+ forwardRef(() => PersonModule),
39
+ forwardRef(() => PersonDocumentTypeModule),
40
+ forwardRef(() => PersonContactTypeModule),
41
+ forwardRef(() => PersonAddressTypeModule),
42
+ forwardRef(() => PersonCustomTypeModule),
43
+ forwardRef(() => MailModule),
44
+ ConfigModule.forRoot(),
45
+ ],
46
+ controllers: [],
47
+ providers: [ContactService],
48
+ exports: [ContactService],
49
+ })
50
+ export class ContactModule {}
@@ -0,0 +1,228 @@
1
+ import { MailService } from '@hed-hog/api-mail';
2
+ import { PrismaService } from '@hed-hog/api-prisma';
3
+ import { Injectable } from '@nestjs/common';
4
+ import { ConfigService } from '@nestjs/config';
5
+ import { JwtService } from '@nestjs/jwt';
6
+ import { getCreatePersonUserlessEmail } from './emails';
7
+ import { PersonContactTypeEnum } from './person-contact-type/person-contact-type.enum';
8
+ import { PersonDocumentTypeEnum } from './person-document-type/person-document-type.enum';
9
+
10
+ @Injectable()
11
+ export class ContactService {
12
+ constructor(
13
+ private readonly configService: ConfigService,
14
+ private readonly prismaService: PrismaService,
15
+ private readonly mailService: MailService,
16
+ private readonly jwtService: JwtService,
17
+ ) {}
18
+
19
+ async getPerson(personId: number) {
20
+ return this.prismaService.person.findUnique({
21
+ where: {
22
+ id: personId,
23
+ },
24
+ include: {
25
+ person_contact: true,
26
+ person_type: true,
27
+ person_address: true,
28
+ person_custom: true,
29
+ person_document: true,
30
+ person_user: true,
31
+ person_value: true,
32
+ file: true,
33
+ },
34
+ });
35
+ }
36
+
37
+ async getPersonOrCreateIfNotExists(
38
+ type_id: number,
39
+ name: string,
40
+ email: string,
41
+ phone: string,
42
+ cpf: string,
43
+ cnpj: string,
44
+ ) {
45
+ const findPersonByEmail = await this.prismaService.person.findFirst({
46
+ where: {
47
+ person_contact: {
48
+ some: {
49
+ value: email,
50
+ type_id: PersonContactTypeEnum.EMAIL,
51
+ },
52
+ },
53
+ },
54
+ select: { id: true },
55
+ });
56
+
57
+ if (findPersonByEmail) {
58
+ return {
59
+ person: await this.getPerson(findPersonByEmail.id),
60
+ created: false,
61
+ };
62
+ }
63
+
64
+ const payload = {
65
+ email,
66
+ };
67
+
68
+ const code = this.jwtService.sign(payload, {
69
+ expiresIn: '1d',
70
+ });
71
+
72
+ const person = await this.prismaService.person.create({
73
+ data: {
74
+ name,
75
+ person_type: {
76
+ connect: {
77
+ id: type_id,
78
+ },
79
+ },
80
+ person_user: {
81
+ create: {
82
+ user: {
83
+ create: {
84
+ email,
85
+ name,
86
+ password: '',
87
+ code,
88
+ },
89
+ },
90
+ },
91
+ },
92
+ },
93
+ select: {
94
+ id: true,
95
+ },
96
+ });
97
+
98
+ if (person) {
99
+ if (email) {
100
+ await this.prismaService.person_contact.create({
101
+ data: {
102
+ value: email,
103
+ type_id: PersonContactTypeEnum.EMAIL,
104
+ person_id: person.id,
105
+ },
106
+ });
107
+ }
108
+
109
+ if (phone) {
110
+ await this.prismaService.person_contact.create({
111
+ data: {
112
+ value: phone,
113
+ type_id: PersonContactTypeEnum.PHONE,
114
+ person_id: person.id,
115
+ },
116
+ });
117
+ }
118
+
119
+ if (cpf) {
120
+ await this.prismaService.person_document.create({
121
+ data: {
122
+ value: cpf,
123
+ type_id: PersonDocumentTypeEnum.CPF,
124
+ person_id: person.id,
125
+ country_id: 1,
126
+ },
127
+ });
128
+ }
129
+
130
+ if (cnpj) {
131
+ await this.prismaService.person_document.create({
132
+ data: {
133
+ value: cnpj,
134
+ type_id: PersonDocumentTypeEnum.CNPJ,
135
+ person_id: person.id,
136
+ country_id: 1,
137
+ },
138
+ });
139
+ }
140
+ }
141
+
142
+ const appURL =
143
+ process.env.APP_URL ?? this.configService.get<string>('APP_URL');
144
+
145
+ await this.mailService.send({
146
+ to: email,
147
+ subject: 'Crie sua conta',
148
+ body: getCreatePersonUserlessEmail({
149
+ name,
150
+ url: `${appURL}/create-user?code=${code}`,
151
+ }),
152
+ });
153
+
154
+ return {
155
+ person: await this.getPerson(person.id),
156
+ created: true,
157
+ code,
158
+ };
159
+ }
160
+
161
+ async addContactIfNotExists(personId: number, value: string, typeId: number) {
162
+ const exists = await this.prismaService.person_contact.findFirst({
163
+ where: {
164
+ person_id: personId,
165
+ value,
166
+ type_id: typeId,
167
+ },
168
+ });
169
+
170
+ if (exists) {
171
+ return exists;
172
+ }
173
+
174
+ return this.prismaService.person_contact.create({
175
+ data: {
176
+ value,
177
+ type_id: typeId,
178
+ person_id: personId,
179
+ },
180
+ });
181
+ }
182
+
183
+ async addDocumentIfNotExists(
184
+ personId: number,
185
+ value: string,
186
+ typeId: number,
187
+ countryId = 1,
188
+ ) {
189
+ const exists = await this.prismaService.person_document.findFirst({
190
+ where: {
191
+ person_id: personId,
192
+ value,
193
+ type_id: typeId,
194
+ },
195
+ });
196
+
197
+ if (exists) {
198
+ return exists;
199
+ }
200
+
201
+ return this.prismaService.person_document.create({
202
+ data: {
203
+ value,
204
+ type_id: typeId,
205
+ person_id: personId,
206
+ country_id: countryId,
207
+ },
208
+ });
209
+ }
210
+
211
+ async getPersonContact(personId: number, typeId: PersonContactTypeEnum) {
212
+ return this.prismaService.person_contact.findFirst({
213
+ where: {
214
+ person_id: personId,
215
+ type_id: typeId,
216
+ },
217
+ });
218
+ }
219
+
220
+ async getPersonDocument(personId: number, typeId: PersonDocumentTypeEnum) {
221
+ return this.prismaService.person_document.findFirst({
222
+ where: {
223
+ person_id: personId,
224
+ type_id: typeId,
225
+ },
226
+ });
227
+ }
228
+ }
@@ -0,0 +1,2 @@
1
+ export * from './lib'
2
+ export * from './templates'
@@ -0,0 +1,17 @@
1
+ import { bodies, CreatePersonUserlessType, defaults } from './templates';
2
+
3
+ const getBodyWrapper = (content: string[]) => {
4
+ return defaults.default_body(content);
5
+ };
6
+
7
+ export const getCreatePersonUserlessEmail = (
8
+ data: CreatePersonUserlessType,
9
+ ) => {
10
+ const body = bodies['create_person_userless'];
11
+ const content = [
12
+ defaults.header('Crie sua conta'),
13
+ body(data),
14
+ defaults.footer(),
15
+ ];
16
+ return getBodyWrapper(content);
17
+ };