We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Stripe publishable key should be accessible to non-admin user
The settings schema for non-admin user does not contain stripe publishable key and hence non-admin user cannot add stripe to its event.

https://api.eventyay.com/v1/settings should contain stripe publishable key

See #6277 as well

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `app/api/schema/settings.py`
Content:
```
1 from marshmallow_jsonapi import fields
2 from marshmallow_jsonapi.flask import Schema
3 
4 from app.api.helpers.utilities import dasherize
5 from app.settings import Environment
6 from utils.common import use_defaults
7 
8 
9 class SettingSchemaPublic(Schema):
10     """
11     Public Api schema for settings Model
12     """
13 
14     class Meta:
15         """
16         Meta class for setting Api Schema
17         """
18 
19         type_ = 'setting'
20         self_view = 'v1.setting_detail'
21         self_view_kwargs = {'id': '<id>'}
22         inflect = dasherize
23 
24     id = fields.Str(dump_only=True)
25 
26     # Name of the application. (Eg. Event Yay!, Open Event)
27     app_name = fields.Str(allow_none=True)
28 
29     # Tagline for the application. (Eg. Event Management and Ticketing, Home)
30     tagline = fields.Str(allow_none=True)
31 
32     # Order Expiry Time
33     order_expiry_time = fields.Integer(
34         allow_none=False, default=15, validate=lambda n: 1 <= n <= 60
35     )
36 
37     # Maximum number of complex custom fields allowed for a given form
38     max_complex_custom_fields = fields.Integer(
39         allow_none=False, default=30, validate=lambda n: 1 <= n <= 30
40     )
41 
42     # Google Analytics
43     analytics_key = fields.Str(allow_none=True)
44 
45     # FB
46     fb_client_id = fields.Str(allow_none=True)
47 
48     #
49     # Social links
50     #
51     google_url = fields.Str(allow_none=True)
52     github_url = fields.Str(allow_none=True)
53     twitter_url = fields.Str(allow_none=True)
54     support_url = fields.Str(allow_none=True)
55     facebook_url = fields.Str(allow_none=True)
56     instagram_url = fields.Str(allow_none=True)
57     youtube_url = fields.Str(allow_none=True)
58 
59     # Url of Frontend
60     frontend_url = fields.Url(allow_none=True)
61 
62     #
63     # Cookie Policy
64     #
65     cookie_policy = fields.Str(allow_none=True)
66     cookie_policy_link = fields.Str(allow_none=True)
67 
68     #
69     # Online Payment Flags
70     #
71     is_paytm_activated = fields.Bool(default=False)
72     is_paypal_activated = fields.Bool(dump_only=True)
73     is_stripe_activated = fields.Bool(dump_only=True)
74     is_omise_activated = fields.Bool(dump_only=True)
75     is_alipay_activated = fields.Bool(dump_only=True)
76 
77 
78 class SettingSchemaNonAdmin(SettingSchemaPublic):
79     """
80     Non Admin Api schema for settings Model
81     """
82 
83     class Meta:
84         """
85         Meta class for setting Api Schema
86         """
87 
88         type_ = 'setting'
89         self_view = 'v1.setting_detail'
90         self_view_kwargs = {'id': '<id>'}
91         inflect = dasherize
92 
93     id = fields.Str(dump_only=True)
94 
95     #
96     # Generators
97     #
98     android_app_url = fields.Str(allow_none=True)
99     web_app_url = fields.Str(allow_none=True)
100 
101 
102 @use_defaults()
103 class SettingSchemaAdmin(SettingSchemaNonAdmin):
104     """
105     Admin Api schema for settings Model
106     """
107 
108     class Meta:
109         """
110         Meta class for setting Api Schema
111         """
112 
113         type_ = 'setting'
114         self_view = 'v1.setting_detail'
115         self_view_kwargs = {'id': '<id>'}
116         inflect = dasherize
117 
118     id = fields.Str(dump_only=True)
119     #
120     # General
121     #
122 
123     app_environment = fields.Str(default=Environment.PRODUCTION)
124 
125     # Static domain
126     static_domain = fields.Str(allow_none=True)
127 
128     #
129     #  STORAGE
130     #
131 
132     # storage place, local, s3, .. can be more in future
133     storage_place = fields.Str(allow_none=True)
134     # S3
135     aws_key = fields.Str(allow_none=True)
136     aws_secret = fields.Str(allow_none=True)
137     aws_bucket_name = fields.Str(allow_none=True)
138     aws_region = fields.Str(allow_none=True)
139     # Google Storage
140     gs_key = fields.Str(allow_none=True)
141     gs_secret = fields.Str(allow_none=True)
142     gs_bucket_name = fields.Str(allow_none=True)
143 
144     #
145     # CAPTCHA
146     #
147 
148     # Google reCAPTCHA
149     is_google_recaptcha_enabled = fields.Bool(allow_none=False, default=False)
150     google_recaptcha_site = fields.Str(allow_none=True)
151     google_recaptcha_secret = fields.Str(allow_none=True)
152 
153     #
154     # Social Login
155     #
156 
157     # Google Auth
158     google_client_id = fields.Str(allow_none=True)
159     google_client_secret = fields.Str(allow_none=True)
160     # FB
161     fb_client_id = fields.Str(allow_none=True)
162     fb_client_secret = fields.Str(allow_none=True)
163     # Twitter
164     tw_consumer_key = fields.Str(allow_none=True)
165     tw_consumer_secret = fields.Str(allow_none=True)
166     # Instagram
167     in_client_id = fields.Str(allow_none=True)
168     in_client_secret = fields.Str(allow_none=True)
169 
170     #
171     # Payment Gateways
172     #
173 
174     # Stripe Credantials
175     stripe_client_id = fields.Str(allow_none=True)
176     stripe_publishable_key = fields.Str(allow_none=True)
177     stripe_secret_key = fields.Str(allow_none=True)
178     stripe_test_client_id = fields.Str(allow_none=True)
179     stripe_test_secret_key = fields.Str(allow_none=True)
180     stripe_test_publishable_key = fields.Str(allow_none=True)
181 
182     # PayPal Credentials
183     paypal_mode = fields.Str(allow_none=True)
184     paypal_client = fields.Str(allow_none=True)
185     paypal_secret = fields.Str(allow_none=True)
186     paypal_sandbox_client = fields.Str(allow_none=True)
187     paypal_sandbox_secret = fields.Str(allow_none=True)
188 
189     # Omise Credentials
190     omise_mode = fields.Str(allow_none=True)
191     omise_test_public = fields.Str(allow_none=True)
192     omise_test_secret = fields.Str(allow_none=True)
193     omise_live_public = fields.Str(allow_none=True)
194     omise_live_secret = fields.Str(allow_none=True)
195 
196     # Alipay Credentials
197     alipay_publishable_key = fields.Str(allow_none=True)
198     alipay_secret_key = fields.Str(allow_none=True)
199 
200     # payTM credentials
201     paytm_mode = fields.Str(allow_none=True)
202     paytm_live_merchant = fields.Str(allow_none=True)
203     paytm_live_secret = fields.Str(allow_none=True)
204     paytm_sandbox_merchant = fields.Str(allow_none=True)
205     paytm_sandbox_secret = fields.Str(allow_none=True)
206     #
207     # EMAIL
208     #
209 
210     # Email service. (sendgrid,smtp)
211     email_service = fields.Str(allow_none=True)
212     email_from = fields.Str(allow_none=True)
213     email_from_name = fields.Str(allow_none=True)
214     # Sendgrid
215     sendgrid_key = fields.Str(allow_none=True)
216     # SMTP
217     smtp_host = fields.Str(allow_none=True)
218     smtp_username = fields.Str(allow_none=True)
219     smtp_password = fields.Str(allow_none=True)
220     smtp_port = fields.Integer(allow_none=True)
221     smtp_encryption = fields.Str(allow_none=True)  # Can be tls, ssl, none
222 
223     # Event Invoices settings
224     invoice_sending_day = fields.Integer(allow_none=False, default=1)
225     invoice_sending_timezone = fields.Str(allow_none=False, default="UTC")
226 
227     # Admin Invoice Details
228     admin_billing_contact_name = fields.Str(allow_none=True)
229     admin_billing_phone = fields.Str(allow_none=True)
230     admin_billing_email = fields.Email(allow_none=True)
231     admin_billing_state = fields.Str(allow_none=True)
232     admin_billing_country = fields.Str(allow_none=True)
233     admin_billing_tax_info = fields.Str(allow_none=True)
234     admin_company = fields.Str(allow_none=True)
235     admin_billing_address = fields.Str(allow_none=True)
236     admin_billing_city = fields.Str(allow_none=True)
237     admin_billing_zip = fields.Str(allow_none=True)
238     admin_billing_additional_info = fields.Str(allow_none=True)
239
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/app/api/schema/settings.py b/app/api/schema/settings.py
--- a/app/api/schema/settings.py
+++ b/app/api/schema/settings.py
@@ -74,6 +74,34 @@
     is_omise_activated = fields.Bool(dump_only=True)
     is_alipay_activated = fields.Bool(dump_only=True)
 
+    #
+    # Payment Gateways
+    #
+
+    # Stripe Credantials
+    stripe_client_id = fields.Str(dump_only=True)
+    stripe_publishable_key = fields.Str(dump_only=True)
+    stripe_test_client_id = fields.Str(dump_only=True)
+    stripe_test_publishable_key = fields.Str(dump_only=True)
+
+    # PayPal Credentials
+    paypal_mode = fields.Str(dump_only=True)
+    paypal_client = fields.Str(dump_only=True)
+    paypal_sandbox_client = fields.Str(dump_only=True)
+
+    # Omise Credentials
+    omise_mode = fields.Str(dump_only=True)
+    omise_test_public = fields.Str(dump_only=True)
+    omise_live_public = fields.Str(dump_only=True)
+
+    # Alipay Credentials
+    alipay_publishable_key = fields.Str(dump_only=True)
+
+    # payTM credentials
+    paytm_mode = fields.Str(dump_only=True)
+    paytm_live_merchant = fields.Str(dump_only=True)
+    paytm_sandbox_merchant = fields.Str(dump_only=True)
+
 
 class SettingSchemaNonAdmin(SettingSchemaPublic):
     """

{"golden_diff": "diff --git a/app/api/schema/settings.py b/app/api/schema/settings.py\n--- a/app/api/schema/settings.py\n+++ b/app/api/schema/settings.py\n@@ -74,6 +74,34 @@\n     is_omise_activated = fields.Bool(dump_only=True)\n     is_alipay_activated = fields.Bool(dump_only=True)\n \n+    #\n+    # Payment Gateways\n+    #\n+\n+    # Stripe Credantials\n+    stripe_client_id = fields.Str(dump_only=True)\n+    stripe_publishable_key = fields.Str(dump_only=True)\n+    stripe_test_client_id = fields.Str(dump_only=True)\n+    stripe_test_publishable_key = fields.Str(dump_only=True)\n+\n+    # PayPal Credentials\n+    paypal_mode = fields.Str(dump_only=True)\n+    paypal_client = fields.Str(dump_only=True)\n+    paypal_sandbox_client = fields.Str(dump_only=True)\n+\n+    # Omise Credentials\n+    omise_mode = fields.Str(dump_only=True)\n+    omise_test_public = fields.Str(dump_only=True)\n+    omise_live_public = fields.Str(dump_only=True)\n+\n+    # Alipay Credentials\n+    alipay_publishable_key = fields.Str(dump_only=True)\n+\n+    # payTM credentials\n+    paytm_mode = fields.Str(dump_only=True)\n+    paytm_live_merchant = fields.Str(dump_only=True)\n+    paytm_sandbox_merchant = fields.Str(dump_only=True)\n+\n \n class SettingSchemaNonAdmin(SettingSchemaPublic):\n     \"\"\"\n", "issue": "Stripe publishable key should be accessible to non-admin user\nThe settings schema for non-admin user does not contain stripe publishable key and hence non-admin user cannot add stripe to its event.\r\n\r\nhttps://api.eventyay.com/v1/settings should contain stripe publishable key\r\n\r\nSee #6277 as well\n", "before_files": [{"content": "from marshmallow_jsonapi import fields\nfrom marshmallow_jsonapi.flask import Schema\n\nfrom app.api.helpers.utilities import dasherize\nfrom app.settings import Environment\nfrom utils.common import use_defaults\n\n\nclass SettingSchemaPublic(Schema):\n    \"\"\"\n    Public Api schema for settings Model\n    \"\"\"\n\n    class Meta:\n        \"\"\"\n        Meta class for setting Api Schema\n        \"\"\"\n\n        type_ = 'setting'\n        self_view = 'v1.setting_detail'\n        self_view_kwargs = {'id': '<id>'}\n        inflect = dasherize\n\n    id = fields.Str(dump_only=True)\n\n    # Name of the application. (Eg. Event Yay!, Open Event)\n    app_name = fields.Str(allow_none=True)\n\n    # Tagline for the application. (Eg. Event Management and Ticketing, Home)\n    tagline = fields.Str(allow_none=True)\n\n    # Order Expiry Time\n    order_expiry_time = fields.Integer(\n        allow_none=False, default=15, validate=lambda n: 1 <= n <= 60\n    )\n\n    # Maximum number of complex custom fields allowed for a given form\n    max_complex_custom_fields = fields.Integer(\n        allow_none=False, default=30, validate=lambda n: 1 <= n <= 30\n    )\n\n    # Google Analytics\n    analytics_key = fields.Str(allow_none=True)\n\n    # FB\n    fb_client_id = fields.Str(allow_none=True)\n\n    #\n    # Social links\n    #\n    google_url = fields.Str(allow_none=True)\n    github_url = fields.Str(allow_none=True)\n    twitter_url = fields.Str(allow_none=True)\n    support_url = fields.Str(allow_none=True)\n    facebook_url = fields.Str(allow_none=True)\n    instagram_url = fields.Str(allow_none=True)\n    youtube_url = fields.Str(allow_none=True)\n\n    # Url of Frontend\n    frontend_url = fields.Url(allow_none=True)\n\n    #\n    # Cookie Policy\n    #\n    cookie_policy = fields.Str(allow_none=True)\n    cookie_policy_link = fields.Str(allow_none=True)\n\n    #\n    # Online Payment Flags\n    #\n    is_paytm_activated = fields.Bool(default=False)\n    is_paypal_activated = fields.Bool(dump_only=True)\n    is_stripe_activated = fields.Bool(dump_only=True)\n    is_omise_activated = fields.Bool(dump_only=True)\n    is_alipay_activated = fields.Bool(dump_only=True)\n\n\nclass SettingSchemaNonAdmin(SettingSchemaPublic):\n    \"\"\"\n    Non Admin Api schema for settings Model\n    \"\"\"\n\n    class Meta:\n        \"\"\"\n        Meta class for setting Api Schema\n        \"\"\"\n\n        type_ = 'setting'\n        self_view = 'v1.setting_detail'\n        self_view_kwargs = {'id': '<id>'}\n        inflect = dasherize\n\n    id = fields.Str(dump_only=True)\n\n    #\n    # Generators\n    #\n    android_app_url = fields.Str(allow_none=True)\n    web_app_url = fields.Str(allow_none=True)\n\n\n@use_defaults()\nclass SettingSchemaAdmin(SettingSchemaNonAdmin):\n    \"\"\"\n    Admin Api schema for settings Model\n    \"\"\"\n\n    class Meta:\n        \"\"\"\n        Meta class for setting Api Schema\n        \"\"\"\n\n        type_ = 'setting'\n        self_view = 'v1.setting_detail'\n        self_view_kwargs = {'id': '<id>'}\n        inflect = dasherize\n\n    id = fields.Str(dump_only=True)\n    #\n    # General\n    #\n\n    app_environment = fields.Str(default=Environment.PRODUCTION)\n\n    # Static domain\n    static_domain = fields.Str(allow_none=True)\n\n    #\n    #  STORAGE\n    #\n\n    # storage place, local, s3, .. can be more in future\n    storage_place = fields.Str(allow_none=True)\n    # S3\n    aws_key = fields.Str(allow_none=True)\n    aws_secret = fields.Str(allow_none=True)\n    aws_bucket_name = fields.Str(allow_none=True)\n    aws_region = fields.Str(allow_none=True)\n    # Google Storage\n    gs_key = fields.Str(allow_none=True)\n    gs_secret = fields.Str(allow_none=True)\n    gs_bucket_name = fields.Str(allow_none=True)\n\n    #\n    # CAPTCHA\n    #\n\n    # Google reCAPTCHA\n    is_google_recaptcha_enabled = fields.Bool(allow_none=False, default=False)\n    google_recaptcha_site = fields.Str(allow_none=True)\n    google_recaptcha_secret = fields.Str(allow_none=True)\n\n    #\n    # Social Login\n    #\n\n    # Google Auth\n    google_client_id = fields.Str(allow_none=True)\n    google_client_secret = fields.Str(allow_none=True)\n    # FB\n    fb_client_id = fields.Str(allow_none=True)\n    fb_client_secret = fields.Str(allow_none=True)\n    # Twitter\n    tw_consumer_key = fields.Str(allow_none=True)\n    tw_consumer_secret = fields.Str(allow_none=True)\n    # Instagram\n    in_client_id = fields.Str(allow_none=True)\n    in_client_secret = fields.Str(allow_none=True)\n\n    #\n    # Payment Gateways\n    #\n\n    # Stripe Credantials\n    stripe_client_id = fields.Str(allow_none=True)\n    stripe_publishable_key = fields.Str(allow_none=True)\n    stripe_secret_key = fields.Str(allow_none=True)\n    stripe_test_client_id = fields.Str(allow_none=True)\n    stripe_test_secret_key = fields.Str(allow_none=True)\n    stripe_test_publishable_key = fields.Str(allow_none=True)\n\n    # PayPal Credentials\n    paypal_mode = fields.Str(allow_none=True)\n    paypal_client = fields.Str(allow_none=True)\n    paypal_secret = fields.Str(allow_none=True)\n    paypal_sandbox_client = fields.Str(allow_none=True)\n    paypal_sandbox_secret = fields.Str(allow_none=True)\n\n    # Omise Credentials\n    omise_mode = fields.Str(allow_none=True)\n    omise_test_public = fields.Str(allow_none=True)\n    omise_test_secret = fields.Str(allow_none=True)\n    omise_live_public = fields.Str(allow_none=True)\n    omise_live_secret = fields.Str(allow_none=True)\n\n    # Alipay Credentials\n    alipay_publishable_key = fields.Str(allow_none=True)\n    alipay_secret_key = fields.Str(allow_none=True)\n\n    # payTM credentials\n    paytm_mode = fields.Str(allow_none=True)\n    paytm_live_merchant = fields.Str(allow_none=True)\n    paytm_live_secret = fields.Str(allow_none=True)\n    paytm_sandbox_merchant = fields.Str(allow_none=True)\n    paytm_sandbox_secret = fields.Str(allow_none=True)\n    #\n    # EMAIL\n    #\n\n    # Email service. (sendgrid,smtp)\n    email_service = fields.Str(allow_none=True)\n    email_from = fields.Str(allow_none=True)\n    email_from_name = fields.Str(allow_none=True)\n    # Sendgrid\n    sendgrid_key = fields.Str(allow_none=True)\n    # SMTP\n    smtp_host = fields.Str(allow_none=True)\n    smtp_username = fields.Str(allow_none=True)\n    smtp_password = fields.Str(allow_none=True)\n    smtp_port = fields.Integer(allow_none=True)\n    smtp_encryption = fields.Str(allow_none=True)  # Can be tls, ssl, none\n\n    # Event Invoices settings\n    invoice_sending_day = fields.Integer(allow_none=False, default=1)\n    invoice_sending_timezone = fields.Str(allow_none=False, default=\"UTC\")\n\n    # Admin Invoice Details\n    admin_billing_contact_name = fields.Str(allow_none=True)\n    admin_billing_phone = fields.Str(allow_none=True)\n    admin_billing_email = fields.Email(allow_none=True)\n    admin_billing_state = fields.Str(allow_none=True)\n    admin_billing_country = fields.Str(allow_none=True)\n    admin_billing_tax_info = fields.Str(allow_none=True)\n    admin_company = fields.Str(allow_none=True)\n    admin_billing_address = fields.Str(allow_none=True)\n    admin_billing_city = fields.Str(allow_none=True)\n    admin_billing_zip = fields.Str(allow_none=True)\n    admin_billing_additional_info = fields.Str(allow_none=True)\n", "path": "app/api/schema/settings.py"}], "after_files": [{"content": "from marshmallow_jsonapi import fields\nfrom marshmallow_jsonapi.flask import Schema\n\nfrom app.api.helpers.utilities import dasherize\nfrom app.settings import Environment\nfrom utils.common import use_defaults\n\n\nclass SettingSchemaPublic(Schema):\n    \"\"\"\n    Public Api schema for settings Model\n    \"\"\"\n\n    class Meta:\n        \"\"\"\n        Meta class for setting Api Schema\n        \"\"\"\n\n        type_ = 'setting'\n        self_view = 'v1.setting_detail'\n        self_view_kwargs = {'id': '<id>'}\n        inflect = dasherize\n\n    id = fields.Str(dump_only=True)\n\n    # Name of the application. (Eg. Event Yay!, Open Event)\n    app_name = fields.Str(allow_none=True)\n\n    # Tagline for the application. (Eg. Event Management and Ticketing, Home)\n    tagline = fields.Str(allow_none=True)\n\n    # Order Expiry Time\n    order_expiry_time = fields.Integer(\n        allow_none=False, default=15, validate=lambda n: 1 <= n <= 60\n    )\n\n    # Maximum number of complex custom fields allowed for a given form\n    max_complex_custom_fields = fields.Integer(\n        allow_none=False, default=30, validate=lambda n: 1 <= n <= 30\n    )\n\n    # Google Analytics\n    analytics_key = fields.Str(allow_none=True)\n\n    # FB\n    fb_client_id = fields.Str(allow_none=True)\n\n    #\n    # Social links\n    #\n    google_url = fields.Str(allow_none=True)\n    github_url = fields.Str(allow_none=True)\n    twitter_url = fields.Str(allow_none=True)\n    support_url = fields.Str(allow_none=True)\n    facebook_url = fields.Str(allow_none=True)\n    instagram_url = fields.Str(allow_none=True)\n    youtube_url = fields.Str(allow_none=True)\n\n    # Url of Frontend\n    frontend_url = fields.Url(allow_none=True)\n\n    #\n    # Cookie Policy\n    #\n    cookie_policy = fields.Str(allow_none=True)\n    cookie_policy_link = fields.Str(allow_none=True)\n\n    #\n    # Online Payment Flags\n    #\n    is_paytm_activated = fields.Bool(default=False)\n    is_paypal_activated = fields.Bool(dump_only=True)\n    is_stripe_activated = fields.Bool(dump_only=True)\n    is_omise_activated = fields.Bool(dump_only=True)\n    is_alipay_activated = fields.Bool(dump_only=True)\n\n    #\n    # Payment Gateways\n    #\n\n    # Stripe Credantials\n    stripe_client_id = fields.Str(dump_only=True)\n    stripe_publishable_key = fields.Str(dump_only=True)\n    stripe_test_client_id = fields.Str(dump_only=True)\n    stripe_test_publishable_key = fields.Str(dump_only=True)\n\n    # PayPal Credentials\n    paypal_mode = fields.Str(dump_only=True)\n    paypal_client = fields.Str(dump_only=True)\n    paypal_sandbox_client = fields.Str(dump_only=True)\n\n    # Omise Credentials\n    omise_mode = fields.Str(dump_only=True)\n    omise_test_public = fields.Str(dump_only=True)\n    omise_live_public = fields.Str(dump_only=True)\n\n    # Alipay Credentials\n    alipay_publishable_key = fields.Str(dump_only=True)\n\n    # payTM credentials\n    paytm_mode = fields.Str(dump_only=True)\n    paytm_live_merchant = fields.Str(dump_only=True)\n    paytm_sandbox_merchant = fields.Str(dump_only=True)\n\n\nclass SettingSchemaNonAdmin(SettingSchemaPublic):\n    \"\"\"\n    Non Admin Api schema for settings Model\n    \"\"\"\n\n    class Meta:\n        \"\"\"\n        Meta class for setting Api Schema\n        \"\"\"\n\n        type_ = 'setting'\n        self_view = 'v1.setting_detail'\n        self_view_kwargs = {'id': '<id>'}\n        inflect = dasherize\n\n    id = fields.Str(dump_only=True)\n\n    #\n    # Generators\n    #\n    android_app_url = fields.Str(allow_none=True)\n    web_app_url = fields.Str(allow_none=True)\n\n\n@use_defaults()\nclass SettingSchemaAdmin(SettingSchemaNonAdmin):\n    \"\"\"\n    Admin Api schema for settings Model\n    \"\"\"\n\n    class Meta:\n        \"\"\"\n        Meta class for setting Api Schema\n        \"\"\"\n\n        type_ = 'setting'\n        self_view = 'v1.setting_detail'\n        self_view_kwargs = {'id': '<id>'}\n        inflect = dasherize\n\n    id = fields.Str(dump_only=True)\n    #\n    # General\n    #\n\n    app_environment = fields.Str(default=Environment.PRODUCTION)\n\n    # Static domain\n    static_domain = fields.Str(allow_none=True)\n\n    #\n    #  STORAGE\n    #\n\n    # storage place, local, s3, .. can be more in future\n    storage_place = fields.Str(allow_none=True)\n    # S3\n    aws_key = fields.Str(allow_none=True)\n    aws_secret = fields.Str(allow_none=True)\n    aws_bucket_name = fields.Str(allow_none=True)\n    aws_region = fields.Str(allow_none=True)\n    # Google Storage\n    gs_key = fields.Str(allow_none=True)\n    gs_secret = fields.Str(allow_none=True)\n    gs_bucket_name = fields.Str(allow_none=True)\n\n    #\n    # CAPTCHA\n    #\n\n    # Google reCAPTCHA\n    is_google_recaptcha_enabled = fields.Bool(allow_none=False, default=False)\n    google_recaptcha_site = fields.Str(allow_none=True)\n    google_recaptcha_secret = fields.Str(allow_none=True)\n\n    #\n    # Social Login\n    #\n\n    # Google Auth\n    google_client_id = fields.Str(allow_none=True)\n    google_client_secret = fields.Str(allow_none=True)\n    # FB\n    fb_client_id = fields.Str(allow_none=True)\n    fb_client_secret = fields.Str(allow_none=True)\n    # Twitter\n    tw_consumer_key = fields.Str(allow_none=True)\n    tw_consumer_secret = fields.Str(allow_none=True)\n    # Instagram\n    in_client_id = fields.Str(allow_none=True)\n    in_client_secret = fields.Str(allow_none=True)\n\n    #\n    # Payment Gateways\n    #\n\n    # Stripe Credantials\n    stripe_client_id = fields.Str(allow_none=True)\n    stripe_publishable_key = fields.Str(allow_none=True)\n    stripe_secret_key = fields.Str(allow_none=True)\n    stripe_test_client_id = fields.Str(allow_none=True)\n    stripe_test_secret_key = fields.Str(allow_none=True)\n    stripe_test_publishable_key = fields.Str(allow_none=True)\n\n    # PayPal Credentials\n    paypal_mode = fields.Str(allow_none=True)\n    paypal_client = fields.Str(allow_none=True)\n    paypal_secret = fields.Str(allow_none=True)\n    paypal_sandbox_client = fields.Str(allow_none=True)\n    paypal_sandbox_secret = fields.Str(allow_none=True)\n\n    # Omise Credentials\n    omise_mode = fields.Str(allow_none=True)\n    omise_test_public = fields.Str(allow_none=True)\n    omise_test_secret = fields.Str(allow_none=True)\n    omise_live_public = fields.Str(allow_none=True)\n    omise_live_secret = fields.Str(allow_none=True)\n\n    # Alipay Credentials\n    alipay_publishable_key = fields.Str(allow_none=True)\n    alipay_secret_key = fields.Str(allow_none=True)\n\n    # payTM credentials\n    paytm_mode = fields.Str(allow_none=True)\n    paytm_live_merchant = fields.Str(allow_none=True)\n    paytm_live_secret = fields.Str(allow_none=True)\n    paytm_sandbox_merchant = fields.Str(allow_none=True)\n    paytm_sandbox_secret = fields.Str(allow_none=True)\n    #\n    # EMAIL\n    #\n\n    # Email service. (sendgrid,smtp)\n    email_service = fields.Str(allow_none=True)\n    email_from = fields.Str(allow_none=True)\n    email_from_name = fields.Str(allow_none=True)\n    # Sendgrid\n    sendgrid_key = fields.Str(allow_none=True)\n    # SMTP\n    smtp_host = fields.Str(allow_none=True)\n    smtp_username = fields.Str(allow_none=True)\n    smtp_password = fields.Str(allow_none=True)\n    smtp_port = fields.Integer(allow_none=True)\n    smtp_encryption = fields.Str(allow_none=True)  # Can be tls, ssl, none\n\n    # Event Invoices settings\n    invoice_sending_day = fields.Integer(allow_none=False, default=1)\n    invoice_sending_timezone = fields.Str(allow_none=False, default=\"UTC\")\n\n    # Admin Invoice Details\n    admin_billing_contact_name = fields.Str(allow_none=True)\n    admin_billing_phone = fields.Str(allow_none=True)\n    admin_billing_email = fields.Email(allow_none=True)\n    admin_billing_state = fields.Str(allow_none=True)\n    admin_billing_country = fields.Str(allow_none=True)\n    admin_billing_tax_info = fields.Str(allow_none=True)\n    admin_company = fields.Str(allow_none=True)\n    admin_billing_address = fields.Str(allow_none=True)\n    admin_billing_city = fields.Str(allow_none=True)\n    admin_billing_zip = fields.Str(allow_none=True)\n    admin_billing_additional_info = fields.Str(allow_none=True)\n", "path": "app/api/schema/settings.py"}]}