@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.
- package/dist/adapters/bloc/bloc.d.ts +3 -0
- package/dist/adapters/bloc/bloc.d.ts.map +1 -0
- package/dist/adapters/bloc/bloc.js +283 -0
- package/dist/adapters/bloc/bloc.js.map +1 -0
- package/dist/adapters/provider/provider.d.ts +3 -0
- package/dist/adapters/provider/provider.d.ts.map +1 -0
- package/dist/adapters/provider/provider.js +182 -0
- package/dist/adapters/provider/provider.js.map +1 -0
- package/dist/adapters/riverpod/provider.d.ts +3 -0
- package/dist/adapters/riverpod/provider.d.ts.map +1 -0
- package/dist/adapters/riverpod/provider.js +230 -0
- package/dist/adapters/riverpod/provider.js.map +1 -0
- package/dist/generator.d.ts +3 -0
- package/dist/generator.d.ts.map +1 -0
- package/dist/generator.js +199 -0
- package/dist/generator.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/algolia.d.ts +3 -0
- package/dist/integrations/algolia.d.ts.map +1 -0
- package/dist/integrations/algolia.js +51 -0
- package/dist/integrations/algolia.js.map +1 -0
- package/dist/integrations/anthropic.d.ts +3 -0
- package/dist/integrations/anthropic.d.ts.map +1 -0
- package/dist/integrations/anthropic.js +49 -0
- package/dist/integrations/anthropic.js.map +1 -0
- package/dist/integrations/aws-s3.d.ts +3 -0
- package/dist/integrations/aws-s3.d.ts.map +1 -0
- package/dist/integrations/aws-s3.js +67 -0
- package/dist/integrations/aws-s3.js.map +1 -0
- package/dist/integrations/clerk.d.ts +3 -0
- package/dist/integrations/clerk.d.ts.map +1 -0
- package/dist/integrations/clerk.js +68 -0
- package/dist/integrations/clerk.js.map +1 -0
- package/dist/integrations/cloudinary.d.ts +3 -0
- package/dist/integrations/cloudinary.d.ts.map +1 -0
- package/dist/integrations/cloudinary.js +64 -0
- package/dist/integrations/cloudinary.js.map +1 -0
- package/dist/integrations/crisp.d.ts +3 -0
- package/dist/integrations/crisp.d.ts.map +1 -0
- package/dist/integrations/crisp.js +42 -0
- package/dist/integrations/crisp.js.map +1 -0
- package/dist/integrations/firebase.d.ts +3 -0
- package/dist/integrations/firebase.d.ts.map +1 -0
- package/dist/integrations/firebase.js +78 -0
- package/dist/integrations/firebase.js.map +1 -0
- package/dist/integrations/flutterwave.d.ts +3 -0
- package/dist/integrations/flutterwave.d.ts.map +1 -0
- package/dist/integrations/flutterwave.js +58 -0
- package/dist/integrations/flutterwave.js.map +1 -0
- package/dist/integrations/gemini.d.ts +3 -0
- package/dist/integrations/gemini.d.ts.map +1 -0
- package/dist/integrations/gemini.js +49 -0
- package/dist/integrations/gemini.js.map +1 -0
- package/dist/integrations/github.d.ts +3 -0
- package/dist/integrations/github.d.ts.map +1 -0
- package/dist/integrations/github.js +58 -0
- package/dist/integrations/github.js.map +1 -0
- package/dist/integrations/hubspot.d.ts +3 -0
- package/dist/integrations/hubspot.d.ts.map +1 -0
- package/dist/integrations/hubspot.js +70 -0
- package/dist/integrations/hubspot.js.map +1 -0
- package/dist/integrations/index.d.ts +3 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +63 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/lemonsqueezy.d.ts +3 -0
- package/dist/integrations/lemonsqueezy.d.ts.map +1 -0
- package/dist/integrations/lemonsqueezy.js +49 -0
- package/dist/integrations/lemonsqueezy.js.map +1 -0
- package/dist/integrations/mailchimp.d.ts +3 -0
- package/dist/integrations/mailchimp.d.ts.map +1 -0
- package/dist/integrations/mailchimp.js +49 -0
- package/dist/integrations/mailchimp.js.map +1 -0
- package/dist/integrations/openai.d.ts +3 -0
- package/dist/integrations/openai.d.ts.map +1 -0
- package/dist/integrations/openai.js +55 -0
- package/dist/integrations/openai.js.map +1 -0
- package/dist/integrations/payfast.d.ts +3 -0
- package/dist/integrations/payfast.d.ts.map +1 -0
- package/dist/integrations/payfast.js +55 -0
- package/dist/integrations/payfast.js.map +1 -0
- package/dist/integrations/pusher.d.ts +3 -0
- package/dist/integrations/pusher.d.ts.map +1 -0
- package/dist/integrations/pusher.js +64 -0
- package/dist/integrations/pusher.js.map +1 -0
- package/dist/integrations/resend.d.ts +3 -0
- package/dist/integrations/resend.d.ts.map +1 -0
- package/dist/integrations/resend.js +51 -0
- package/dist/integrations/resend.js.map +1 -0
- package/dist/integrations/sendgrid.d.ts +3 -0
- package/dist/integrations/sendgrid.d.ts.map +1 -0
- package/dist/integrations/sendgrid.js +49 -0
- package/dist/integrations/sendgrid.js.map +1 -0
- package/dist/integrations/sentry.d.ts +3 -0
- package/dist/integrations/sentry.d.ts.map +1 -0
- package/dist/integrations/sentry.js +62 -0
- package/dist/integrations/sentry.js.map +1 -0
- package/dist/integrations/slack.d.ts +3 -0
- package/dist/integrations/slack.d.ts.map +1 -0
- package/dist/integrations/slack.js +41 -0
- package/dist/integrations/slack.js.map +1 -0
- package/dist/integrations/storage.d.ts +3 -0
- package/dist/integrations/storage.d.ts.map +1 -0
- package/dist/integrations/storage.js +106 -0
- package/dist/integrations/storage.js.map +1 -0
- package/dist/integrations/stripe.d.ts +3 -0
- package/dist/integrations/stripe.d.ts.map +1 -0
- package/dist/integrations/stripe.js +78 -0
- package/dist/integrations/stripe.js.map +1 -0
- package/dist/integrations/twilio.d.ts +3 -0
- package/dist/integrations/twilio.d.ts.map +1 -0
- package/dist/integrations/twilio.js +54 -0
- package/dist/integrations/twilio.js.map +1 -0
- package/dist/integrations/uploadthing.d.ts +3 -0
- package/dist/integrations/uploadthing.d.ts.map +1 -0
- package/dist/integrations/uploadthing.js +57 -0
- package/dist/integrations/uploadthing.js.map +1 -0
- package/dist/templates/api-builder.d.ts +12 -0
- package/dist/templates/api-builder.d.ts.map +1 -0
- package/dist/templates/api-builder.js +104 -0
- package/dist/templates/api-builder.js.map +1 -0
- package/dist/templates/api-config.d.ts +3 -0
- package/dist/templates/api-config.d.ts.map +1 -0
- package/dist/templates/api-config.js +60 -0
- package/dist/templates/api-config.js.map +1 -0
- package/dist/templates/env.d.ts +3 -0
- package/dist/templates/env.d.ts.map +1 -0
- package/dist/templates/env.js +27 -0
- package/dist/templates/env.js.map +1 -0
- package/dist/templates/gitignore.d.ts +3 -0
- package/dist/templates/gitignore.d.ts.map +1 -0
- package/dist/templates/gitignore.js +61 -0
- package/dist/templates/gitignore.js.map +1 -0
- package/dist/templates/main.d.ts +3 -0
- package/dist/templates/main.d.ts.map +1 -0
- package/dist/templates/main.js +66 -0
- package/dist/templates/main.js.map +1 -0
- package/dist/templates/model.d.ts +3 -0
- package/dist/templates/model.d.ts.map +1 -0
- package/dist/templates/model.js +104 -0
- package/dist/templates/model.js.map +1 -0
- package/dist/templates/navigation.d.ts +3 -0
- package/dist/templates/navigation.d.ts.map +1 -0
- package/dist/templates/navigation.js +306 -0
- package/dist/templates/navigation.js.map +1 -0
- package/dist/templates/page-auth.d.ts +3 -0
- package/dist/templates/page-auth.d.ts.map +1 -0
- package/dist/templates/page-auth.js +523 -0
- package/dist/templates/page-auth.js.map +1 -0
- package/dist/templates/page-blog-post.d.ts +3 -0
- package/dist/templates/page-blog-post.d.ts.map +1 -0
- package/dist/templates/page-blog-post.js +118 -0
- package/dist/templates/page-blog-post.js.map +1 -0
- package/dist/templates/page-calendar.d.ts +3 -0
- package/dist/templates/page-calendar.d.ts.map +1 -0
- package/dist/templates/page-calendar.js +173 -0
- package/dist/templates/page-calendar.js.map +1 -0
- package/dist/templates/page-cart.d.ts +3 -0
- package/dist/templates/page-cart.d.ts.map +1 -0
- package/dist/templates/page-cart.js +151 -0
- package/dist/templates/page-cart.js.map +1 -0
- package/dist/templates/page-chat.d.ts +3 -0
- package/dist/templates/page-chat.d.ts.map +1 -0
- package/dist/templates/page-chat.js +158 -0
- package/dist/templates/page-chat.js.map +1 -0
- package/dist/templates/page-checkout.d.ts +3 -0
- package/dist/templates/page-checkout.d.ts.map +1 -0
- package/dist/templates/page-checkout.js +180 -0
- package/dist/templates/page-checkout.js.map +1 -0
- package/dist/templates/page-contact.d.ts +1 -0
- package/dist/templates/page-contact.d.ts.map +1 -0
- package/dist/templates/page-contact.js +143 -0
- package/dist/templates/page-contact.js.map +1 -0
- package/dist/templates/page-custom.d.ts +3 -0
- package/dist/templates/page-custom.d.ts.map +1 -0
- package/dist/templates/page-custom.js +45 -0
- package/dist/templates/page-custom.js.map +1 -0
- package/dist/templates/page-dashboard.d.ts +3 -0
- package/dist/templates/page-dashboard.d.ts.map +1 -0
- package/dist/templates/page-dashboard.js +157 -0
- package/dist/templates/page-dashboard.js.map +1 -0
- package/dist/templates/page-detail.d.ts +3 -0
- package/dist/templates/page-detail.d.ts.map +1 -0
- package/dist/templates/page-detail.js +165 -0
- package/dist/templates/page-detail.js.map +1 -0
- package/dist/templates/page-feed.d.ts +3 -0
- package/dist/templates/page-feed.d.ts.map +1 -0
- package/dist/templates/page-feed.js +168 -0
- package/dist/templates/page-feed.js.map +1 -0
- package/dist/templates/page-form.d.ts +3 -0
- package/dist/templates/page-form.d.ts.map +1 -0
- package/dist/templates/page-form.js +205 -0
- package/dist/templates/page-form.js.map +1 -0
- package/dist/templates/page-gallery.d.ts +3 -0
- package/dist/templates/page-gallery.d.ts.map +1 -0
- package/dist/templates/page-gallery.js +152 -0
- package/dist/templates/page-gallery.js.map +1 -0
- package/dist/templates/page-invoice.d.ts +3 -0
- package/dist/templates/page-invoice.d.ts.map +1 -0
- package/dist/templates/page-invoice.js +144 -0
- package/dist/templates/page-invoice.js.map +1 -0
- package/dist/templates/page-kanban.d.ts +3 -0
- package/dist/templates/page-kanban.d.ts.map +1 -0
- package/dist/templates/page-kanban.js +114 -0
- package/dist/templates/page-kanban.js.map +1 -0
- package/dist/templates/page-list.d.ts +3 -0
- package/dist/templates/page-list.d.ts.map +1 -0
- package/dist/templates/page-list.js +284 -0
- package/dist/templates/page-list.js.map +1 -0
- package/dist/templates/page-map.d.ts +3 -0
- package/dist/templates/page-map.d.ts.map +1 -0
- package/dist/templates/page-map.js +94 -0
- package/dist/templates/page-map.js.map +1 -0
- package/dist/templates/page-messages.d.ts +3 -0
- package/dist/templates/page-messages.d.ts.map +1 -0
- package/dist/templates/page-messages.js +48 -0
- package/dist/templates/page-messages.js.map +1 -0
- package/dist/templates/page-onboarding.d.ts +3 -0
- package/dist/templates/page-onboarding.d.ts.map +1 -0
- package/dist/templates/page-onboarding.js +164 -0
- package/dist/templates/page-onboarding.js.map +1 -0
- package/dist/templates/page-otp.d.ts +3 -0
- package/dist/templates/page-otp.d.ts.map +1 -0
- package/dist/templates/page-otp.js +216 -0
- package/dist/templates/page-otp.js.map +1 -0
- package/dist/templates/page-profile.d.ts +3 -0
- package/dist/templates/page-profile.d.ts.map +1 -0
- package/dist/templates/page-profile.js +159 -0
- package/dist/templates/page-profile.js.map +1 -0
- package/dist/templates/page-reset-password.d.ts +3 -0
- package/dist/templates/page-reset-password.d.ts.map +1 -0
- package/dist/templates/page-reset-password.js +168 -0
- package/dist/templates/page-reset-password.js.map +1 -0
- package/dist/templates/page-search.d.ts +3 -0
- package/dist/templates/page-search.d.ts.map +1 -0
- package/dist/templates/page-search.js +112 -0
- package/dist/templates/page-search.js.map +1 -0
- package/dist/templates/page-settings.d.ts +3 -0
- package/dist/templates/page-settings.d.ts.map +1 -0
- package/dist/templates/page-settings.js +123 -0
- package/dist/templates/page-settings.js.map +1 -0
- package/dist/templates/page-splash.d.ts +3 -0
- package/dist/templates/page-splash.d.ts.map +1 -0
- package/dist/templates/page-splash.js +93 -0
- package/dist/templates/page-splash.js.map +1 -0
- package/dist/templates/page-wallet.d.ts +3 -0
- package/dist/templates/page-wallet.d.ts.map +1 -0
- package/dist/templates/page-wallet.js +97 -0
- package/dist/templates/page-wallet.js.map +1 -0
- package/dist/templates/pubspec.d.ts +3 -0
- package/dist/templates/pubspec.d.ts.map +1 -0
- package/dist/templates/pubspec.js +72 -0
- package/dist/templates/pubspec.js.map +1 -0
- package/dist/templates/readme.d.ts +3 -0
- package/dist/templates/readme.d.ts.map +1 -0
- package/dist/templates/readme.js +111 -0
- package/dist/templates/readme.js.map +1 -0
- package/dist/templates/repository.d.ts +3 -0
- package/dist/templates/repository.d.ts.map +1 -0
- package/dist/templates/repository.js +224 -0
- package/dist/templates/repository.js.map +1 -0
- package/dist/templates/theme.d.ts +3 -0
- package/dist/templates/theme.d.ts.map +1 -0
- package/dist/templates/theme.js +163 -0
- package/dist/templates/theme.js.map +1 -0
- package/dist/templates/validators.d.ts +3 -0
- package/dist/templates/validators.d.ts.map +1 -0
- package/dist/templates/validators.js +38 -0
- package/dist/templates/validators.js.map +1 -0
- package/dist/templates/widget-card.d.ts +3 -0
- package/dist/templates/widget-card.d.ts.map +1 -0
- package/dist/templates/widget-card.js +91 -0
- package/dist/templates/widget-card.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|