@underpeaks/generator-flutter 1.0.19

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 (277) hide show
  1. package/dist/adapters/bloc/bloc.d.ts +3 -0
  2. package/dist/adapters/bloc/bloc.d.ts.map +1 -0
  3. package/dist/adapters/bloc/bloc.js +283 -0
  4. package/dist/adapters/bloc/bloc.js.map +1 -0
  5. package/dist/adapters/provider/provider.d.ts +3 -0
  6. package/dist/adapters/provider/provider.d.ts.map +1 -0
  7. package/dist/adapters/provider/provider.js +182 -0
  8. package/dist/adapters/provider/provider.js.map +1 -0
  9. package/dist/adapters/riverpod/provider.d.ts +3 -0
  10. package/dist/adapters/riverpod/provider.d.ts.map +1 -0
  11. package/dist/adapters/riverpod/provider.js +230 -0
  12. package/dist/adapters/riverpod/provider.js.map +1 -0
  13. package/dist/generator.d.ts +3 -0
  14. package/dist/generator.d.ts.map +1 -0
  15. package/dist/generator.js +199 -0
  16. package/dist/generator.js.map +1 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +6 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/integrations/algolia.d.ts +3 -0
  22. package/dist/integrations/algolia.d.ts.map +1 -0
  23. package/dist/integrations/algolia.js +51 -0
  24. package/dist/integrations/algolia.js.map +1 -0
  25. package/dist/integrations/anthropic.d.ts +3 -0
  26. package/dist/integrations/anthropic.d.ts.map +1 -0
  27. package/dist/integrations/anthropic.js +49 -0
  28. package/dist/integrations/anthropic.js.map +1 -0
  29. package/dist/integrations/aws-s3.d.ts +3 -0
  30. package/dist/integrations/aws-s3.d.ts.map +1 -0
  31. package/dist/integrations/aws-s3.js +67 -0
  32. package/dist/integrations/aws-s3.js.map +1 -0
  33. package/dist/integrations/clerk.d.ts +3 -0
  34. package/dist/integrations/clerk.d.ts.map +1 -0
  35. package/dist/integrations/clerk.js +68 -0
  36. package/dist/integrations/clerk.js.map +1 -0
  37. package/dist/integrations/cloudinary.d.ts +3 -0
  38. package/dist/integrations/cloudinary.d.ts.map +1 -0
  39. package/dist/integrations/cloudinary.js +64 -0
  40. package/dist/integrations/cloudinary.js.map +1 -0
  41. package/dist/integrations/crisp.d.ts +3 -0
  42. package/dist/integrations/crisp.d.ts.map +1 -0
  43. package/dist/integrations/crisp.js +42 -0
  44. package/dist/integrations/crisp.js.map +1 -0
  45. package/dist/integrations/firebase.d.ts +3 -0
  46. package/dist/integrations/firebase.d.ts.map +1 -0
  47. package/dist/integrations/firebase.js +78 -0
  48. package/dist/integrations/firebase.js.map +1 -0
  49. package/dist/integrations/flutterwave.d.ts +3 -0
  50. package/dist/integrations/flutterwave.d.ts.map +1 -0
  51. package/dist/integrations/flutterwave.js +58 -0
  52. package/dist/integrations/flutterwave.js.map +1 -0
  53. package/dist/integrations/gemini.d.ts +3 -0
  54. package/dist/integrations/gemini.d.ts.map +1 -0
  55. package/dist/integrations/gemini.js +49 -0
  56. package/dist/integrations/gemini.js.map +1 -0
  57. package/dist/integrations/github.d.ts +3 -0
  58. package/dist/integrations/github.d.ts.map +1 -0
  59. package/dist/integrations/github.js +58 -0
  60. package/dist/integrations/github.js.map +1 -0
  61. package/dist/integrations/hubspot.d.ts +3 -0
  62. package/dist/integrations/hubspot.d.ts.map +1 -0
  63. package/dist/integrations/hubspot.js +70 -0
  64. package/dist/integrations/hubspot.js.map +1 -0
  65. package/dist/integrations/index.d.ts +3 -0
  66. package/dist/integrations/index.d.ts.map +1 -0
  67. package/dist/integrations/index.js +63 -0
  68. package/dist/integrations/index.js.map +1 -0
  69. package/dist/integrations/lemonsqueezy.d.ts +3 -0
  70. package/dist/integrations/lemonsqueezy.d.ts.map +1 -0
  71. package/dist/integrations/lemonsqueezy.js +49 -0
  72. package/dist/integrations/lemonsqueezy.js.map +1 -0
  73. package/dist/integrations/mailchimp.d.ts +3 -0
  74. package/dist/integrations/mailchimp.d.ts.map +1 -0
  75. package/dist/integrations/mailchimp.js +49 -0
  76. package/dist/integrations/mailchimp.js.map +1 -0
  77. package/dist/integrations/openai.d.ts +3 -0
  78. package/dist/integrations/openai.d.ts.map +1 -0
  79. package/dist/integrations/openai.js +55 -0
  80. package/dist/integrations/openai.js.map +1 -0
  81. package/dist/integrations/payfast.d.ts +3 -0
  82. package/dist/integrations/payfast.d.ts.map +1 -0
  83. package/dist/integrations/payfast.js +55 -0
  84. package/dist/integrations/payfast.js.map +1 -0
  85. package/dist/integrations/pusher.d.ts +3 -0
  86. package/dist/integrations/pusher.d.ts.map +1 -0
  87. package/dist/integrations/pusher.js +64 -0
  88. package/dist/integrations/pusher.js.map +1 -0
  89. package/dist/integrations/resend.d.ts +3 -0
  90. package/dist/integrations/resend.d.ts.map +1 -0
  91. package/dist/integrations/resend.js +51 -0
  92. package/dist/integrations/resend.js.map +1 -0
  93. package/dist/integrations/sendgrid.d.ts +3 -0
  94. package/dist/integrations/sendgrid.d.ts.map +1 -0
  95. package/dist/integrations/sendgrid.js +49 -0
  96. package/dist/integrations/sendgrid.js.map +1 -0
  97. package/dist/integrations/sentry.d.ts +3 -0
  98. package/dist/integrations/sentry.d.ts.map +1 -0
  99. package/dist/integrations/sentry.js +62 -0
  100. package/dist/integrations/sentry.js.map +1 -0
  101. package/dist/integrations/slack.d.ts +3 -0
  102. package/dist/integrations/slack.d.ts.map +1 -0
  103. package/dist/integrations/slack.js +41 -0
  104. package/dist/integrations/slack.js.map +1 -0
  105. package/dist/integrations/storage.d.ts +3 -0
  106. package/dist/integrations/storage.d.ts.map +1 -0
  107. package/dist/integrations/storage.js +106 -0
  108. package/dist/integrations/storage.js.map +1 -0
  109. package/dist/integrations/stripe.d.ts +3 -0
  110. package/dist/integrations/stripe.d.ts.map +1 -0
  111. package/dist/integrations/stripe.js +78 -0
  112. package/dist/integrations/stripe.js.map +1 -0
  113. package/dist/integrations/twilio.d.ts +3 -0
  114. package/dist/integrations/twilio.d.ts.map +1 -0
  115. package/dist/integrations/twilio.js +54 -0
  116. package/dist/integrations/twilio.js.map +1 -0
  117. package/dist/integrations/uploadthing.d.ts +3 -0
  118. package/dist/integrations/uploadthing.d.ts.map +1 -0
  119. package/dist/integrations/uploadthing.js +57 -0
  120. package/dist/integrations/uploadthing.js.map +1 -0
  121. package/dist/templates/api-builder.d.ts +12 -0
  122. package/dist/templates/api-builder.d.ts.map +1 -0
  123. package/dist/templates/api-builder.js +104 -0
  124. package/dist/templates/api-builder.js.map +1 -0
  125. package/dist/templates/api-config.d.ts +3 -0
  126. package/dist/templates/api-config.d.ts.map +1 -0
  127. package/dist/templates/api-config.js +60 -0
  128. package/dist/templates/api-config.js.map +1 -0
  129. package/dist/templates/env.d.ts +3 -0
  130. package/dist/templates/env.d.ts.map +1 -0
  131. package/dist/templates/env.js +27 -0
  132. package/dist/templates/env.js.map +1 -0
  133. package/dist/templates/gitignore.d.ts +3 -0
  134. package/dist/templates/gitignore.d.ts.map +1 -0
  135. package/dist/templates/gitignore.js +61 -0
  136. package/dist/templates/gitignore.js.map +1 -0
  137. package/dist/templates/main.d.ts +3 -0
  138. package/dist/templates/main.d.ts.map +1 -0
  139. package/dist/templates/main.js +66 -0
  140. package/dist/templates/main.js.map +1 -0
  141. package/dist/templates/model.d.ts +3 -0
  142. package/dist/templates/model.d.ts.map +1 -0
  143. package/dist/templates/model.js +104 -0
  144. package/dist/templates/model.js.map +1 -0
  145. package/dist/templates/navigation.d.ts +3 -0
  146. package/dist/templates/navigation.d.ts.map +1 -0
  147. package/dist/templates/navigation.js +306 -0
  148. package/dist/templates/navigation.js.map +1 -0
  149. package/dist/templates/page-auth.d.ts +3 -0
  150. package/dist/templates/page-auth.d.ts.map +1 -0
  151. package/dist/templates/page-auth.js +523 -0
  152. package/dist/templates/page-auth.js.map +1 -0
  153. package/dist/templates/page-blog-post.d.ts +3 -0
  154. package/dist/templates/page-blog-post.d.ts.map +1 -0
  155. package/dist/templates/page-blog-post.js +118 -0
  156. package/dist/templates/page-blog-post.js.map +1 -0
  157. package/dist/templates/page-calendar.d.ts +3 -0
  158. package/dist/templates/page-calendar.d.ts.map +1 -0
  159. package/dist/templates/page-calendar.js +173 -0
  160. package/dist/templates/page-calendar.js.map +1 -0
  161. package/dist/templates/page-cart.d.ts +3 -0
  162. package/dist/templates/page-cart.d.ts.map +1 -0
  163. package/dist/templates/page-cart.js +151 -0
  164. package/dist/templates/page-cart.js.map +1 -0
  165. package/dist/templates/page-chat.d.ts +3 -0
  166. package/dist/templates/page-chat.d.ts.map +1 -0
  167. package/dist/templates/page-chat.js +158 -0
  168. package/dist/templates/page-chat.js.map +1 -0
  169. package/dist/templates/page-checkout.d.ts +3 -0
  170. package/dist/templates/page-checkout.d.ts.map +1 -0
  171. package/dist/templates/page-checkout.js +180 -0
  172. package/dist/templates/page-checkout.js.map +1 -0
  173. package/dist/templates/page-contact.d.ts +1 -0
  174. package/dist/templates/page-contact.d.ts.map +1 -0
  175. package/dist/templates/page-contact.js +143 -0
  176. package/dist/templates/page-contact.js.map +1 -0
  177. package/dist/templates/page-custom.d.ts +3 -0
  178. package/dist/templates/page-custom.d.ts.map +1 -0
  179. package/dist/templates/page-custom.js +45 -0
  180. package/dist/templates/page-custom.js.map +1 -0
  181. package/dist/templates/page-dashboard.d.ts +3 -0
  182. package/dist/templates/page-dashboard.d.ts.map +1 -0
  183. package/dist/templates/page-dashboard.js +157 -0
  184. package/dist/templates/page-dashboard.js.map +1 -0
  185. package/dist/templates/page-detail.d.ts +3 -0
  186. package/dist/templates/page-detail.d.ts.map +1 -0
  187. package/dist/templates/page-detail.js +165 -0
  188. package/dist/templates/page-detail.js.map +1 -0
  189. package/dist/templates/page-feed.d.ts +3 -0
  190. package/dist/templates/page-feed.d.ts.map +1 -0
  191. package/dist/templates/page-feed.js +168 -0
  192. package/dist/templates/page-feed.js.map +1 -0
  193. package/dist/templates/page-form.d.ts +3 -0
  194. package/dist/templates/page-form.d.ts.map +1 -0
  195. package/dist/templates/page-form.js +205 -0
  196. package/dist/templates/page-form.js.map +1 -0
  197. package/dist/templates/page-gallery.d.ts +3 -0
  198. package/dist/templates/page-gallery.d.ts.map +1 -0
  199. package/dist/templates/page-gallery.js +152 -0
  200. package/dist/templates/page-gallery.js.map +1 -0
  201. package/dist/templates/page-invoice.d.ts +3 -0
  202. package/dist/templates/page-invoice.d.ts.map +1 -0
  203. package/dist/templates/page-invoice.js +144 -0
  204. package/dist/templates/page-invoice.js.map +1 -0
  205. package/dist/templates/page-kanban.d.ts +3 -0
  206. package/dist/templates/page-kanban.d.ts.map +1 -0
  207. package/dist/templates/page-kanban.js +114 -0
  208. package/dist/templates/page-kanban.js.map +1 -0
  209. package/dist/templates/page-list.d.ts +3 -0
  210. package/dist/templates/page-list.d.ts.map +1 -0
  211. package/dist/templates/page-list.js +284 -0
  212. package/dist/templates/page-list.js.map +1 -0
  213. package/dist/templates/page-map.d.ts +3 -0
  214. package/dist/templates/page-map.d.ts.map +1 -0
  215. package/dist/templates/page-map.js +94 -0
  216. package/dist/templates/page-map.js.map +1 -0
  217. package/dist/templates/page-messages.d.ts +3 -0
  218. package/dist/templates/page-messages.d.ts.map +1 -0
  219. package/dist/templates/page-messages.js +48 -0
  220. package/dist/templates/page-messages.js.map +1 -0
  221. package/dist/templates/page-onboarding.d.ts +3 -0
  222. package/dist/templates/page-onboarding.d.ts.map +1 -0
  223. package/dist/templates/page-onboarding.js +164 -0
  224. package/dist/templates/page-onboarding.js.map +1 -0
  225. package/dist/templates/page-otp.d.ts +3 -0
  226. package/dist/templates/page-otp.d.ts.map +1 -0
  227. package/dist/templates/page-otp.js +216 -0
  228. package/dist/templates/page-otp.js.map +1 -0
  229. package/dist/templates/page-profile.d.ts +3 -0
  230. package/dist/templates/page-profile.d.ts.map +1 -0
  231. package/dist/templates/page-profile.js +159 -0
  232. package/dist/templates/page-profile.js.map +1 -0
  233. package/dist/templates/page-reset-password.d.ts +3 -0
  234. package/dist/templates/page-reset-password.d.ts.map +1 -0
  235. package/dist/templates/page-reset-password.js +168 -0
  236. package/dist/templates/page-reset-password.js.map +1 -0
  237. package/dist/templates/page-search.d.ts +3 -0
  238. package/dist/templates/page-search.d.ts.map +1 -0
  239. package/dist/templates/page-search.js +112 -0
  240. package/dist/templates/page-search.js.map +1 -0
  241. package/dist/templates/page-settings.d.ts +3 -0
  242. package/dist/templates/page-settings.d.ts.map +1 -0
  243. package/dist/templates/page-settings.js +123 -0
  244. package/dist/templates/page-settings.js.map +1 -0
  245. package/dist/templates/page-splash.d.ts +3 -0
  246. package/dist/templates/page-splash.d.ts.map +1 -0
  247. package/dist/templates/page-splash.js +93 -0
  248. package/dist/templates/page-splash.js.map +1 -0
  249. package/dist/templates/page-wallet.d.ts +3 -0
  250. package/dist/templates/page-wallet.d.ts.map +1 -0
  251. package/dist/templates/page-wallet.js +97 -0
  252. package/dist/templates/page-wallet.js.map +1 -0
  253. package/dist/templates/pubspec.d.ts +3 -0
  254. package/dist/templates/pubspec.d.ts.map +1 -0
  255. package/dist/templates/pubspec.js +72 -0
  256. package/dist/templates/pubspec.js.map +1 -0
  257. package/dist/templates/readme.d.ts +3 -0
  258. package/dist/templates/readme.d.ts.map +1 -0
  259. package/dist/templates/readme.js +111 -0
  260. package/dist/templates/readme.js.map +1 -0
  261. package/dist/templates/repository.d.ts +3 -0
  262. package/dist/templates/repository.d.ts.map +1 -0
  263. package/dist/templates/repository.js +224 -0
  264. package/dist/templates/repository.js.map +1 -0
  265. package/dist/templates/theme.d.ts +3 -0
  266. package/dist/templates/theme.d.ts.map +1 -0
  267. package/dist/templates/theme.js +163 -0
  268. package/dist/templates/theme.js.map +1 -0
  269. package/dist/templates/validators.d.ts +3 -0
  270. package/dist/templates/validators.d.ts.map +1 -0
  271. package/dist/templates/validators.js +38 -0
  272. package/dist/templates/validators.js.map +1 -0
  273. package/dist/templates/widget-card.d.ts +3 -0
  274. package/dist/templates/widget-card.d.ts.map +1 -0
  275. package/dist/templates/widget-card.js +91 -0
  276. package/dist/templates/widget-card.js.map +1 -0
  277. package/package.json +24 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/sendgrid.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateSendGridFlutter = generateSendGridFlutter;
