Skip to content

Commit 8573f00

Browse files
committed
feat: added fb sync service
1 parent c15cd6c commit 8573f00

File tree

14 files changed

+1997
-1
lines changed

14 files changed

+1997
-1
lines changed

.vscode/extensions.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["denoland.vscode-deno"]
3+
}

.vscode/settings.json

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,28 @@
11
{
2+
"deno.enablePaths": ["services/facebook"],
3+
"deno.lint": true,
4+
"deno.unstable": [
5+
"bare-node-builtins",
6+
"byonm",
7+
"sloppy-imports",
8+
"unsafe-proto",
9+
"webgpu",
10+
"broadcast-channel",
11+
"worker-options",
12+
"cron",
13+
"kv",
14+
"ffi",
15+
"fs",
16+
"http",
17+
"net"
18+
],
19+
"[typescript]": {
20+
"editor.defaultFormatter": "denoland.vscode-deno"
21+
},
222
"eslint.workingDirectories": [
323
{
424
"mode": "auto"
525
}
6-
]
26+
],
27+
"deno.enable": true
728
}

services/facebook/package.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"name": "service",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "echo \"Error: no test specified\" && exit 1",
8+
"deploy": "npx supabase functions deploy"
9+
},
10+
"keywords": [],
11+
"author": "",
12+
"license": "ISC"
13+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Supabase
2+
.branches
3+
.temp
4+
.env
Lines changed: 247 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,247 @@
1+
# A string used to distinguish different Supabase projects on the same host. Defaults to the
2+
# working directory name when running `supabase init`.
3+
project_id = "service"
4+
5+
[api]
6+
enabled = true
7+
# Port to use for the API URL.
8+
port = 54321
9+
# Schemas to expose in your API. Tables, views and stored procedures in this schema will get API
10+
# endpoints. `public` is always included.
11+
schemas = ["public", "graphql_public"]
12+
# Extra schemas to add to the search_path of every request. `public` is always included.
13+
extra_search_path = ["public", "extensions"]
14+
# The maximum number of rows returns from a view, table, or stored procedure. Limits payload size
15+
# for accidental or malicious requests.
16+
max_rows = 1000
17+
18+
[api.tls]
19+
enabled = false
20+
21+
[db]
22+
# Port to use for the local database URL.
23+
port = 54322
24+
# Port used by db diff command to initialize the shadow database.
25+
shadow_port = 54320
26+
# The database major version to use. This has to be the same as your remote database's. Run `SHOW
27+
# server_version;` on the remote database to check.
28+
major_version = 15
29+
30+
[db.pooler]
31+
enabled = false
32+
# Port to use for the local connection pooler.
33+
port = 54329
34+
# Specifies when a server connection can be reused by other clients.
35+
# Configure one of the supported pooler modes: `transaction`, `session`.
36+
pool_mode = "transaction"
37+
# How many server connections to allow per user/database pair.
38+
default_pool_size = 20
39+
# Maximum number of client connections allowed.
40+
max_client_conn = 100
41+
42+
[db.seed]
43+
# If enabled, seeds the database after migrations during a db reset.
44+
enabled = true
45+
# Specifies an ordered list of seed files to load during db reset.
46+
# Supports glob patterns relative to supabase directory. For example:
47+
# sql_paths = ['./seeds/*.sql', '../project-src/seeds/*-load-testing.sql']
48+
sql_paths = ['./seed.sql']
49+
50+
[realtime]
51+
enabled = true
52+
# Bind realtime via either IPv4 or IPv6. (default: IPv4)
53+
# ip_version = "IPv6"
54+
# The maximum length in bytes of HTTP request headers. (default: 4096)
55+
# max_header_length = 4096
56+
57+
[studio]
58+
enabled = true
59+
# Port to use for Supabase Studio.
60+
port = 54323
61+
# External URL of the API server that frontend connects to.
62+
api_url = "http://127.0.0.1"
63+
# OpenAI API Key to use for Supabase AI in the Supabase Studio.
64+
openai_api_key = "env(OPENAI_API_KEY)"
65+
66+
# Email testing server. Emails sent with the local dev setup are not actually sent - rather, they
67+
# are monitored, and you can view the emails that would have been sent from the web interface.
68+
[inbucket]
69+
enabled = true
70+
# Port to use for the email testing server web interface.
71+
port = 54324
72+
# Uncomment to expose additional ports for testing user applications that send emails.
73+
# smtp_port = 54325
74+
# pop3_port = 54326
75+
76+
[storage]
77+
enabled = true
78+
# The maximum file size allowed (e.g. "5MB", "500KB").
79+
file_size_limit = "50MiB"
80+
81+
[storage.image_transformation]
82+
enabled = true
83+
84+
# Uncomment to configure local storage buckets
85+
# [storage.buckets.images]
86+
# public = false
87+
# file_size_limit = "50MiB"
88+
# allowed_mime_types = ["image/png", "image/jpeg"]
89+
# objects_path = "./images"
90+
91+
[auth]
92+
enabled = true
93+
# The base URL of your website. Used as an allow-list for redirects and for constructing URLs used
94+
# in emails.
95+
site_url = "http://127.0.0.1:3000"
96+
# A list of *exact* URLs that auth providers are permitted to redirect to post authentication.
97+
additional_redirect_urls = ["https://127.0.0.1:3000"]
98+
# How long tokens are valid for, in seconds. Defaults to 3600 (1 hour), maximum 604,800 (1 week).
99+
jwt_expiry = 3600
100+
# If disabled, the refresh token will never expire.
101+
enable_refresh_token_rotation = true
102+
# Allows refresh tokens to be reused after expiry, up to the specified interval in seconds.
103+
# Requires enable_refresh_token_rotation = true.
104+
refresh_token_reuse_interval = 10
105+
# Allow/disallow new user signups to your project.
106+
enable_signup = true
107+
# Allow/disallow anonymous sign-ins to your project.
108+
enable_anonymous_sign_ins = false
109+
# Allow/disallow testing manual linking of accounts
110+
enable_manual_linking = false
111+
112+
[auth.email]
113+
# Allow/disallow new user signups via email to your project.
114+
enable_signup = true
115+
# If enabled, a user will be required to confirm any email change on both the old, and new email
116+
# addresses. If disabled, only the new email is required to confirm.
117+
double_confirm_changes = true
118+
# If enabled, users need to confirm their email address before signing in.
119+
enable_confirmations = false
120+
# If enabled, users will need to reauthenticate or have logged in recently to change their password.
121+
secure_password_change = false
122+
# Controls the minimum amount of time that must pass before sending another signup confirmation or password reset email.
123+
max_frequency = "1s"
124+
125+
# Use a production-ready SMTP server
126+
# [auth.email.smtp]
127+
# host = "smtp.sendgrid.net"
128+
# port = 587
129+
# user = "apikey"
130+
# pass = "env(SENDGRID_API_KEY)"
131+
# admin_email = "admin@email.com"
132+
# sender_name = "Admin"
133+
134+
# Uncomment to customize email template
135+
# [auth.email.template.invite]
136+
# subject = "You have been invited"
137+
# content_path = "./supabase/templates/invite.html"
138+
139+
[auth.sms]
140+
# Allow/disallow new user signups via SMS to your project.
141+
enable_signup = true
142+
# If enabled, users need to confirm their phone number before signing in.
143+
enable_confirmations = false
144+
# Template for sending OTP to users
145+
template = "Your code is {{ .Code }} ."
146+
# Controls the minimum amount of time that must pass before sending another sms otp.
147+
max_frequency = "5s"
148+
149+
# Use pre-defined map of phone number to OTP for testing.
150+
# [auth.sms.test_otp]
151+
# 4152127777 = "123456"
152+
153+
# Configure logged in session timeouts.
154+
# [auth.sessions]
155+
# Force log out after the specified duration.
156+
# timebox = "24h"
157+
# Force log out if the user has been inactive longer than the specified duration.
158+
# inactivity_timeout = "8h"
159+
160+
# This hook runs before a token is issued and allows you to add additional claims based on the authentication method used.
161+
# [auth.hook.custom_access_token]
162+
# enabled = true
163+
# uri = "pg-functions://<database>/<schema>/<hook_name>"
164+
165+
# Configure one of the supported SMS providers: `twilio`, `twilio_verify`, `messagebird`, `textlocal`, `vonage`.
166+
[auth.sms.twilio]
167+
enabled = false
168+
account_sid = ""
169+
message_service_sid = ""
170+
# DO NOT commit your Twilio auth token to git. Use environment variable substitution instead:
171+
auth_token = "env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN)"
172+
173+
[auth.mfa]
174+
# Control how many MFA factors can be enrolled at once per user.
175+
max_enrolled_factors = 10
176+
177+
# Control use of MFA via App Authenticator (TOTP)
178+
[auth.mfa.totp]
179+
enroll_enabled = true
180+
verify_enabled = true
181+
182+
# Configure Multi-factor-authentication via Phone Messaging
183+
# [auth.mfa.phone]
184+
# enroll_enabled = true
185+
# verify_enabled = true
186+
# otp_length = 6
187+
# template = "Your code is {{ .Code }} ."
188+
# max_frequency = "10s"
189+
190+
# Use an external OAuth provider. The full list of providers are: `apple`, `azure`, `bitbucket`,
191+
# `discord`, `facebook`, `github`, `gitlab`, `google`, `keycloak`, `linkedin_oidc`, `notion`, `twitch`,
192+
# `twitter`, `slack`, `spotify`, `workos`, `zoom`.
193+
[auth.external.apple]
194+
enabled = false
195+
client_id = ""
196+
# DO NOT commit your OAuth provider secret to git. Use environment variable substitution instead:
197+
secret = "env(SUPABASE_AUTH_EXTERNAL_APPLE_SECRET)"
198+
# Overrides the default auth redirectUrl.
199+
redirect_uri = ""
200+
# Overrides the default auth provider URL. Used to support self-hosted gitlab, single-tenant Azure,
201+
# or any other third-party OIDC providers.
202+
url = ""
203+
# If enabled, the nonce check will be skipped. Required for local sign in with Google auth.
204+
skip_nonce_check = false
205+
206+
# Use Firebase Auth as a third-party provider alongside Supabase Auth.
207+
[auth.third_party.firebase]
208+
enabled = false
209+
# project_id = "my-firebase-project"
210+
211+
# Use Auth0 as a third-party provider alongside Supabase Auth.
212+
[auth.third_party.auth0]
213+
enabled = false
214+
# tenant = "my-auth0-tenant"
215+
# tenant_region = "us"
216+
217+
# Use AWS Cognito (Amplify) as a third-party provider alongside Supabase Auth.
218+
[auth.third_party.aws_cognito]
219+
enabled = false
220+
# user_pool_id = "my-user-pool-id"
221+
# user_pool_region = "us-east-1"
222+
223+
[edge_runtime]
224+
enabled = true
225+
# Configure one of the supported request policies: `oneshot`, `per_worker`.
226+
# Use `oneshot` for hot reload, or `per_worker` for load testing.
227+
policy = "oneshot"
228+
inspector_port = 8083
229+
230+
[analytics]
231+
enabled = true
232+
port = 54327
233+
# Configure one of the supported backends: `postgres`, `bigquery`.
234+
backend = "postgres"
235+
236+
# Experimental features may be deprecated any time
237+
[experimental]
238+
# Configures Postgres storage engine to use OrioleDB (S3)
239+
orioledb_version = ""
240+
# Configures S3 bucket URL, eg. <bucket_name>.s3-<region>.amazonaws.com
241+
s3_host = "env(S3_HOST)"
242+
# Configures S3 bucket region, eg. us-east-1
243+
s3_region = "env(S3_REGION)"
244+
# Configures AWS_ACCESS_KEY_ID for S3 bucket
245+
s3_access_key = "env(S3_ACCESS_KEY)"
246+
# Configures AWS_SECRET_ACCESS_KEY for S3 bucket
247+
s3_secret_key = "env(S3_SECRET_KEY)"

0 commit comments

Comments
 (0)