supabase: add hello-world function

This commit is contained in:
Felix Roos
2025-06-14 00:35:13 +02:00
parent 466265f4d5
commit 7766b8003f
5 changed files with 71 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# supabase
this folder will contain one or more supabase edge functions to talk with the database
## usage
```
pnpx supabase functions serve --no-verify-jwt # serve locally, requires docker
pnpx supabase functions deploy # deploy function(s)
```
## test
when running locally, you can test an endpoint with curl:
```sh
curl -L -X POST 'http://127.0.0.1:54321/functions/v1/hello-world' \
-H 'Content-Type: application/json' \
--data '{"foo":"bar"}'
```
+11
View File
@@ -313,3 +313,14 @@ s3_region = "env(S3_REGION)"
s3_access_key = "env(S3_ACCESS_KEY)"
# Configures AWS_SECRET_ACCESS_KEY for S3 bucket
s3_secret_key = "env(S3_SECRET_KEY)"
[functions.hello-world]
enabled = true
verify_jwt = true
import_map = "./functions/hello-world/deno.json"
# Uncomment to specify a custom file path to the entrypoint.
# Supported file extensions are: .ts, .js, .mjs, .jsx, .tsx
entrypoint = "./functions/hello-world/index.ts"
# Specifies static files to be bundled with the function. Supports glob patterns.
# For example, if you want to serve static HTML pages in your function:
# static_files = [ "./functions/hello-world/*.html" ]
+3
View File
@@ -0,0 +1,3 @@
# Configuration for private npm package dependencies
# For more information on using private registries with Edge Functions, see:
# https://supabase.com/docs/guides/functions/import-maps#importing-from-private-registries
+3
View File
@@ -0,0 +1,3 @@
{
"imports": {}
}
+32
View File
@@ -0,0 +1,32 @@
// Follow this setup guide to integrate the Deno language server with your editor:
// https://deno.land/manual/getting_started/setup_your_environment
// This enables autocomplete, go to definition, etc.
// Setup type definitions for built-in Supabase Runtime APIs
import "jsr:@supabase/functions-js/edge-runtime.d.ts"
console.log("Hello from Functions!")
Deno.serve(async (req) => {
const { name } = await req.json()
const data = {
message: `Hello ${name}!`,
}
return new Response(
JSON.stringify(data),
{ headers: { "Content-Type": "application/json" } },
)
})
/* To invoke locally:
1. Run `supabase start` (see: https://supabase.com/docs/reference/cli/supabase-start)
2. Make an HTTP request:
curl -i --location --request POST 'http://127.0.0.1:54321/functions/v1/hello-world' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0' \
--header 'Content-Type: application/json' \
--data '{"name":"Functions"}'
*/