5
+ function generateSendGridFlutter(config) {
6
+ const lines = [];
7
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
9
+ lines.push(`// Integration: SendGrid`);
10
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
11
+ lines.push(``);
12
+ lines.push(`import 'dart:convert';`);
13
+ lines.push(`import 'package:http/http.dart' as http;`);
14
+ lines.push(`import '../../config/api_config.dart';`);
15
+ lines.push(``);
16
+ lines.push(`class NxfSendGrid {`);
17
+ lines.push(` NxfSendGrid._();`);
18
+ lines.push(``);
19
+ lines.push(` static Future<void> sendEmail({`);
20
+ lines.push(` required String to,`);
21
+ lines.push(` required String subject,`);
22
+ lines.push(` required String html,`);
23
+ lines.push(` String? from,`);
24
+ lines.push(` }) async {`);
25
+ lines.push(` final res = await http.post(`);
26
+ lines.push(` Uri.parse('\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/email/send'),`);
27
+ lines.push(` headers: {`);
28
+ lines.push(` 'Content-Type': 'application/json',`);
29
+ lines.push(` 'x-api-key': ApiConfig.apiKey,`);
30
+ lines.push(` 'x-customer-token': ApiConfig.token,`);
31
+ lines.push(` },`);
32
+ lines.push(` body: jsonEncode({`);
33
+ lines.push(` 'provider': 'sendgrid',`);
34
+ lines.push(` 'to': to,`);
35
+ lines.push(` 'subject': subject,`);
36
+ lines.push(` 'html': html,`);
37
+ lines.push(` if (from != null) 'from': from,`);
38
+ lines.push(` }),`);
39
+ lines.push(` );`);
40
+ lines.push(` if (res.statusCode != 200) throw Exception('Email send failed: \${res.body}');`);
41
+ lines.push(` }`);
42
+ lines.push(`}`);
43
+ return {
44
+ path: 'lib/generated/integrations/sendgrid.g.dart',
45
+ content: lines.join('\n'),
46
+ category: 'generated',
47
+ };
48
+ }
49
+ //# sourceMappingURL=sendgrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendgrid.js","sourceRoot":"","sources":["../../src/integrations/sendgrid.ts"],"names":[],"mappings":";AAAA,mFAAmF;;AAInF,0DA6CC;AA7CD,SAAgB,uBAAuB,CAAC,MAA8B;IACpE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IACtC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACvC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAA;IACxG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;IACtC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;IACvC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAA;IAChG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAM,4CAA4C;QACtD,OAAO,EAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateSentryFlutter(config: Record<string, string>): GeneratedFile;
3
+ //# sourceMappingURL=sentry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/integrations/sentry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CA0DnF"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/sentry.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateSentryFlutter = generateSentryFlutter;
5
+ function generateSentryFlutter(config) {
6
+ const dsn = config['dsn'] ?? 'YOUR_SENTRY_DSN';
7
+ const env = config['environment'] ?? 'production';
8
+ const lines = [];
9
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
10
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
11
+ lines.push(`// Integration: Sentry`);
12
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
13
+ lines.push(``);
14
+ lines.push(`// ── Setup instructions ────────────────────────────────────────────────────`);
15
+ lines.push(`// 1. Add to pubspec.yaml:`);
16
+ lines.push(`// sentry_flutter: ^8.0.0`);
17
+ lines.push(`// 2. Wrap runApp() with SentryFlutter.init() in main()`);
18
+ lines.push(`// See NxfSentry.initialize() below`);
19
+ lines.push(``);
20
+ lines.push(`import 'package:sentry_flutter/sentry_flutter.dart';`);
21
+ lines.push(`import 'package:flutter/widgets.dart';`);
22
+ lines.push(``);
23
+ lines.push(`class NxfSentry {`);
24
+ lines.push(` NxfSentry._();`);
25
+ lines.push(``);
26
+ lines.push(` // Call this instead of runApp() in main()`);
27
+ lines.push(` static Future<void> initialize(Widget app) async {`);
28
+ lines.push(` await SentryFlutter.init(`);
29
+ lines.push(` (options) {`);
30
+ lines.push(` options.dsn = '${dsn}';`);
31
+ lines.push(` options.environment = '${env}';`);
32
+ lines.push(` options.tracesSampleRate = 1.0;`);
33
+ lines.push(` },`);
34
+ lines.push(` appRunner: () => runApp(app),`);
35
+ lines.push(` );`);
36
+ lines.push(` }`);
37
+ lines.push(``);
38
+ lines.push(` static Future<void> captureException(dynamic exception, {StackTrace? stackTrace}) async {`);
39
+ lines.push(` await Sentry.captureException(exception, stackTrace: stackTrace);`);
40
+ lines.push(` }`);
41
+ lines.push(``);
42
+ lines.push(` static Future<void> captureMessage(String message) async {`);
43
+ lines.push(` await Sentry.captureMessage(message);`);
44
+ lines.push(` }`);
45
+ lines.push(``);
46
+ lines.push(` static Future<void> setUser(String id, {String? email, String? name}) async {`);
47
+ lines.push(` await Sentry.configureScope((scope) {`);
48
+ lines.push(` scope.setUser(SentryUser(id: id, email: email, name: name));`);
49
+ lines.push(` });`);
50
+ lines.push(` }`);
51
+ lines.push(``);
52
+ lines.push(` static Future<void> clearUser() async {`);
53
+ lines.push(` await Sentry.configureScope((scope) => scope.setUser(null));`);
54
+ lines.push(` }`);
55
+ lines.push(`}`);
56
+ return {
57
+ path: 'lib/generated/integrations/sentry.g.dart',
58
+ content: lines.join('\n'),
59
+ category: 'generated',
60
+ };
61
+ }
62
+ //# sourceMappingURL=sentry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../src/integrations/sentry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateSlackFlutter(config: Record<string, string>): GeneratedFile;
3
+ //# sourceMappingURL=slack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../src/integrations/slack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAqClF"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/slack.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateSlackFlutter = generateSlackFlutter;
5
+ function generateSlackFlutter(config) {
6
+ const lines = [];
7
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
9
+ lines.push(`// Integration: Slack`);
10
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
11
+ lines.push(``);
12
+ lines.push(`import 'dart:convert';`);
13
+ lines.push(`import 'package:http/http.dart' as http;`);
14
+ lines.push(`import '../../config/api_config.dart';`);
15
+ lines.push(``);
16
+ lines.push(`class NxfSlack {`);
17
+ lines.push(` NxfSlack._();`);
18
+ lines.push(``);
19
+ lines.push(` static Future<void> sendMessage({`);
20
+ lines.push(` required String channel,`);
21
+ lines.push(` required String message,`);
22
+ lines.push(` }) async {`);
23
+ lines.push(` final res = await http.post(`);
24
+ lines.push(` Uri.parse('\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/integrations/slack/message'),`);
25
+ lines.push(` headers: {`);
26
+ lines.push(` 'Content-Type': 'application/json',`);
27
+ lines.push(` 'x-api-key': ApiConfig.apiKey,`);
28
+ lines.push(` 'x-customer-token': ApiConfig.token,`);
29
+ lines.push(` },`);
30
+ lines.push(` body: jsonEncode({'channel': channel, 'message': message}),`);
31
+ lines.push(` );`);
32
+ lines.push(` if (res.statusCode != 200) throw Exception('Slack message failed: \${res.body}');`);
33
+ lines.push(` }`);
34
+ lines.push(`}`);
35
+ return {
36
+ path: 'lib/generated/integrations/slack.g.dart',
37
+ content: lines.join('\n'),
38
+ category: 'generated',
39
+ };
40
+ }
41
+ //# sourceMappingURL=slack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../src/integrations/slack.ts"],"names":[],"mappings":";AAAA,gFAAgF;;AAIhF,oDAqCC;AArCD,SAAgB,oBAAoB,CAAC,MAA8B;IACjE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;IACnC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAA;IACxH,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,KAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAA;IAC/E,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,KAAK,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAA;IACnG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAM,yCAAyC;QACnD,OAAO,EAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateStorageFlutter(config: Record<string, string>): GeneratedFile;
3
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/integrations/storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAsGpF"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/storage.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateStorageFlutter = generateStorageFlutter;
5
+ function generateStorageFlutter(config) {
6
+ const lines = [];
7
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
9
+ lines.push(`// Integration: Underpeaks Hosted Storage`);
10
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
11
+ lines.push(``);
12
+ lines.push(`// ── Note ──────────────────────────────────────────────────────────────────`);
13
+ lines.push(`// Files are uploaded to your Underpeaks hosted storage. The returned URL is`);
14
+ lines.push(`// permanent and safe to store in your data — render it directly in Image.network.`);
15
+ lines.push(`// Files are organised into folders (e.g. 'avatars', 'documents'). If you don't`);
16
+ lines.push(`// specify a folder, files are uploaded to the default 'uploads' folder.`);
17
+ lines.push(``);
18
+ lines.push(`import 'dart:io';`);
19
+ lines.push(`import 'dart:convert';`);
20
+ lines.push(`import 'package:http/http.dart' as http;`);
21
+ lines.push(`import '../../config/api_config.dart';`);
22
+ lines.push(``);
23
+ lines.push(`class NxfStorageFile {`);
24
+ lines.push(` final String storageId;`);
25
+ lines.push(` final String url;`);
26
+ lines.push(` final String fileName;`);
27
+ lines.push(` final String folder;`);
28
+ lines.push(` final int size;`);
29
+ lines.push(``);
30
+ lines.push(` NxfStorageFile({`);
31
+ lines.push(` required this.storageId,`);
32
+ lines.push(` required this.url,`);
33
+ lines.push(` required this.fileName,`);
34
+ lines.push(` required this.folder,`);
35
+ lines.push(` required this.size,`);
36
+ lines.push(` });`);
37
+ lines.push(``);
38
+ lines.push(` factory NxfStorageFile.fromJson(Map<String, dynamic> j) => NxfStorageFile(`);
39
+ lines.push(` storageId: (j['storage_id'] ?? '') as String,`);
40
+ lines.push(` url: (j['url'] ?? '') as String,`);
41
+ lines.push(` fileName: (j['file_name'] ?? '') as String,`);
42
+ lines.push(` folder: (j['folder'] ?? 'uploads') as String,`);
43
+ lines.push(` size: (j['size'] ?? 0) as int,`);
44
+ lines.push(` );`);
45
+ lines.push(`}`);
46
+ lines.push(``);
47
+ lines.push(`class NxfStorage {`);
48
+ lines.push(` NxfStorage._();`);
49
+ lines.push(``);
50
+ lines.push(` static String get _base =>`);
51
+ lines.push(` '\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/storage';`);
52
+ lines.push(``);
53
+ lines.push(` /// Upload a file. Optionally pass [folder] to organise it`);
54
+ lines.push(` /// (e.g. 'avatars', 'documents') — defaults to 'uploads' if omitted.`);
55
+ lines.push(` /// Returns a permanent URL safe to store and render.`);
56
+ lines.push(` static Future<NxfStorageFile> upload(File file, {String? folder}) async {`);
57
+ lines.push(` final req = http.MultipartRequest('POST', Uri.parse('\$_base/upload'));`);
58
+ lines.push(` req.headers['x-api-key'] = ApiConfig.apiKey;`);
59
+ lines.push(` if (folder != null && folder.isNotEmpty) {`);
60
+ lines.push(` req.fields['folder'] = folder;`);
61
+ lines.push(` }`);
62
+ lines.push(` req.files.add(await http.MultipartFile.fromPath('file', file.path));`);
63
+ lines.push(``);
64
+ lines.push(` final streamed = await req.send();`);
65
+ lines.push(` final res = await http.Response.fromStream(streamed);`);
66
+ lines.push(``);
67
+ lines.push(` if (res.statusCode != 201) {`);
68
+ lines.push(` throw Exception('Upload failed: \${res.body}');`);
69
+ lines.push(` }`);
70
+ lines.push(` return NxfStorageFile.fromJson(jsonDecode(res.body) as Map<String, dynamic>);`);
71
+ lines.push(` }`);
72
+ lines.push(``);
73
+ lines.push(` /// List all files for this project.`);
74
+ lines.push(` static Future<List<NxfStorageFile>> list() async {`);
75
+ lines.push(` final res = await http.get(`);
76
+ lines.push(` Uri.parse('\$_base/list'),`);
77
+ lines.push(` headers: {'x-api-key': ApiConfig.apiKey},`);
78
+ lines.push(` );`);
79
+ lines.push(` if (res.statusCode != 200) throw Exception('List failed: \${res.body}');`);
80
+ lines.push(` final data = jsonDecode(res.body) as Map<String, dynamic>;`);
81
+ lines.push(` final files = (data['files'] as List? ?? []);`);
82
+ lines.push(` return files`);
83
+ lines.push(` .map((f) => NxfStorageFile.fromJson(f as Map<String, dynamic>))`);
84
+ lines.push(` .toList();`);
85
+ lines.push(` }`);
86
+ lines.push(``);
87
+ lines.push(` /// Delete a file by its storage id.`);
88
+ lines.push(` static Future<void> delete(String storageId) async {`);
89
+ lines.push(` final res = await http.post(`);
90
+ lines.push(` Uri.parse('\$_base/delete'),`);
91
+ lines.push(` headers: {`);
92
+ lines.push(` 'Content-Type': 'application/json',`);
93
+ lines.push(` 'x-api-key': ApiConfig.apiKey,`);
94
+ lines.push(` },`);
95
+ lines.push(` body: jsonEncode({'id': storageId}),`);
96
+ lines.push(` );`);
97
+ lines.push(` if (res.statusCode != 200) throw Exception('Delete failed: \${res.body}');`);
98
+ lines.push(` }`);
99
+ lines.push(`}`);
100
+ return {
101
+ path: 'lib/generated/integrations/storage.g.dart',
102
+ content: lines.join('\n'),
103
+ category: 'generated',
104
+ };
105
+ }
106
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/integrations/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateStripeFlutter(config: Record<string, string>): GeneratedFile;
3
+ //# sourceMappingURL=stripe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/integrations/stripe.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CA0EnF"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/stripe.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateStripeFlutter = generateStripeFlutter;
5
+ function generateStripeFlutter(config) {
6
+ const lines = [];
7
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
9
+ lines.push(`// Integration: Stripe`);
10
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
11
+ lines.push(``);
12
+ lines.push(`// ── Setup instructions ────────────────────────────────────────────────────`);
13
+ lines.push(`// 1. Add to pubspec.yaml:`);
14
+ lines.push(`// flutter_stripe: ^10.0.0`);
15
+ lines.push(`// 2. Add NXF_STRIPE_PUBLISHABLE_KEY to your .env (publishable key is public).`);
16
+ lines.push(`// 3. Call NxfStripe.initialize() in main() before runApp()`);
17
+ lines.push(`// 4. Payment intents are created server-side via your Underpeaks API`);
18
+ lines.push(``);
19
+ lines.push(`import 'package:flutter_stripe/flutter_stripe.dart';`);
20
+ lines.push(`import 'package:flutter_dotenv/flutter_dotenv.dart';`);
21
+ lines.push(`import 'dart:convert';`);
22
+ lines.push(`import 'package:http/http.dart' as http;`);
23
+ lines.push(`import '../../config/api_config.dart';`);
24
+ lines.push(``);
25
+ lines.push(`class NxfStripe {`);
26
+ lines.push(` NxfStripe._();`);
27
+ lines.push(``);
28
+ lines.push(` static void initialize() {`);
29
+ lines.push(` Stripe.publishableKey = dotenv.env['NXF_STRIPE_PUBLISHABLE_KEY'] ?? '';`);
30
+ lines.push(` }`);
31
+ lines.push(``);
32
+ lines.push(` // ── Create payment intent (calls your Underpeaks backend) ──────────────`);
33
+ lines.push(``);
34
+ lines.push(` static Future<String> createPaymentIntent({`);
35
+ lines.push(` required int amount,`);
36
+ lines.push(` required String currency,`);
37
+ lines.push(` }) async {`);
38
+ lines.push(` final res = await http.post(`);
39
+ lines.push(` Uri.parse('\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/payments/create-intent'),`);
40
+ lines.push(` headers: {`);
41
+ lines.push(` 'Content-Type': 'application/json',`);
42
+ lines.push(` 'x-api-key': ApiConfig.apiKey,`);
43
+ lines.push(` 'x-customer-token': ApiConfig.token,`);
44
+ lines.push(` },`);
45
+ lines.push(` body: jsonEncode({'amount': amount, 'currency': currency}),`);
46
+ lines.push(` );`);
47
+ lines.push(` final data = jsonDecode(res.body) as Map<String, dynamic>;`);
48
+ lines.push(` return data['clientSecret'] as String;`);
49
+ lines.push(` }`);
50
+ lines.push(``);
51
+ lines.push(` // ── Present payment sheet ────────────────────────────────────────────────`);
52
+ lines.push(``);
53
+ lines.push(` static Future<void> presentPaymentSheet({`);
54
+ lines.push(` required int amount,`);
55
+ lines.push(` required String currency,`);
56
+ lines.push(` }) async {`);
57
+ lines.push(` final clientSecret = await createPaymentIntent(`);
58
+ lines.push(` amount: amount,`);
59
+ lines.push(` currency: currency,`);
60
+ lines.push(` );`);
61
+ lines.push(``);
62
+ lines.push(` await Stripe.instance.initPaymentSheet(`);
63
+ lines.push(` paymentSheetParameters: SetupPaymentSheetParameters(`);
64
+ lines.push(` paymentIntentClientSecret: clientSecret,`);
65
+ lines.push(` merchantDisplayName: 'My App',`);
66
+ lines.push(` ),`);
67
+ lines.push(` );`);
68
+ lines.push(``);
69
+ lines.push(` await Stripe.instance.presentPaymentSheet();`);
70
+ lines.push(` }`);
71
+ lines.push(`}`);
72
+ return {
73
+ path: 'lib/generated/integrations/stripe.g.dart',
74
+ content: lines.join('\n'),
75
+ category: 'generated',
76
+ };
77
+ }
78
+ //# sourceMappingURL=stripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/integrations/stripe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateTwilioFlutter(config: Record<string, string>): GeneratedFile;
3
+ //# sourceMappingURL=twilio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilio.d.ts","sourceRoot":"","sources":["../../src/integrations/twilio.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAkDnF"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/twilio.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateTwilioFlutter = generateTwilioFlutter;
5
+ function generateTwilioFlutter(config) {
6
+ const lines = [];
7
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
9
+ lines.push(`// Integration: Twilio`);
10
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
11
+ lines.push(``);
12
+ lines.push(`import 'dart:convert';`);
13
+ lines.push(`import 'package:http/http.dart' as http;`);
14
+ lines.push(`import '../../config/api_config.dart';`);
15
+ lines.push(``);
16
+ lines.push(`class NxfTwilio {`);
17
+ lines.push(` NxfTwilio._();`);
18
+ lines.push(``);
19
+ lines.push(` static Future<void> sendSms({`);
20
+ lines.push(` required String to,`);
21
+ lines.push(` required String message,`);
22
+ lines.push(` }) async {`);
23
+ lines.push(` final res = await http.post(`);
24
+ lines.push(` Uri.parse('\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/sms/send'),`);
25
+ lines.push(` headers: {`);
26
+ lines.push(` 'Content-Type': 'application/json',`);
27
+ lines.push(` 'x-api-key': ApiConfig.apiKey,`);
28
+ lines.push(` 'x-customer-token': ApiConfig.token,`);
29
+ lines.push(` },`);
30
+ lines.push(` body: jsonEncode({'to': to, 'message': message}),`);
31
+ lines.push(` );`);
32
+ lines.push(` if (res.statusCode != 200) throw Exception('SMS send failed: \${res.body}');`);
33
+ lines.push(` }`);
34
+ lines.push(``);
35
+ lines.push(` static Future<void> sendOtp({required String to}) async {`);
36
+ lines.push(` // OTP request happens before login — API key only.`);
37
+ lines.push(` final res = await http.post(`);
38
+ lines.push(` Uri.parse('\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/auth/otp/request'),`);
39
+ lines.push(` headers: {`);
40
+ lines.push(` 'Content-Type': 'application/json',`);
41
+ lines.push(` 'x-api-key': ApiConfig.apiKey,`);
42
+ lines.push(` },`);
43
+ lines.push(` body: jsonEncode({'phone': to}),`);
44
+ lines.push(` );`);
45
+ lines.push(` if (res.statusCode != 200) throw Exception('OTP send failed: \${res.body}');`);
46
+ lines.push(` }`);
47
+ lines.push(`}`);
48
+ return {
49
+ path: 'lib/generated/integrations/twilio.g.dart',
50
+ content: lines.join('\n'),
51
+ category: 'generated',
52
+ };
53
+ }
54
+ //# sourceMappingURL=twilio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilio.js","sourceRoot":"","sources":["../../src/integrations/twilio.ts"],"names":[],"mappings":";AAAA,iFAAiF;;AAIjF,sDAkDC;AAlDD,SAAgB,qBAAqB,CAAC,MAA8B;IAClE,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACpC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;IAC7C,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;IACrC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1B,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAA;IACtG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;IAC9F,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAA;IACzE,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAA;IAC9G,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACtB,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpB,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;IAC9F,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEf,OAAO;QACL,IAAI,EAAM,0CAA0C;QACpD,OAAO,EAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ export declare function generateUploadthingFlutter(config: Record<string, string>): GeneratedFile;
3
+ //# sourceMappingURL=uploadthing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadthing.d.ts","sourceRoot":"","sources":["../../src/integrations/uploadthing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAqDxF"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ // File: underpeaks_codegen/packages/generator-flutter/src/integrations/uploadthing.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.generateUploadthingFlutter = generateUploadthingFlutter;
5
+ function generateUploadthingFlutter(config) {
6
+ const lines = [];
7
+ lines.push(`// GENERATED FILE — DO NOT EDIT MANUALLY`);
8
+ lines.push(`// Generated by Underpeaks CodeGen v1.0.0`);
9
+ lines.push(`// Integration: Uploadthing`);
10
+ lines.push(`// ignore_for_file: lines_longer_than_80_chars`);
11
+ lines.push(``);
12
+ lines.push(`// ── Note ──────────────────────────────────────────────────────────────────`);
13
+ lines.push(`// Uploadthing is not called directly — files route through Underpeaks'`);
14
+ lines.push(`// own hosted storage endpoint (same one NxfStorage uses), which returns a`);
15
+ lines.push(`// permanent public URL. This keeps a single, consistent upload contract`);
16
+ lines.push(`// instead of a second provider-specific one.`);
17
+ lines.push(``);
18
+ lines.push(`import 'dart:io';`);
19
+ lines.push(`import 'dart:convert';`);
20
+ lines.push(`import 'package:http/http.dart' as http;`);
21
+ lines.push(`import '../../config/api_config.dart';`);
22
+ lines.push(``);
23
+ lines.push(`class NxfUploadthing {`);
24
+ lines.push(` NxfUploadthing._();`);
25
+ lines.push(``);
26
+ lines.push(` // FIX: was sending Content-Type: application/json with the file as a raw`);
27
+ lines.push(` // byte-array field ('data') — the real /storage/upload route (see`);
28
+ lines.push(` // NxfStorage.upload in storage.g.dart) only accepts multipart/form-data`);
29
+ lines.push(` // via req.formData(), so this request always failed. Now uses the same`);
30
+ lines.push(` // MultipartRequest pattern as NxfStorage, with 'route' passed through as`);
31
+ lines.push(` // the folder value.`);
32
+ lines.push(` static Future<String> uploadFile(File file, {String route = 'imageUploader'}) async {`);
33
+ lines.push(` final req = http.MultipartRequest(`);
34
+ lines.push(` 'POST',`);
35
+ lines.push(` Uri.parse('\${ApiConfig.baseUrl}/api-public/v1/\${ApiConfig.projectId}/storage/upload'),`);
36
+ lines.push(` );`);
37
+ lines.push(` req.headers['x-api-key'] = ApiConfig.apiKey;`);
38
+ lines.push(` req.fields['folder'] = route;`);
39
+ lines.push(` req.files.add(await http.MultipartFile.fromPath('file', file.path));`);
40
+ lines.push(``);
41
+ lines.push(` final streamed = await req.send();`);
42
+ lines.push(` final res = await http.Response.fromStream(streamed);`);
43
+ lines.push(``);
44
+ lines.push(` if (res.statusCode != 201) {`);
45
+ lines.push(` throw Exception('Upload failed: \${res.body}');`);
46
+ lines.push(` }`);
47
+ lines.push(` final data = jsonDecode(res.body) as Map<String, dynamic>;`);
48
+ lines.push(` return data['url'] as String;`);
49
+ lines.push(` }`);
50
+ lines.push(`}`);
51
+ return {
52
+ path: 'lib/generated/integrations/uploadthing.g.dart',
53
+ content: lines.join('\n'),
54
+ category: 'generated',
55
+ };
56
+ }
57
+ //# sourceMappingURL=uploadthing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadthing.js","sourceRoot":"","sources":["../../src/integrations/uploadthing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { GeneratedFile } from '@underpeaks/generator-core';
2
+ interface Endpoint {
3
+ endpoint_id: string;
4
+ name: string;
5
+ method: string;
6
+ path: string;
7
+ model_name: string;
8
+ operation: string;
9
+ }
10
+ export declare function generateApiBuilderFlutter(endpoints: Endpoint[]): GeneratedFile;
11
+ export {};
12
+ //# sourceMappingURL=api-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-builder.d.ts","sourceRoot":"","sources":["../../src/templates/api-builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAE/D,UAAU,QAAQ;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,MAAM,EAAO,MAAM,CAAA;IACnB,IAAI,EAAS,MAAM,CAAA;IACnB,UAAU,EAAG,MAAM,CAAA;IACnB,SAAS,EAAI,MAAM,CAAA;CACpB;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,aAAa,CAgG9E"}