From 0da2d96ecf044f3a2d9c4eac5ec6895c6b40fecb Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Mon, 28 Nov 2022 17:27:03 -0800 Subject: [PATCH 01/53] feat: add picket to auth integration navigation --- apps/docs/components/Navigation/Navigation.constants.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/docs/components/Navigation/Navigation.constants.ts b/apps/docs/components/Navigation/Navigation.constants.ts index 47c2bee3335..e473d753af3 100644 --- a/apps/docs/components/Navigation/Navigation.constants.ts +++ b/apps/docs/components/Navigation/Navigation.constants.ts @@ -296,6 +296,7 @@ export const menuItems: NavMenu = { { name: 'keyri', url: '/guides/integrations/keyri', items: [] }, { name: 'Stytch', url: '/guides/integrations/stytch', items: [] }, { name: 'SuperTokens', url: '/guides/integrations/supertokens', items: [] }, + { name: 'Picket', url: '/guides/integrations/picket', items: [] }, ], }, { From 014a058b78a555519b729056b66645657e8ac98d Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Tue, 29 Nov 2022 10:35:03 -0800 Subject: [PATCH 02/53] feat: add picket + supabase auth integration guide --- .../docs/pages/guides/integrations/picket.mdx | 580 ++++++++++++++++++ 1 file changed, 580 insertions(+) create mode 100644 apps/docs/pages/guides/integrations/picket.mdx diff --git a/apps/docs/pages/guides/integrations/picket.mdx b/apps/docs/pages/guides/integrations/picket.mdx new file mode 100644 index 00000000000..bd88166833f --- /dev/null +++ b/apps/docs/pages/guides/integrations/picket.mdx @@ -0,0 +1,580 @@ +import Layout from '~/layouts/DefaultGuideLayout' + +export const meta = { + id: 'picket', + title: 'Picket', + description: + "Get the best of web2 and web3. Picket allows your users to log in with their wallet without sacrificing Supabase's awesome data management and security features.", +} + +[Picket](https://picketapi.com) is a developer-first, multi-chain web3 auth platform. With Picket, you can easily authenticate users via their wallets and token gate anything. + +This guide steps through building a simple todo list Next.js application with Picket and Supabase. We use Picket to allow users to login into our app with their wallets and leverage Supabase's Row Level Security (RLS) to securely store user information off-chain. + +> Checkout a [live demo](https://picket-supabase-auth-example-v36z.vercel.app/) of a Picket + Supabase integration + +The code for this guide is based of [this example repo](https://github.com/picketapi/picket-supabase-auth-example). + +## Requirements + +- You have [Supabase](https://supabase.com) account. If you don't, sign up at https://supabase.com/ +- You have a [Picket](https://picketapi.com) account. If you don't, sign up at https://picketapi.com/ +- You've read the [Picket Setup Guide](https://docs.picketapi.com/picket-docs/quick-start-guides/quick-start-guides/start-here-setup) +- Familiarity with [React](https://reactjs.org/) and [Next.js](https://nextjs.org/) + +## Step 1: Create a Picket Project + +First, we'll create a new project in our [Picket dashboard](https://picketapi.com/dashboard). + +Click the `Create New Project` button at the top of the Projects section on your [Picket dashboard](https://picketapi.com/dashboard). Edit the project to give it a memorable name. + +![Picket project settings](/docs/img/guides/integrations/picket/picket_project.png) + +We're done for now! We'll revisit this project when we are setting up environment variables in our app. + +## Step 2: Create a Supabase Project + +From your [Supabase dashboard](https://app.supabase.com/), click `New project`. + +Enter a `Name` for your Supabase project. + +Enter a secure `Database Password`. + +Select the any `Region`. + +Click `Create new project`. + +![Supabase project settings](/docs/img/guides/integrations/picket/supabase_project.png) + +## Step 3: Create new New Table with RLS in Supabase + +### Create a `todos` Table + +From the sidebar menu in the [Supabase dashboard](https://app.supabase.com/), click `Table editor`, then `New table`. + +Enter `todos` as the `Name` field. + +Select `Enable Row Level Security (RLS)`. + +Create four columns: +- `name` as `text` +- `wallet_address` as `text` +- `completed` as `bool` with the default value `false` +- `created_at` as timestamptz with a default value of `now()` + +Click `Save` to create the new table. + +![todos table](/docs/img/guides/integrations/picket/new_table.png) + +### Setup Row Level Security (RLS) + +Now we want to make sure that only the `todos` owner, the user's `wallet_address`, can access their todos. The key component of the this RLS policy is the expression + +```sql +((jwt() ->> 'walletAddress'::text) = wallet_address) +``` +This expression checks that the wallet address in the requesting JWT access token is the same as the `wallet_address` in the `todos` table. + +![RLS policy](/docs/img/guides/integrations/picket/rls_policy.png) + +## Step 4: Create a Next.js app + +Now, let's start building! + +Create a [new Typescript Next.js app](https://nextjs.org/docs/getting-started) + +```bash +npx create-next-app@latest --typescript +``` + +Create a `.env.local` file and enter the following values +- `NEXT_PUBLIC_PICKET_PUBLISHABLE_KEY` => Copy the publishable key from the Picket project you created in step 1 +- `PICKET_PROJECT_SECRET_KEY` => Copy the secret key from the Picket project you created in the step 1 +- `NEXT_PUBLIC_SUPABASE_URL` => You can find this URL under "Settings > API" in your Supabase project +- `NEXT_PUBLIC_SUPABASE_ANON_KEY` => You can find this project API key under "Settings > API" in your Supabase project +- `SUAPBASE_JWT_SECRET`=> You can find this secret under "Settings > API" in your Supabase project + +```txt +NEXT_PUBLIC_PICKET_PUBLISHABLE_KEY="YOUR_PICKET_PUBLISHABLE_KEY" +PICKET_PROJECT_SECRET_KEY="YOUR_PICKET_PROJECT_SECRET_KEY" +NEXT_PUBLIC_SUPABASE_URL="YOUR_SUPABASE_URL" +NEXT_PUBLIC_SUPABASE_ANON_KEY="YOUR_SUPABASE_ANON_KEY" +SUPABASE_JWT_SECRET="YOUR_SUPABASE_JWT_SECRET" +``` + +## Step 5: Setup Picket for Wallet Login + +> For more information on how to setup [Picket](https://picketapi.com) in your Next.js app, checkout the [Picket getting started guide](https://docs.picketapi.com/picket-docs/quick-start-guides/quick-start-guides/wallet-login) +After initializing our app, we can setup Picket. + +Install the Picket [React](/picket-docs/reference/libraries-and-sdks/react-sdk-picket-react) and [Node](/picket-docs/reference/libraries-and-sdks/node.js-library-picket-node) libraries + +```bash +npm i @picketapi/picket-react @picketapi/picket-node +``` + +Update `pages/_app.tsx` to setup the `PicketProvider` + +```tsx +import "../styles/globals.css"; +import type { AppProps } from "next/app"; + +import { PicketProvider } from "@picketapi/picket-react"; + +export default function App({ Component, pageProps }: AppProps) { + return ( + + + + ); +} +``` + +Update `pages/index.tsx` to let users log in and out with their wallet + +```tsx +import { GetServerSideProps } from "next"; +import { useRouter } from "next/router"; +import { useCallback } from "react"; + +import styles from "../styles/Home.module.css"; + +import { usePicket } from "@picketapi/picket-react"; +import { cookieName } from "../utils/supabase"; + +type Props = { + loggedIn: boolean; +}; + +export default function Home(props: Props) { + const { loggedIn } = props; + const { login, logout, authState } = usePicket(); + const router = useRouter(); + + const handleLogin = useCallback(async () => { + let auth = authState; + // no need to re-login if they've already connected with Picket + if (!auth) { + // login with Picket + auth = await login(); + } + + // login failed + if (!auth) return; + + // create a corresponding supabase access token + await fetch("/api/login", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ + accessToken: auth.accessToken, + }), + }); + // redirect to their todos page + router.push("/todos"); + }, [authState, login, router]); + + const handleLogout = useCallback(async () => { + // clear both picket and supabase session + await logout(); + await fetch("/api/logout", { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + }); + // refresh the page + router.push("/"); + }, [logout, router]); + + return ( +
+
+ {loggedIn ? ( + + ) : ( + + )} +
+
+ ); +} + +export const getServerSideProps: GetServerSideProps = async ({ + req, +}) => { + // get supabase token server-side + const accessToken = req.cookies[cookieName]; + + if (!accessToken) { + return { + props: { + loggedIn: false, + }, + }; + } + + return { + props: { + loggedIn: true, + }, + }; +}; +``` + +## Step 6: Issue a Supabase JWT on Wallet Login + +Great, now we have setup a typical Picket Next.js app. Next, we need to implement the log in/out API routes to allow users to securely query our Supabase project. + +First, install dependencies + +```bash +npm install @supabase/supabase-js jsonwebtoken cookie js-cookie +``` + +Create a utility function to create a Supabase client with a custom access token in `utils/supabase.ts` + +```ts +import { createClient, SupabaseClientOptions } from "@supabase/supabase-js"; + +export const cookieName = "sb-access-token"; + +const getSupabase = (accessToken: string) => { + const options: SupabaseClientOptions<"public"> = {}; + + if (accessToken) { + options.global = { + headers: { + // This gives Supabase information about the user (wallet) making the request + Authorization: `Bearer ${accessToken}`, + }, + }; + } + + const supabase = createClient( + process.env.NEXT_PUBLIC_SUPABASE_URL!, + process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, + options + ); + + return supabase; +}; + +export { getSupabase }; +``` + +Create new api route `pages/api/login.ts`. This route validates the Picket access token then issues another equivalent Supabase access token for us to use with the Supabase client. + +```ts +import type { NextApiRequest, NextApiResponse } from "next"; +import jwt from "jsonwebtoken"; +import cookie from "cookie"; +import Picket from "@picketapi/picket-node"; + +import { cookieName } from "../../utils/supabase"; + +// create picket node client with your picket secret api key +const picket = new Picket(process.env.PICKET_PROJECT_SECRET_KEY!); + +const expToExpiresIn = (exp: number) => exp - Math.floor(Date.now() / 1000); + +export default async function handler( + req: NextApiRequest, + res: NextApiResponse +) { + const { accessToken } = req.body; + // omit expiration time,.it will conflict with jwt.sign + const { exp, ...payload } = await picket.validate(accessToken); + const expiresIn = expToExpiresIn(exp); + + const supabaseJWT = jwt.sign( + { + ...payload, + }, + process.env.SUPABASE_JWT_SECRET!, + { + expiresIn, + } + ); + + // Set a new cookie with the name + res.setHeader( + "Set-Cookie", + cookie.serialize(cookieName, supabaseJWT, { + path: "/", + secure: process.env.NODE_ENV !== "development", + // allow the cookie to be accessed client-side + httpOnly: false, + sameSite: "strict", + maxAge: expiresIn, + }) + ); + res.status(200).json({}); +} +``` + +And now create an equivalent logout api route `/pages/api/logout.ts` to delete the Supabase access token cookie. + +```ts +import type { NextApiRequest, NextApiResponse } from "next"; +import cookie from "cookie"; + +import { cookieName } from "../../utils/supabase"; + +export default async function handler( + _req: NextApiRequest, + res: NextApiResponse +) { + // Clear the supabase cookie + res.setHeader( + "Set-Cookie", + cookie.serialize(cookieName, "", { + path: "/", + maxAge: -1, + }) + ); + + res.status(200).json({}); +} +``` +We can now login and logout to the app with our wallet! + +## Step 7: Interacting with Data in Supabase + +Now that we can login to the app, it's time to start interacting with Supabase. Let's make a todo list page for authenticated users. + +Create a new file `pages/todos.tsx` + +```tsx +import { GetServerSideProps } from "next"; +import Head from "next/head"; +import Link from "next/link"; +import { useState, useMemo } from "react"; +import jwt from "jsonwebtoken"; +import Cookies from "js-cookie"; + +import styles from "../styles/Home.module.css"; + +import { getSupabase, cookieName } from "../utils/supabase"; + +type Todo = { + name: string; + completed: boolean; +}; + +type Props = { + walletAddress: string; + todos: Todo[]; +}; + +const displayWalletAddress = (walletAddress: string) => + `${walletAddress.slice(0, 6)}...${walletAddress.slice(-4)}`; + +export default function Todos(props: Props) { + const { walletAddress } = props; + const [todos, setTodos] = useState(props.todos); + + // avoid re-creating supabase client every render + const supabase = useMemo(() => { + const accessToken = Cookies.get(cookieName); + return getSupabase(accessToken || ""); + }, []); + + return ( +
+ + Picket 💜 Supabase + + +
+

Your Personal Todo List

+
+

Welcome {displayWalletAddress(walletAddress)},

+

+ Your todo list is stored in Supabase and are only accessible to you + and your wallet address. Picket + Supabase makes it easy to build + scalable, hybrid web2 and web3 apps. Use Supabase to store + non-critical or private data off-chain like user app preferences or + todo lists. +

+
+
+

Todo List

+ {todos.map((todo) => ( +
+ { + await supabase.from("todos").upsert({ + wallet_address: walletAddress, + name: todo.name, + completed: !todo.completed, + }); + setTodos((todos) => + todos.map((t) => + t.name === todo.name + ? { ...t, completed: !t.completed } + : t + ) + ); + }} + /> + + {todo.name} + +
+ ))} +
+ + Go back home → + +
+
+
+
+ ); +} + +export const getServerSideProps: GetServerSideProps = async ({ + req, +}) => { + // example of fetching data server-side + const accessToken = req.cookies[cookieName]; + + // require authentication + if (!accessToken) { + return { + redirect: { + destination: "/", + }, + props: { + walletAddress: "", + todos: [], + }, + }; + } + + // check if logged in user has completed the tutorial + const supabase = getSupabase(accessToken); + const { walletAddress } = jwt.decode(accessToken) as { + walletAddress: string; + }; + + // get todos for the users + // if none exist, create the default todos + let { data } = await supabase.from("todos").select("*"); + + if (!data || data.length === 0) { + let error = null; + ({ data, error } = await supabase + .from("todos") + .insert([ + { + wallet_address: walletAddress, + name: "Complete the Picket + Supabase Tutorial", + completed: true, + }, + { + wallet_address: walletAddress, + name: "Create a Picket Account (https://picketapi.com/)", + completed: false, + }, + { + wallet_address: walletAddress, + name: "Read the Picket Docs (https://docs.picketapi.com/)", + completed: false, + }, + { + wallet_address: walletAddress, + name: "Build an Awesome Web3 Experience", + completed: false, + }, + ]) + .select("*")); + + if (error) { + // log error and redirect home + console.error(error); + return { + redirect: { + destination: "/", + }, + props: { + walletAddress: "", + todos: [], + }, + }; + } + } + + return { + props: { + walletAddress, + todos: data as Todo[], + }, + }; +}; +``` + +This is a long file, but don't be intimidated. The page is actually straightforward. It +- 1. + Verifies server-side that the user is authenticated and if they are not redirects them to the homepage +- 2. + Checks to see if they already have `todos` . If so, it returns them. If not, it initializes them for the users +- 3. + We render the `todos` and when the user selects or deselects a todo, we update the data in the database + +## Step 8: Try it Out! + +And that's it. If you haven't already, run your app to test it out yourself + +```bash +# start the app +npm run dev +# open http://localhost:3000 +``` + +### What's Next? + +- Explore the [Picket documentation](https://docs.picketapi.com/picket-docs/) +- Play with the live [Picket + Supabase demo](https://picket-supabase-auth-example-v36z.vercel.app/) +- Checkout Picket's [example Github repositories](https://github.com/picketapi) + +### Common Use-Case for Picket + Supabase +- Account linking. Allow users to associate their wallet address(es) with their existing web2 account in your app +- Leverage Supabase's awesome libraries and ecosystem while still enabling wallet login +- Store app-specific data, like user preferences, about your user's wallet adress off-chain +- Cache on-chain data to improve your DApp's performance From de03d0acdb372b6f728a4cd71170d873841f9322 Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Tue, 29 Nov 2022 10:40:06 -0800 Subject: [PATCH 03/53] feat: add imgs for integration guide --- .../guides/integrations/picket/new_table.png | Bin 0 -> 224424 bytes .../integrations/picket/picket_project.png | Bin 0 -> 222611 bytes .../guides/integrations/picket/rls_policy.png | Bin 0 -> 233319 bytes .../integrations/picket/supabase_project.png | Bin 0 -> 169870 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/docs/public/img/guides/integrations/picket/new_table.png create mode 100644 apps/docs/public/img/guides/integrations/picket/picket_project.png create mode 100644 apps/docs/public/img/guides/integrations/picket/rls_policy.png create mode 100644 apps/docs/public/img/guides/integrations/picket/supabase_project.png diff --git a/apps/docs/public/img/guides/integrations/picket/new_table.png b/apps/docs/public/img/guides/integrations/picket/new_table.png new file mode 100644 index 0000000000000000000000000000000000000000..72aa9b21ea2ccbf8292fadf728a11acbbfecb7a0 GIT binary patch literal 224424 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%0DC?)hW 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/guides/integrations/picket/picket_project.png b/apps/docs/public/img/guides/integrations/picket/picket_project.png new file mode 100644 index 0000000000000000000000000000000000000000..6d359e9af8397a8e27c885cd954a0b4615200d11 GIT binary patch literal 222611 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 R-39){Z%B)LxUT;6e*h0^CwKq= literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/guides/integrations/picket/rls_policy.png b/apps/docs/public/img/guides/integrations/picket/rls_policy.png new file mode 100644 index 0000000000000000000000000000000000000000..347038ebe904a84696d9098bb0b4fec2abb5182e GIT binary patch literal 233319 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⤅eV1b=2Y{WOhh* zZC5`enhv3fMt%0t{QR_46z7H=V`fg8v`2J^g4dF0l-OG#k|SLA16RHv3@$pMlzGvs zrcK1iYkILmJf!(!tlO&aMiPnnmPInu+nZbeu)+7X@n~fZ0MJy9MLO?|fqhtFYNW%o zy416s`xQy&rY#f#4jws6FM`8Y1`wbl2wsFP@7f_yElP zRYBh~h3ZR(kDiVa=blO>G|A|89iD#N;6J+FBsy~Gr!^3Pf8sD*f9mJ&LNx34Q`7!t z3^TgPG2v-8$?t`eQ{V!YG{1{f=4yve!n~u7v`rK{@}oG%nNq$pacG~tZuG-{d>V7N z=wdMUzKYqjP9O7-;EIS1e_u&cs?YD$mu_oclz}Nh_|%@+_LX`+_#jA|*g-e}m$Lr{ zb6*W6M2bn(0u#WX>>9YErf<<-j0w8-79Q8N#GZQ7WQ7d~RCK4S+Nva-Q^bLD#G z${%_Ko1ne0U9giePGj$*_0}#_D<8B;b_W4hh5*kKoc_5=A2tgN=$4cnOe{(#GV$TX zZ=Y>W?Kg@(j|D*dv$x`rE;GR>@$((c^KV23!W{NKZB=>lL~=PU^NKX0Rd96m#6grh zVC&`ewQn)zL*eh>-C9qc#%-^42=+MG!?9)HvsT6YarM@e=X_unt8*(qxNg>G^RY6G zbT>X{KH8U3c+~{zovNA2Mfulp+PyJ`{Ej~Ed4UdIHQPxceb4Q=%`!z%gv@>iv&*aw zoL2uRNb4jpv~Yi~99MewypfV)b$i$qJB}2f6EHFbq1~q;c%%6{ya_Kix}(>+oPR)l z5u;1PU8UifhE=g3`COh*l1%Vtd$YOj(ezXi9=fRfC_!Ig?gs4GQP*0kX}@73Z%x(- zlsbIwZ)KDCa;8s|q-1nLCcgZLKA+5uObE%ZT_&V4v+X0?ssiO`V{e%QSmhPJZhN`@ zyf-}s3Mcc+3&VPt2iU!A&S^h>fS~h04a`-u%eYNj?Q8M2_}8C=QCxJrG~${=5eXqRu z&@{$`QZGt>a(;ceKPnU*d0z}LmItbTu%e7gN3R5_=%S==Jqh?DH&ybn&BVvb%5JN@ z@ViK+qw$Pn522ccw*EkJG4S#t!fYnzTKBfT|E_*F@1=O^n(}K#x=YV4V@#eDG%Sde z-W9djJOxJpqz9_|^o2*iXP`2{&)IBASYbl!&%U`h^Z=83<5wKtdF-SWA6fP#^>Vn$ zi+m#z=7HKxCJtw)Nkcg`BZ6Q%4D~<2YgDHZah|O-!7p%@56MzXzcuFeV9JCs8a-om zYY1WBep2Wo7f-99M22s1SVNjB%J+$UJ&c09KA|6fa84b`YSy>fWf>q@+*}3glbPN_ zpdm+a@>IqJN=rWZTSTAVLkDLl{DUKiv?7m=vqDtdH>}+Xl)c>j*+#`oId|o;Pveh8 z=tPB{%NxOJHE^}OHxMHmH~SiW0GCG09R_uonaVV$quBF<*e9*A{zYc(8nswb2w&GecOH% z8*)i}Ridk^27wfQVtpA>w{^{|jZleD>KvQscA|2A3x0;B=PMmsX1r}xRq*z z9*jlOjdQgI;M^`k!L-D~%ZQ_A@H@YQ&W^u&CmYXo_!cOF2y1p|OL4aP9iDyOAUlHj zW}JQWBlQ>-I*-$k;1b{Tt?)S=!;N3!7jr(zj!;YYa<#W=iV`57=T_~7V)U{`_p)=SJ>v&JJ^C*AubXota4Z*pVE=p(Bo$eYb zkpFdVK+jU+oS$f_odx^+SQNc zDb4iJAL>Rg{fs+Vzb7*%CYKvan)HR=Z*%`M2o1L?{4Kq}AsTP|zHD9Jb3T$d&R738 z!ITXsC!I0TIJwf-gXf&9T`kAfD+u3;Ur|fjn3*8FgFw;yCn|G3Um2db5igoyO)qT@ zf0^nkH9^!eJ>kO+%2Ren6K#t_z!}5ozw9!N8BJ)aoX6Z)G&$huT>QK>FlQ1dmnWrU z|4PiUD@?CqyT{`?yWdghSDXet+b1z&)}H9_Iu!0qxmfZ)%9ZLqSnEnr6ntr$^Fj50 zTq7240u8OE99u$6#6=u8TlD3huLI9IL>pgb%*%6gh#<-3{$X`Q5U~2Re||+voI*iC zB&a}V+e&8g8jYhQ9AZ6t3GWvom-0v0B6tHOq&nLb0$EKiunSXiI3eT zn$+-jR0wj2tm);1y77Hp;^du z1+UpF;Rmkhk(tdZHbXs(2W~tI#>AI@$l+&nzUaqmbKe?GU;A|H2M*;>Ix;MH5K6qs zXePWeU{b*vHE>P0*c#F=+jn+}12raCY1THC+^$v;aCG69YCV6hloYe6>y=7cmbF1A;v*+Gh zwEcPUC(Ta<`^zC+U79|7R!Z?@n!YPK%OzsW@|A@y)?WBt<@|zg4E>~|TL=f=_xO;dT~9YF)moQ! zZ_$IGE$F+Q8qufz&I+HAQT zaGIag6h`!E_%OxpN7)^uCc6gvB+R_$&7>=$&zuyiZjUxBpCWuEw*98_ zQ!<)+$qCOc&Ax(!9$CVIqB4rBlu9{WSE5-E2+rBXi^O6q&zTM~B6ypQhDs0I6?5Ma z(G1iknNx8tu_3>8OXwJ~g$TkzHLP&Av*g8*iZu~y&rEBtY1L{^7)hMA$x;px)M-EdVL9_c$#~WPP#F%~ikx@)66q(e%S5kWw7`*p*?mNV znENQ&ndS0G#Bpz2M?;(qR~$ctJgk_I{OUBVkn{QJzUKSKLmb^3bTS@OL<|(romn*uM5tx7y9<(gKAgYvcJx4rwh&k2F92z}lRHMe+L5KTa?s{!ZNmvW-bD z(4nD-+JAdo87Egdp3U6Uxqbge6rDf+kJV2bcaK~vh0#&{Q!Lo5O4kSn4 zqJ%QHJk9ABS;aV#L>k1GP5pp1*xC^YM28N2tacutg0X zB3=M%D{ipV)OJGko067rY!rvHR?G}en|V9@?jc+YM;A#iXN?~Zm=}V+ndhB%T57U- zj|IO`Wv7BxFkkwOL(s^~45Zph`FbhdYD6Te5H+x(c&V+%nf2A>F~rL*<6zFNp{Lt+ zD?Za}5)@`x56S(+svZiOiX%Tx+H18xCzJwhCU-Q?_A(Ta;p;YrW%NY}&{G8(=v7(j z&VQt$%5h>rDm|y7r+QZNLJic7y0twouIiyXl4G8cb3Dhd>Zc*#t1P-Opei#X?}eCU z{ULV{92cOa8-!lYCp!ouC0*^k`a<`Lrp6hXa)XFCK*ysLJ3YTmxx_rqex@w(es#@hY{QWf$!ttUyUdFWVYQ;bqVDYST&xdt$Y9W z_v@tw3CsmveCAE=a(Ua%0mB1EJ*hL+IHkx79q)8SCg#QZSENv8oz`9lZ%{epy4%Rs zJ4J-F`5YN%vDWws90E94EtPd8gF*tC_?OH1Elnz$Fvsqo-KokkUZ@B<(DM(^rqTmd z&=-vB{nJa+q4oK2qu}cqQ{;sQy8WEy%12r_L)+2{Lw8UwzmDkb*o4SNHCb+Z9W?yg z33`SdM48p)L}aXHP~a110KC*bW(eK4N5$l;nV5y2A1J{2 zdA!=VY-a7@wCj2g-E!W25Wijd$0fw+Sk&Xj!($?sco=B(32>aO0<-OGgZ*ljl*^t` zkRv*?RfwZmb?|Etri|(o!e`d_+<}*Z1(7w)le%83`tWcTUB7oX{9{o7;7U#5m$msiJlLk0G^VW8+i=@kiD!pDA}?G6#Y00$}GMO8MxA#3Y$_gJLaEWwJNb`gVeF$Qo=Tb~(Jme?secF!N0K)IfUgqi{*%!tp&_ zcsNYsB)5|AOGkZSl`{HPuch-zUnnxt4%O&xbjgh37|(-TN4E&o4lnegtr~`=p>9*8 zbuBGntU$l5F-MSDwZfFLGUjR2bRGm49-O8PcC+>zMeU*u=oL1~r#qY?B{gK@QITJ1 zFU732Z`k;q53SwY@@|6tUOf9tE@YC?Nu(+5YQk(1jVH6n{l{IbuVfk$a8@3D={Ui3 zsX_uriD7-eX%~2*Y2}SxEX7Zu49~5QW!sY7GVhDia>p!!t_CT^+@b_eC^LsZ|ZD7CVUwms$k5>&foHsURiGJ%xD3jE% z=LL};@zg^Kvjtz%(+uXO5O82y9mIJ?tq7Tim@pR8UwR14_3dQJjDl9h-h9Lq zDKl+S3i?{wb>?z;wBCiOXY#mVCpp%o09sJ&YIdKUBtW;MbE}h|LAsC;5%IX~5x(tf z?y8UV+u29Z3W=mVWig{M7q@GFKIUNL#VK)gCH@(HbNMMo=|YI*ChbE3N1S4$wETtQ z3FMh#JkJqz3G?YQLIoWA%`S#@#Ph?gSpPJciS1*E$5nVfIBkwe8LmisJ469VN(WcB z>tH9~u>tg5dtY`2(C<06a@ zil5t_yw2pXS7M&M$5%2f$F^{H^SSS9C9&W&d6|M&6rFzZ!U!9#>TpIx*Kn;V6(j0d zJ83A$0Y`IBTnnD5P0ll8*wpU0anhewIOM(6=x#o_M*8hBypXwb$a4cMmJT6W_k6ob ze(k~QtH!5Hs|y}n9*=Yc!vq>wj*kCoul#FC{WLPXE8iri~o z6%(YUd5K{yIQmLr;J(lR^yF-g*m6Fa^NLsFWoRYJbRt)H?fGHJi1Z(iL}De83N_Cy z&uIf+T5c>=?}+Ykj~U>`h)@*g~{&uU%OKsi)FWq95mJ;{M`xd4ce{=Xj09|r zqr2zFGG5Lcy~nn8Nr}U11<@CdR(Y^odOj}w-x=uM-7fUx;jb5-YHHo>J4s%CUWasX`n46hBm8 z$AD<9&6yEOp(OQ0W4S-9V%{Qk^vbbt4hD zq4)D5K7#|DNF$}@Rsr8K85@!IgEQ398<3vC46anV5Zc9WQjC67OXl9p`~kEmC^R#{ z!RLdjW6yE7BdE}2vS7X5Xgk&l557D|Cdtju-{(94wVoKrY+17^fGRwyCN74;gos4h zKPNu)XzqroIISXWaQ|hw4?eVcX2)2V`L|8mq>jP#$UVjGP(l@wih~UZ11=X9``y8S z2d1Vaokn<{=%!+%<(b$6f!9Wdy=^|Jv0(4&CuW($qeH#i+pBJp zTD!a)I^a(M;@4Yj_uB40K&@$sN0oY6pG$-D>mz_LS4hf4dhf@ep6@gli$YScCAD3B zAEZY_jlRhu=!9c)ARYsC|CFA%=}=I5Lcp-10dmE|>dX6wOQIR8yEXJ1Qb4{{I?gJS zAHBD4z$kifwQKWfNl3z{(8Ak*$xIkh6xMNv!YuKeX~Dt4Pm|)y>OvAFW~b8uf*5E@%!$In za(R}!veWv%^JwtXQc$z!6_~SNx&=-&N;y~-KZLa6ld;JXhZ?+URko$Q(*+(tNPzG*0>D9?QQHuTZeyaM z_B$%_HzyIzmS(x8Hi59JYks{W=_a@tG0b_9!IDZN!)ZHw_NdDvuUwt3 zE;3H4!o?uV0nWwz{jwu${xyTgtRN!;F9|VeV6HbgD+`JoJs#R=Z6JWU)&mamwn)Yo zDE~=Rts`AXt?*LInG;*MVdo;YT<`>b(AFuS=S-T2pq{`>f|NuAV8Fnd_9IvGD+j@2 zK^y~|mvfbe?%7075o8gpKY`WO2y&QQb)I`UEcAq4H`>;k3UN)K!^K(XwG-`ZstcT# zt{B2DUUwvO6$p!-eQJ8)s}`*w2rvBg!MxIJ|a2KtE7I zAn8&Zp5Qp_$#b4UVt5A}_nl~*eu@F&c(t}4TSniRLv4RLhKj;;zCtqe=%w+7-s5K% ziESOO@2vs(s^BEAYCCVpa%&2yYQ=Ur2b1Hj2#G;L(f$^Fj2+|Ukwn^@XV!A!Bb`rp z@H+YF+tSZKlB_yCd{_z+kXZc7(d?jV;Vk06AqSKMbUSrdkG4R3H-7T=O}VeN!T3(| z;JJFHwA9thHMXumW|PlKw=5bQaClV_mu+u$ds^i1h~l4ma8MFv^sjB&8YUYLKdZ{y zs;xa4P3x@XVwaBGq6_ca(v5ayL1-?pQ=sUo>$dpKQv0fP!@~NOK+FH`qJr3dn~+OP z^ghe8k6yTbW&lkYMhM?x^3vt%)l6_?k6iAUD*_rPV8rXlsXk=-BNOJ#YJP^(@dzG% zISP`4%MCrVC5j|(6K=Pj7;0}ntG^0dVC|6o<0M=7jRqn!+l7qgErG9-eBfmt97Zua zx%u@%q(oa^TJcN_4?WcbQX1lH6+#eSv+XZLV?{d*)6t-IzSt5)-?3h5fc!gL!b&60Eh`{f!4BiOvk*tZ zO{Omjghbq*NF4zuOC{dB#&`{YBp*+0bv%MpO(LQ8bBhv|xcT!MlBh(16Z+HS$d+In z+E-C=_lV+@nxid9X#5FI6m4N4^48M9k34x>#9FU2A2j0)2snL-Lur2@iCqeUOk{-E zq>U^WT8=t4Z{vhrv+b-`9w&j$k>=o7Xu0*K^c*zmR8K=+km=^wntaLk)=W>(*PY7| zV-;Swn=0=50JS3D92g?^TD<^9a!eRqMnfEYkziC%^T?&5oDjC<7i^2K@fE4kc4Pu7 zQ-wLiSl0vfb{1{X+4##e!CN)Qul&@eXGdItz>G50{@q1hn^&)z2U6MO$BGpJ<36 zsrt#VLuZtJdQ;|7)O~n3dfqdWBu~lwzNu9WPfUR`(dsSaYdmrB@?Phl+s^zoGuTrS zl@p;68jQIkp#%;tjI$m@98-2*f*z{u#MPDb3hjVM3tiJC@$o5%5E9XuHN5s>fA;GM zQ}sLDZ zyDLpen=hN5MK0>1H5B&UK}@taZmTxDujb^6NkNXF|1rg0fpcT509oejAy40YJ-_Jn z{;m!6ya8nEm#15j{^uB}MK*Dg4t4$$-#!~v>G2`M{GA6E5BjnOgb+b07ne+Wwf|bF zX}PiZqLerTNM`2?wOWF+sP$(5S&!A@V=nI5HFS}@b3K7liavD$i@ozXe$Fg91 zJaqP;=8zSmlfS?QBNKf5OQzzMHY7d z`V(LN)i3q(IE|FSn23N!sDzPM3~JyInwsh;j#O;T+=MiY}hR2*ViM? zEp7in#VB?kbB%{Kla2@LiTt?AQH^}{@y@v|BZ)zxEsmOo*laKwW!sL?HOG{(^eM~6 zoZZP}HKDdlnP=#{9g-dSUGrw^y`M5aKLkh9%2VXJ^D;-k@{hqvn~EKIVq$atMS;od zLeTKy>hMN{%9l(f(r{L+ofn~9D)xyEM(Ov%%KB|#uyP*Itll2;gqH0U+A^L7`%p9g*sU|MZ4cR# z(-vzq5Yl{_#v&3-6qRo{afqCk>huD7&BwGQj4n}~r>K9$s9DVhgx?5YYc=yRJ*Za5 zYJ*mnov8T~?R0YGOSB(O%!+WYF1&>6JgsBV;Vi$8K@`iG!nD@;j8{hVBL+Q;@wiPj zhX>SkQ;t$d9PRQ0GZrn)Ygya59`P` z-&PdIY>%+8I9s(Kqn|R4jiX2uG{%0qMuk2=-q1xUh#FUsXP2`+8ujt3w0>QbTq&^3vM%Sa{yNeX_@IWE)G;;o; zuawN!PQmTDNPdm%21%cUrmD&PV*XPhSd}2}={b-nKSaH0^OMarBJ3=+Jr(W_&Ahg= z3DWEvQ~79pwPg<+MMHOuPvj}rgO!Tj`xDS5tV9|t8^myp8&#n2&oAjbw34NEHDJX^# zi%?XZC*m@SXf_919#QE|*Y`||vLTamCt1H5w1f^UInESUOM1oAPEItvwW81UY}4)` zO-Yg|NYm-9X$C-uH)f}ussC5b&mP_ENesI}m>kEHR+07Y(vYo~p&)fMiaxkCCry}x z68QsBO-{_=T2mvH(pS>(_9jhHGM*f_yh^TM>aE8{DR`DxD8VZzXZdiKImGC-CmqjS zQ1{#(20L=1)p5B(ysXC&xTRLoI98q{8u!Yt5Xh27Eh7paRGdD8Q?A}w3T*6ts;f&I zi7vv#QwZ&Req23yOFf1H!;ANR+iSKv{C4q3OxjY>cqrzOXzr;EeN{ol_WgM2{w)}RE*za{?HFD=q8(<0~>89uc` zMFDS8mL$b?o^__Y6!M`OcGp}KwZhV4;Id!tHAJze1M5zY?!qB3H1J%Z`V`c3(9RzL zxy}yjr~gpn{i=@&WZ;7O`nUuLZe97^{){Gok%1Ue`d&D!0QsSS94>UMk?;v!q^9TM z&CJ6uIHqyy)K4KHKje8Y5IU{j279tb+dZwl%zo-No3FIqtI+Xq^eci=GyZ=?&0ryp za)rEOw_eEQIZtVsO8#}PS?SNfQHK)Jke*x31S>?=nzI5p;DmI^Aoe@^de@WMAHfxn zC6&6*`}=#CxffWjDWQ|;ApL9CqA&cfVS*ePoEDHCSP&`9^t7P+&0kx>H=qVbP;`BU zoEro;%0QisTA9h~p3xj&eH0$_dNke)NNALatOJL<(LnfqZ7McwRZxY|bOz>iN{Fgb z4j?9TfKIW}#~@Dg*PVc&>i7qk=!9&6i2U2E55r%-wIBu0_fqzXz4Vxz< zxqsGJ@<)N>e{GMa@F#y~g1`T|*#df{FyOSy5x<3rzs5Eo0E{R-XX(wq*Zbcw{LwWq ztaQ0@d5upvZ2lezB4uzzP7}WW*P`*if1Skuy-^jw?lt%*P4BOpr3Ea|_=`!=S00;FlAATH^;RUX| z?X5ZzdIX9a{p6272RX4AB}-BT*wlYHte`_qX`rIAn28F_-M=pD_gqh^!v^PHTa^Qw z6{V*1;XUW$wQ2@LS6wS8P$&6~0R+_GFgR4$rccjbb+c%^sulPn9!@V9FUHKM-x|Ha z+Xkle2UF^TzaJ}m@rBI98VZ};A$@)(pvIhoWQ1j_bAkUo*Pda=X;}c;88<|{nFC7A zyYXAf6cu#bG~6(eH=r}F>w)q8JygI(ltZxT6;4vK#VWckoou^0yZuMc>5oYaK3LZR z9H{CrW#4tB;8OgVziOxWV{X`KQ~31X!!WP+ENcL=l`6&?hWay9r*`4~Q3L+{cFP8E zagw$*majmks&9Ry(4<9l9RRzYNU0z{%BdANso|fzp!uLlPjmOg-&UwU zJ`;>h(obwH^<{toffH*~!*46-^W}UtwY*n3*h3?j6(N4Wez=zV4GC3{> z2TWUkthf}fgs;E8v<7@B9pWLI z&c+smoU^d;0v_K8U?OOmie%qJFjCeGp2XZ<=gjcg{+wM*fX8ygOA|AfCHxw9OC67| zY(RxOFY@`xwQFn)d8?PsIvQJQXhr}>Za~O|tagH5&(v+m3ZnRcLsLMa5_=r)jP>iW zgz&xacgT4+0BzU{p=N%=o7HDPt(_rljvgfTZ85#@-zzrU0{gPlTBd(d@jI0kkw$z@ zXQqUcI|ywnsw*(6=L${HxxE@mmVnmBqi5!Yu0TLuKxgp%F`vmHZ!zxuPN-cqcY^6- zj@xJao=OT&0SAkCKkX{w1!QT?NFmU^uo|ndTW$c=l0Yk9b5}4Vo_4K#S18JM(1 z;r&(1z1o(yg{~WV&t&9@rFQyv-T~HFZ4EFLroNxqZvkhey*Nu^Rr{sEyxiSGaH8~U z>;tH=y)K0JQ6cn zut;g7OF$5ike1FxcP>G?Lpr3Sq)U+wk(Trw%cGvN&-tCb&)4^V?JxV%Et5Ish^NN= z-1i8m$mv_x%sDH(2b?H^bGq~H1{h75ZeyTPZV}oUTtgM>47gvyTlvrK8Pk^nq9$BK zC%05%u4pbcvFd3c!0i{z4gjW`bw|LQfd^>#UhJDSKl*VTGg3uP_V0Mpw8_r)w37&) zGx0qV!m4?!l>T4$pYN5`Cy35zsLRXVqbGuUFLC;KqTcrqLM^RJ_kxZJ!np{1WOZU! z7N5<-Z6#pYqBXDYLbX8wP4yuSB<|^_^eZCGMD3giu1AY%s9eEDdxhx$gloZlpW|Q_ zNZ^G4Caao-kWc3Uj96#5A@+a*0vCMz;|=s>il%_ZgrH4?WR1DqRbI234KES%EW$H zq+aK{mv8GF3GuE$8F|(+d`HSzSMH16NxoJm(vX2Ox+@^Ars7}tey7!a-m~O~?-oJ% z#!pRs{@((E(4rOz^!xtdqPYPQsWF>(1b=ip8iDe(;!NtN`Lyrnt9V2q%4XM&UUe&usG?7 z)!N1ZWQZRAVe{PM=LK|~Na`T;cu*q4)OGAT z7eO(fQC-UfW(0`8ZnVDy1@*UxCQnu2ZwTB~Kv=LM+p7}Lw_BKm`PmGFnALYoY+aRu z3>PLNY|xfK#O83T`H%keUwz*{md<;Z9JD%@;nKcPrpKfKqSYpy;2KM1>C+EV|BPOh zk}xy{BI{C7LfJJCAph_xKAH0f8JW!PLQi%SL}Rq8dczCLbR3|AtIP+KyAq( z*oSwqg$PZ~T!g6da!W?-zDenuosACefLfaS2=;=Mz6q~uL}SU~nC%M$ujzm%VYfH- zgF(-hn|RZRa4vwMKTXkAzP-GHOyJu`Ukl;ZV#|iT>9yvAt8rDcD7z9c-qVT2&JZd2 zk-qxw&^=EDvL!*+P_H*E-B|O0A5q#0LW{8! zq3@=EmI#8VUmsu@A`xeo&1X-k@17QvoRq%@dUTV3WQU=~qLAXfW;z~_#C@%zId;Cj zkGQ*O4L(0{Pu6qa?WC{8`Bdy)kMgbT?Q?J!dj9%AkRk@1xt84Dt5*pJ%^mdb$Fx0L zUj3Fxeya&7ZG*#l(FMvWNKwO6x-ZcBgH*~ypN`u1mLaTh*#kz7diG^&sv_9~b`d2s zTY%kVxR7IS{Rv-n%q1Os3X6^1>HW-}$(>1If;{$XKFbpo{aaLOqB#hB^5L<1H*s~J zoZenEhnyH6zQm@}oUxE=^CjTtf*ld*^oCuElbJhVeCg&|a&b6Wj*oEJ{5B_IZad%T zN|p8*`N$v9I7EzDKuA#txByBC7(ctT^NkjRkZKX=M-;hfp-qcL^86uY4yG8=~3q>_nrO;Q5TYIh6UtaSl&mB}0Xj zhd$7BFEhJ#$P1JbKF|=c%>hf4R)DrkjyGF3`Ch|^6G;>$$Uq)9tzhU%AEGz*?o0BF zmhz{cQj~A0X;Jz?Z{PXq2^^|MeZu=q6dh%X0Luq{c__-*^PjE>^xX;DkV7iW!rsa- zR+;m)ED}Az>{)eAGw$zu+ zPf8V{jg<*b6>|_z3c0AXzA`{T#y)UPdG+E@iXB&nGo_!b=yh z8L3cYgbf#Hp2Z!%uFMMiz87gt%>9}7U%`QYNYsAqrIw|8poM+1DTeoln_u}VsfOnV zT*wYb3Z^JV8{={TB(+{x^tKNRhZqvH>!XhohYzIyStcR#=_)R)7Ug~CQ|93Pc^x>N zG8l{##B15Rcq4sk@+eZ+H-phA zx5$wa&0XRC=~{XP0a$znsdcP_4^IR>KDr&aJjjNrCoaN>N%wUgS{!ucdS=WX)??^9 z!!_#Z9=dd$slfe62|yFIBvu=$t|vrlOn~aj+M%vzksEK*={^HomOTyeLsm+{&0fAy z6xK&??-P0~0ht!Xt7u~6(4gLSZ0I26ta$b{tgFf9CtO8n!Am8}oCkuZ<_GrjYb=jw z@`2W;)bZ}?04&NzkR3v&$RakJp=l31^dbt*k= z+W{b+5wDpDMWy`90eZpo!|Y}U9aGImgzZWr$QG{eq9AI^6w7N7)^+Ls#yYOOZ{dV?uOdPQ>uP@<88_l|R9kvBz4DKYt%D6raumOrJV)L^Ai zLb1a_HW4Jsr%}o%pCTPX$T3T(h_NX$1wM$Ch8Rc)?Ib9Xe!Y+Ey|W`Kw5-phoU ziRG7NBr^{XRBU7cx|ApnKL${|)=W1qyF8Z{@xFpy6mJ7F9a?D?7#c26859cJ;De4( zgzf=6Ry{9wz;~*r;%kAd4_$fKk9+~=GppJQ!^e_U6sD1OqXogb2X%l51x`@eS18wc zP1z*qQ;+#_uh6IdOR3JR0%HZzE%GO7$M`YFQ3V+)^HSP}4^EAdZfJ4M3!gr#E2*9q zZqFQ>KoMv63deR$xUV1Rt|@%Yf3gh2uN`FvIt2nR2dw;b09Y-4F<WynIt}#j-87g|)uR`9rJ`B|q785}dK|un@pKgFv zR@wGty%J{0=EqS$2rwGKLtx<=Ez$5Qvy)_9g`kQQA6hyu5$NrF)CW&RQzUDB3P}5# zA&f9u%X2Az0?0ilZ4EINB)`3;s6g$#7HB_z)5_HdkmX&YM-m5EvF)#E&=6iAl`h37 zM{2NEorSYg1BgQNpJFb=i!%boNXLTMwlf?Qv_ZXU+?~rXDLyCkd@n9^a@JLey|wXSVn1_YuSI`8VyYR1APmqk4Yo`7Gn}%C@~$W? z(`jEOxhIaqP^p=<7ykK7&oF=jr-@ zu}F~6q3EfGYx=uD=RStE;d~Ts`z>a>lD)l|_gS;9qKhv`pAT!CceU#=TBZEq%D^d752Hlt2 zcyVP=0+-qY?W4|VSX^b$OdfdzU6J5s(q9meS5A{6{c4T}&5FjM$W&*-yotT|N|swb zz2te}kRoaHyFky+hfr~fccN99jlEdyY}gP6jgm#qx3&x`!v)KI+IkZ%3Qg|;zNhyU zM49cDM-ZA6R4>cu?hK_JfWTvfIfE2%B_@A|iu@t|XGD{}!{DlSj=MQ;0ByGRBkrQ) z0#opFuKGJ421_Zi#QUx*xe7C5*2L3(S!_m`E&bm0)z+1aG0+?zElfz1swH8kd$}fT zyWKuz`_5P^;J@22ncMeNXkjNCXV;Ht#PomITw~bJ?X{qe3tO}o3r2#~+xTgsMmf0m z1U~O$FwpfpS+=;}XuG<7@R#PT3>2z4s~4VNK$gb>>esW7I8m%WSh$YGIFE@XXcP{K zV4$n5UKk}gNc%4vxbQ+~mO&H#kPY-j*0SNt0>h>e37gA4U)gQu@>RrM&sFS;3?xR7 z4RIi;GwP8}6M$`UqTCtyY4$0lz#bq5x`z?p-Dp8fjHoUi2!1~_e#~j6eoCu9F^mL5 z5n=Ts%uF_agV!F4twY7paYWV!BD3CCCL0Hwm}pK()w;^Blbg~s1o{}VmoI7|OCuI1 zd#m}NtgZYy~bI=MncRO&X=k^1=5Jo+Xw&js5la0qiccNy9$pzpJ^AEz$7T|POj z_`?Ojzj+D7U*)Yq@jYx?W7TL~q7W`&ZVdR#W!}b6ETC9dS|R9E2-|`!sgbTD>JrW| zfKtge$S~d7mx)kyK%GD|q8n?GBhw*DEQ*kuTVGKnAsxrEEIoqUxABz2!2Dtq7i z6om-44DbsI3=>bQibjayF8i*N0C+OW@-XJ>n-6a!AX4j$U@TmCR{d@93O0!u&6}WG zgdDdP|LBcs;l@mn-Y94rwc0p3Y}`{lxUL6;9u@mT4Dnt&be5Te;N1d+6|%F0`!*qt zE1PW#|0=aMFKaw$|7D1*K5>O25S3nefDN^*N?-2IEkl7+6{^Q$k|kh9aIe`+Lg1Bs z%ndo8j@KfP#2eP*%dW0{2dSPg<(0l2)sm&gmwE=0zPEoDr^`eJ2HhE*WcO}a(uq`{SXHVm|Tj`0(!F5)arZB z*1-&~C2x^6dNq8Sa7lB@D1n{XqZc1M&CgKrQ%3nZH1XIUbKh_rWe0mPyX+h^ft#N; zO#lcFb;(>Sx?*(5w_I>9A*uH}lyHP2{>+H04 z8L?^~Q(GLdcp@@|$|*(n+k*AJlH-4p+x-`7p5T7XUN@c+qEV|Y}e9%R5c&w6mt?x_R9eYrw$Hkz#YXg|c z6mU(x@shoVV6s*bu7rOYs%=s1Yrk=E8v?#k#HZWb^=W9ZCWc{rjeBh&zB;{E+Rpx0 zr9#7ec+SK7A(F}gp7R9->MS#mx1!14_e{2{vqpe+O$ex%@C{r5f=s3_pj3yw!$F1a zjer39zsk6|uu4Jh87}!QxJllMQ$ar2Yx^#=_sq=|r7Zzd&2F-0G7v7(iDiwwW|+QZ z1`HuK#K)@@|mWq z@DH1nbVwfB^VHJyvt}n-q%rI0Qg^wiUAsEi!y$}!X1o`Wt+O3UU)i*C86~ODunC)X z@J(E#-W@$t`!9?2PuCldaJ@$<)}WsVEvUE`OAguxA2l6Jo2%}X852O^i{$%k#Ca7j z;DF+*7>wNKuAjj-!Xjem;_kVTkSKM*iSnmF0~|FC6#EVV=K8fP4lliUWM%k}*fKS9 zf~u|wpqi2%d@yGcud9yGWpPi|)=61KjtiXF^=u43{#@0_oq6@#XtEK3mJa|@1WdQk zCCOigd`A#nI!--SYwx)(35}-65M8Djr_=s24S{#?sd|KD$X2RfWlkGhof@bPcC9&0 z8ms|rlBA5;WLTOMm6DTw8OR>2<2!&niv`8`At=A)#_J^oz=Ky8t&sHAFfm#+Z1G6} z5^MdFz+~5TKV|rII|q^=J|(t(HG@Zz0lqhZw(Hc0ug&G>Lxh4u5@iWtTr>5~Ce$g5 z5Bnl?IkWy21$|tUdU47qFosP6CqjLnp}Qaf*KV@mNqee8J{3%I6~EvTt2YN$NWVLI zus(_&z>rh+-dg|2@$}l@@`Vv2NK}yf6xSjzVn5TsvNgj|?9^YslpNC3j zRTVf4qeTpL6gPZHO0&gNr*BT9NQHkD*Q6)>R5GcIWM7-1P?}|#=t8n1_mq+_6N@y$ z^{b03%KbD@#hMEaWVoCM2X`by(!5-V+W-A*=-HoV`#ev9QLi z&d$%3!?uMcCAJq{q`_-kaEY&eEsEAk)g)?GPnUVy=mjLdGa$3?+3CY_dRIv9$$rbyBg^O7QyU~tl!XF`6f#u`oS&lya2z~nl zKk5{A?Y=xTAlT=6XM-=aeBpC!rcalHH-@xt(%W2urm;LY`W>}(#I3A8fB#fJB&qc2U6>vg_Gua2%^V3OV?w)XwK$U~IsW>{Td)r+E-m|N0hg_1t z8eAF`3-3UUgbtj-(YL5v$v*Rjn;~kQ;*dSZ`GjgR!&LXQ6J=AU2&Dt1Y8%pOqqIr3 zH=oBe^xx{#(#^+wzCP1LjFshvn@N6+gC{y6Hw#+nSp-tdDP)4+a6>eL6(+)NnSkdx zn3box9B`XSX87H{30wULG($F4ctPhQN&f6734gC+UN z$R%}y!!Ox|FH7x;QIM=idCw$qk z$xjibatIkE1y(qUvG;bfKN*YEBUwn1HORA<)ya5xZF5pW->jLi@YwWXjRoUQPkn_4 z%9s=Q&vEJ2)@E&4I(w{Us-!Z;^CR4Fxw(M0jYg?4j^zv$7snJMS54$_UZ;qd_St}g z)brYYuC=8>H}(UHnKVNJ)WAOi!u}6`VqghyX_nUC`S5~nK@_%0a`mkiAn*?*C;VhL zx(ZwJl5Mp?-#xR%E}RrfYH8cZ{G6q44E#W!0Nscc0nRhYY)g_bVJ;NRf1y|Vzb^^E zn=ts{&j8@;+3b}k{Pi{r^2uD=gHHNSlwTLejvfL))N2h$L0_>lqwS%v$YViW5jsGnmSvSv3n$-dzgTVkYKu%&c2ztF~J)>kF~QMaOn3ga3Rce=kSjo`-t?;n8Z!g6YUebR)Gw$ip|{wNG+ zjaBcoR;96DD=eQiP#t z0(j7wo|OM4xbXWsey<03#seH7{=bjV-$&^0BlPzXLfEyxz0luY=tm^;w->tmcOds8 zX83g69M2X7p z4B#&Uw~XSJQeRo1uK1-E?gY6HGc$UaTmI@_X_x;qR{PhOlT`u{C%ZF1Zj~XQj{obw z{MmD=h^7_e2Sm^$9FI8|^nV;IAY%~Cz1bw1OK~K!p#3{W{qv^{WPbqhOhG!DRnids zzm8BGA+6B@6nr{J*B<|`d4@bHA^{kfRZzB&JwVg=W1IP(EQGfZIzq5g)=>utbuz3r zKK<0z+r24N3$US~2?s!kTwZtwDB-SeBH)Yy`iJdk3~!VVpU!lvCve$Jr_U%x30f%A zw}1VCPyV0gOBnxx;~P7eG=o}TH^m~tUXL0hwQ?(K?>&Z++pHhdJzBg#RiDh zDZ&}h`SX=OOYYD1#=ou*Yu%6XBFJBR=6ZDb|19tLmtElf=|?H&y02{e&MRi`|CY1< z+hO{Jl)4F{eNOj$`+rTb16aUJmfZsFlg(81NdG$cKl{j-$A|-PMhH!sO`Wa!Z*cg3 z9|L|9H~?K-pug=rd=2M!?(`QgmA6Ig%Kyg}?0ffoV#@&M-1qNT780`WOoJreNn%AI z1<^!J<19(7i&>ql=T%jWHLEnJ=)x^ukErCz4i|XPl{ZpT1R(`siAqTLF}{;rJWd~c z{ouW0I{$;`D~WZEJE_OVhi++gn{}&=%?l44cTxu3F_Flxcw65QfyeH%h~-)%^A`DD z0sreNipZ5~STFzTk8t6uezLq|EEyX^Ev)|V*hma{k?tu-agl` z{yrpsACkYF*I#(+zYodZhve@=^8c$tLQaIlHED2tv_Ora0?^?k0|5HqrAf9)B_;DU zH_3^G{B%#t@uJ6Os*1DXg?6GQ+ctYD;29l z`190wqoI&PdqqcYY0=LBPWLSe2K6`ho$jAe{4qt~xO+7ynqw&ADhkH6Dsu9&=$k6k zda~uic+p#_&&IB`rmwT>FeC2rL)W!k2k9K z(Yzf{?i0oL_2z1r;V^id?{?dAJ}Nozm#Cwvf>9i)Zt_9&#IGHM5Vqy6L9vv{B6GLr z;rh*0f}Otg{|S3z~hP#(!sAmTU3s;;%D z&l1qjeY^cZSnnF4g#9S$MlWa*wi>6VZNTxMn0GPHDa1YtTe6uZgk8CygwTigv3utn zUk}o|iGgpB?-E0Hk5SX0;y^mZk0$x0gj}!ZSe2E=<3|dp+#aXT${A>8Y(Cun$23OD zUPFO7*oN#q&q_22a+stT3p-|=`@nm}!e!RJKH;^#0 zFmM=eLp0S2=d9z(zYHVN&y&@9l9hihSwfbj>6_7KUW#m{d4R5aqbZYE))ht+Kde6T zdy_2EzEq}{BFOp02c4Y{YMN%I~h?K$g-5Bl(165Vc z$CCQ5aJli&vB;0Ei)i|bgkQPvVSOp$aVFaAc_9x(!nU8;spiQCajf_Zj);mJ&-fx^ zR*$v}{M^JOxcPCvvVQ8MD`L4RFR&mqe3Gw;fA4KX`W|`ZTGEOv!ILLA0TQm^vLaQl z#R5>xha|3#mh)?fM063B$1q~=#u<=QHzcVv>I|;u2@d(W zIKL(aPIon4G=P3#WBo=k3H8T3-k=AC;NYy?7~d3qIaz}2RGjz>9QB+RuTDEfGe|Eo zyuM!o>~1w1(86S8X+C!#9#|rDA|I-;(;o#V=Yie4z&;?vn8>`T^J~ey8L<)OhgK|? z(VxS{`w!;FQZz%i!MR$qoPNxQ*+gBoWsn$a0yAU{9p)CYUmycUK&#N(i+1(&p}K$! zzqT0p7f*7-5AUL=wx2b|&?>MqXcSw^9P)CvB5_TdQ$2X{4vRnS=xaM>a+TEtZEZF5 z)-My7^P@(CC6>EpSWtPI%KyBY&io~Ul4C$o{fIudEgn$)u;MJ3`g5!W+$P~mK%C_2 zOMr%cK<0IB?;9ezbSq)we<9C7IW_`2hRlfZ{-(oHaj?-&mBS;#usj>!ULZb+zx~+m zZ51z|>)NifdwUpHw-haxbYpDC^O%3M+U9Ws5V%o_&~dKtA$-~nj*aQ*;ilPR=J1?e z1u3liZ+C;}(#*B1EKTk)X+QAw+Y$A&huy3ds|{cBhaMA26+vMA;hv#%p9ZXw%F*YG;7B!FfzWXm?oag?>d z`nNBRO;2my@Wvhetd4DnAU?^B3KhoZwDAPs$c&PM$2w<#O)&%vF)}sU2e_Fkj|7|$ga~g| zJaX#=y`#|$kM%_LQI-rq)2~0R&jTMQ)F^qcGz^F?;z8YWHO`t)EI0a<_A_A7?tLme z?P(9V^#G{Vaa-2`(xtbF>?X2noLn>34<5K3m}h^eal22(ZL70pZ|(Q{tXoiLm<6(U z?uJxvpuk4fTD#yCH{U%W^Ei0)ho46!U`^m9flk{5es>`2gr z5einQo4u^&+_8n6|EqU85cM*G?TngCMELX zRvtfD*Cj@3zbj?wSW?Pi64)8~)V(CoJVm6%4P+G9#?nVVy?bChpBycIx`zOSd*H3W z_LC*ycjf>{@F2BXt5d$9Xb=`#y%##O9)0`bInfBDhY?)RSJ1d3AJQv zE4cUclRq9I_coPSZb4Qq>#qP!MFO0S;FPfzwJ zItM%Nh=Fwlb3t)CqKps)X5=@J`_mZ_AUyZ#tRxm>-TM>h)~?QEWQ&%NDgV?Sn4BFU zG|k)$LV5N6CmLwyh1JThr6Nd80fQPh1R;aXAs5fgS1&SS5KZUrzMmGv2Zzj>S3e7f4k>NzgNF+bIr{jJ*} z`;2u(*l_$PIv#VSlLw$K8kn(bCQ-Mpup!}l#>&4{>dPd)J?2`{xEBnhP{L2ZVC6ae zWi7u05+&<;r%lrnh}Aei-}axM><>5&3Yw`G>rA}?t=sC4ZA_{GrBDMOaFjFe)r+*J z+>XD@&3t)WZJo$u^<}p1hgrzK=V7zZ^mh2J-(G|JC7>Le=IdEN7^uzhA_kYsNDA@L z4RS|29YkB(Vc7NifsMyP^Ju!4rM);ypa|OL&f2- zBCFgkuvZs1F|Q<%$-eZ&4)zbbCHZ3qyl%b5Frnio8@B4Gjq#5g6Znm*pna`uk2RUc z-e_{=-AoSsu7dHma%?Ke$q9gHo@lyvmT!OIVDlFEz4Px`X?O2J{8CrT3#5@Exnkg} zpfNQ!N?O7h^ulOUM8?s)KRGP%vYGYmEAc!mY{VBo^Hpccj4pn@6eXpd3H?fF3yA*o zxq)NPM!nesq>9BEj)v_cgihggo5c;Y^a^?rd>i*GfT>xjNd^651HB{f5rM%u(7C9h z#P9SemzQB(w$2XYVqZ94;T`}kV>XYr1ZM)YQVFgAkz^}cw_QwP0hdx?R_H?z{l- z+%`8vKvcmZGGVLf?8^g$T^~M@>)&-_q&&#dsdShM)FA4E^Ps>{HiwE8qy<( zcTAqrvz24?&Z1Lj!g`oG28dAZ0J!&y)AjrTgo8E){0-^tfQ-Sq>1=Li<)O;uE{J%_ zd^%)eXit*0{+S$^fXEBV#jXgye)U-X43HDzHh#CWs9Hm3qIq{xMJ}>6;R7+rO9k24 zHfhe~7&(@PFnHjWU2Y+UpX~Y`Ue!Xpb|uk)d`kCV`V3?_DP0M@OSj|Z9|fSjZ0Sg?WgZsPsxg9K(N z!x9C|ov6_@+h^aqD*`=<#_4?&7${TH!JJ2V`7eKGWv5EqALebig3dcXQ}lga&`ZFyAlVu2r&Fw3A8>vEc--1d ztsEwnaDS&~v2r5Ecb`Pj#}jsUE3^n|P(Xu|1tto)f%BUu{dg)v4f5424Y=wo!n1tg zUqDdSexY@E%LjsdDBV|`dq1;fHbi`Jdkk+UmvMjqrpUW|H`}7`$@6*Fd{>|jpTwat zrAtj5O^@COtgseqvK*(MEKX$YmPCEpMh<;LC1aF-UWv*IMYj%RatL$%eHNDy@*adF zS0njnfXBCr#+KS1IyT1xU-5B zi_CQio4+WfH?CGTF`DBrLB3lDw4F5n)LX9qox9?YmKw9*;I8VxDzkH1!>+YhsIr%IQRO<7(rXg;{Xhr_XM_!xr|mTDwH zkf?*kqwh|8b);%SZ{`Uf7b+|^O!^u{VxHKC*jMFW<{F5`WU7G>$c)Q}JwR({tM_7? zlW98iaZ^I?4&F3rKRl;i?`i9elg-!jy_Y%b8y%u&oHX-5QpYJ9L$4e-s3g$h(93-G z-Tn4-F+C25R-GTy1$D>P$&T{YV^{`Db<*7YePa!w$v9*8lZB0ZZmdP=;KY~Gf7O?* zLkGEPBn+x2R@5LOk=*05VUqZV4Ua@FZvb@$XAil)pI+P^QEbX4xhvtv+Y)3t!gYw? zCo|1=Q?0&-N=Yp?!Xoc6+5{-DSJgYRwrl3y3JJJvQ@o@-r|_OYqaVp!O9Ud>J#loy z!Ff53ZRzI^9njq(qief^p8F)Gd7ghJBQk+U$q3vz?+i%Cm0E6Ke2C~`i`ingY>=Q~ zE*u0s_g0-OkcpB)c5aJa0n{fxv=lK&3hX3wam@S?9r8)CinC7&@;8V$O!!q^fba$g zvN-t5f{EKwVK$DCP%HLbMZd5X6}uOd^aST=P{^Iz7LS$T)S_V$4_c2x7IwSI>;fWF*xsc-WPvlT?h#3UM*PcpGuM?DWToXpE7vUie_ov$8;ux5^EH0|LsxQ)0j7A1^6 z^Ae2_k!4$Rhrh<8Q%aj%VompzForOEBVFk(cDLVnogd&}slv+ePX~MjIN%#CrM!=R zI^g>?s)@u`jnY9K!x1driu~k=%Riz*LY8VQ2xr=$1=~LY-;8@mDdDXH8+RKe6Y|Ji zj&#g3EjIPiHO67^(i)ovjcI}>8~thlU=MyacxG2 zA3s1INE4jVab1R;7{#hd61Z{{CHN8d#!|6`ZGk~>fe7IFr6y`-?6%ZB>p_so#trUe zhYIxSsJ?qI{QbNUUsfxbS~5yTK9{SH8Y>2cMm{6!;<8MeMFalq9YtWmaJJMYH2L)^ z&~h%)y?sVU5xTKn{srlQ=!qCj84H(3LKA%A5`d;Az0qXXxZ5zH^gG_7jFGwaYa6n1ug*IDEF$qVrEutcVr|)k66^oz7K+azl$1o@; z8B!9f59^d^qfK1Y7#%?vjt=QJZSt2IWRWM=8cU6*{(16(5f(J`_E|ItkP!jB%r4L2 zQ>0fOQa&0e?usuxcX`p{2;)U`E8GFl-~*f^@z@(Q7;U~J+(Bs3TeQu$0 zKf#$a*QKO234O#xNq1%BgGSQ0+!2T=`s5Q>Ti5Cl#j}Y~r_>X%Vqi8W5ZrpU@l5(! z!B2YMsWK*y10VRrpN(%Ek8?fm!b<-viEGBqyuQRJ&th^GZy^_nsny|}{t(TCd2jI1 z+gb5WugiTh{)Z_uJLoWuxkNwx&i+AzC9_(salTU2a34p-z-)R1`vI6%5lP3$eR|GzdFw}9-s@1x}z9xQCv;~{| zhy+!S;w$gf)6P{!O-r3?_J`L&#ENHZD=+$)9`=O5T)?Oj|5uTT72)%s?${#u)HZU) zk~ChY`C{9UO5MdY)<+6*ezK=x8e+s+30J7zfLaGF4{Qpwi`s&~%2;XtK_Aa>=sBdU z3vfIqKk3@Np_F7RpP2llX)POEI&fu2%{^La2Er_T0-%I&^v2HpGm)eZeq!^SEy_v$ zmbmR{4KQL!4mKbas?4?IV^t7U?>~P7MHGlrZ3jre{HA%HS~!C4wFceH5>GBVlTrlD z{Fc4`#fHW%q&iIB?>) zKsLPsQaKKwtrQfMAywdIk{hMmqm{3i+D{X&v#8$Z29uV_qSj)|RMX5%npeys)T$Gs z(VwM!pSz-li1z_&f0J>^A)sGOT=;%@?5y?OJ#)l3LeTUQ(2}km`!jvZ$_Kj6km zei8(NZMpdzCK%4ELInEkgZR22W~Pdpht$B&X_lcxq~c+WXfO_wDL^b>$#Icv4Zz1o zRUd?do*-(iFA~@x^cB%|OxO^c($azgoVWawi?Kw{gEaInW#z1+DF zr#wE$e%QvF*UKFKX?ocS8;cSgfn=Vw1fbX@xD6Z*J3^pfnDSX_I0^r>aW5|9gy30m z{RRYaN0Bu_$Y~kNyH(o0#g-JUpjyql?=K7LhADM`w0X98Xab=iV+wT8YtG!`E;+kG z31W_=%qhIXKtr}=IZc6x6x|6WS7%aQYRpU7MJ8B-sBB=OHrXyXmztu$nmG!B4?W^>1^4Ovj z!}~iZ>|>!~u^u76UCh`iX!m@lbxYDs5s~^tuS2e9s??u9{B@@zLxWfif;r`Q_V~FD zRApHb{hfPA$Ej$C!A0D%#>z)KM>1?imz1 z1hHMWz}`D5grTFa?2!YLhArh$aiwnTtkA45y+E6RkXP^Yr zU>|`#%9XUlH$zk)Mdf-rDHpqp8$~!z7_t@4Vzad5m`h54<*=*gHu|e4!n`JbZ`=bxw zoS2s|7|JI&?aa@e1G%h<<~-EG_(8Q*K>RbX0vyk6hTemXu|Da$RH|AyPT=}usF;C2 z)<|Mo!?PR$mHB6lyPZOHcE@&ahmvI1%PkU5;V0SE-xDpKgZ zU&VWK?5lI1K_wPjOflSBM90_uz#l)Qho%=;t9btqUm`zntsqLQ@F3(L)(Wx_Apb=I z9xGEba{p&7a|C}V;FW;TJP{DhwxIbz z$rNhx=!boTBH?SmMf8)cnyv57WVVdmea;@FqQjNt1u_%U^KZMCna=6#+XyZzg>Vl* zk3E1WMK5U^GMXD`%L$t(aQ3p&47KqTe#n}n-8e3%EvS7ZXMC9<|Tlfqp62Y|7?09 z^o2{*tJNf{Vzw_~EhKPjC=PuchI;Q!n$~!`M>qJ~P$tSCsz+xF-{+<8t|p&WoG-cH z;XqCn%Zv!h&ONbdp&JX$&DeB_MoU2DHzYOueM!vxS}gX~E2{9)WZ{#gI}BTBO)`?; znD*rNvHz;DGf})$eob@0!_E8;(-{0$Ip&1+5MpCmMpA} z-kFy%TE^Es1qfk7%V+PSt45Ft_5)o5bErODa2+TY_5;SrkGE?|5aK#@Ygr+CK6DCF z`CAf6+DfWjhwG!=7zFGc^B+QL$^}5G$mJ{*q9zBq(Z9zGH7 z%pH9hR%*8KUKm4i>;^jQgYXi%JxqBMR0H5lKq?(*Vu2uu*`ko9#3f7>Gxdi<*QYNkpg@#e2M1S$)XmE0vB7R8_IJX)y3fCg#_Xf)v#9Ee)N zKF{_osvoi5T}k1Y87zp&OmpQ=$ORT2Vtq%na3EFSp4$}Pp)C<{6b8ya#-cF`c7T#= za}T=m`RmUG6wv53lY_Nk)1`M&Cm7QH8`M$J>;y86D(`L!d~I>RM@T{?+6y>%aoxTF zwrjJ8^0xU%5DiusA5^}5+{kOpNXlXyE zN9q=cSt=3%OL}HIx-A*c(~J}Fev4^PIQojet(-?{Qs4%}A(BW|(P6QPvSNbz5_bed z#pq7fPgc`0zm#v{DAOCq-Z}Rtjh(q~KZ2{FV>s`5wrv_HfxEUQ(YX!?vrY1^TB|GD z`j*?#7Xx~3O(Nf3ho!t52NCff<#sdo++#`=wW3l^F0vw(WiE#fQ(g_F61k6^MHz__ z8*M{Ckf%zjbPdyYNsF2ucPG|G;4jJ~H@EQA6h25H?-43;@6 zVwbt)Hih0Xpese`8yUqxhMvtn%9cz7+G73p3R&_80d=YLHv0JI1mkcvkoeZjZK1OO zqmoMio2`nCS_Sm&HB(P!xsK~Wl;{YwfQW*;WE0sB0h?#@JF+|smChB$MsO*=H}xVG zcNJKQcj=GKMG2B)O=J`8e5%cdDfht@5~0aE`g?LXQ8Mr>i|v$1d6V_N$0iV!7l<-{ z^0w5Bhj+p_VC7~qfsBYp+Tk=KQu1?PnctiB?j2iA;Xy12tAW62L9@Q5x z?9DDBJL@=^9+J;`hyGQhI)~(+YxK`_t7%QLM_$S%Jj7kAb)mkBNouzM-XT9Vek7!#19+a^)EI)~5S&u1U=44o&`oQHs3Y44g4H_yXr_U8Ik z^5^c8n}sD!mJc%OJ-!Ic5$S^xkgeme#&gACUk85QiM@!42V)?Fw0jV13zCgXW(LiX z{qVHc?uO$Lo(EK;AR?mej?>1j05TTQf;?Mz5AXsEPe-c} zDc3BBe=fh!_MPqql{57rKnD!p_A!S()}&D#rurot&1_FpF1g)AH(eNuus+AA{_?GK z0wImlTsP@@$}Fno1Vh!jm=(+>b9hH_)U9$NM#;R^t#2s&CCJ5%F%bJ~fNhh&bF$R% zXsTW_;LDE3&I?l@DpkFJx%T3gS*MYFTLTaPn%){S6dvC@gE1(TxRH%Vl*eYC_~YrB zb3J_PW&Ko(APE+x?F=59wmR!xdy#ImeGqXNfB3mY_+nkjSvAw`tlR1YBtYd0-ZyIK z06i`Cmnbn$W;&s{RoQR2LJNeAUiPbFdwQ>PcMdyGFISn)cA~%6-JOk(J*+(yz2_&p za5`SIby4Y_PZqJ!uy5pyNHY^}9teH~WK+6ZL+4Gh?|afyN^khdqB^3C{lx6##3F*@ z&$D~*69av`;f3PC~42AzF4zI3UY&1e;eOZMjLG{o&|Sea~bcJ(ISM(-)qHo3i+ z&N~$!5ul$+=&Rp5&9$FAvHoX6mOZv~wz7|G9p9h*g>M6LX1JD!-Y26SKtZ=uq zo0u>gEwP5U+j@a)GQHKcH?v0nKla``p6dSpA1^7SvLz#wd93UrGxOLSL`KoEB_Y|n zjErz>j_n|1uaGiAMn?8X*{ia$f6te4y|3%@>D{M4f4AHB`s00jce~W_JkRl%_xt_9 z(47nN`ps&0`;AbK-8bWRPvc3%QAgf-c2!l3j%{5eZTr3SdHqO_g8rF75NWkBHD-r` zpxL{@eLS6Gd(jd7L@Cs4OP5lNB!>vSY?nb=?>xd*x>h4PKNB<*qB>Vcl{`}Mn)ynQ|BKAoS^tcvA42GWEp@@(j58_ftdfhJ#9opB zzg7CI>~F+2smozaUKLPwX10w)F7!s$5Szc{yP2IG#s8M68sskTpl(IP? zMQw5w%cfWkGn(Oy$s?B8NyIGBq*z_P)-T&oh4JOakfoDEjW7PrVsYquzQI=i9M%H< z#v*r$ODQi&1O~7k9Dp``d}quWR6Hfi9vGp(RZ}8= zic?#cJ0*Nlv8Q?ghkIUdpLDu)EaN$U;0-aCpw@L9U&fa#0)2tB9{Wz`_3lfE^5&nS zSpP)4ZW}GHq|>z91()Gh5@s2pFI89i%Ts;_|bRcQ0?myJW>lG9qD) zh1s+>902;!gg~RrY7h*CF=A3lN+|Fp@iv2R%F?>=)#+pD?u9AFJ_At)sJvl`B8AvC z(ik`03p%N5JlbCKxK*xjEFDMh^~@xnYC={iUkNHHI-N7#rdNZKPQUrkuBLgOYfh#P zcQb6&PGPdgEkDxbV6r23szzO5d||IM`hjTlYx8~&OT9h1B}vB7=2@I$&SJf8zKWBb zPOH;o_C}1UY48r#n_faIptN9$bKmLb3CkSfKZsM*Wm02J5K!8ilafyNTp` zotUNuhLk*hp3T{2sV_IWJ&fH8&C87aek~PhObm~F)-=la6e8RaC}sLC<_@{jE8ztf+Vo5W|{1A57+MKIS{M_ zPR^)*ofFk=C8Ew2KqY9mT)V>&x^1xHQR}0^-x1Bt=7)M5 zV93uf#i;R*x|8u+#2iRo29Mg*;1H5N0n8 zsQ=}A3FWA~O7Kt*$DB;#8Ko0Cg%+N7nL9)h8CNfr@d5y`O}I#A_wmBR6D*bYY0s(V zsWH3%GV->}<_1(^BeRoZAQosRlw^FyVQs#EZ}IH#obX_gnwF4n+aW>{g*|F12RVP@ zX8ibW(?w@6Cv-q`3Y~>i^2k49IB&!05>%!wM7N0621)MmfK#!^)<8A0)^&_ee_68c zevl=dkkX|ZU3?VjX^=l;T?2LPyjRQ2Vq5YC*rd|9ljs5@9*W`SX!AtE$zgLi$Hw=T9hY`;d{a)G zI&)?F%=?|^AMk5BwV>Th_$=M$Vd<;Nnw^wl@FP?4vOmPAo|nw9Kgm&=CjuhEQqy;2 zM^z^C7x`g1bPZA<+rIgcQn@E-{>aY9_>q zgg?-r*kT3^FLP1@i~=VL>R0#oc81?w1QUzLtsh>;LokYh;Yq^pzJL7` zpZLi}9OJ9n5{kp2eHp|IrzJD!MnC6WM!=RLpelrN%Qb*7wgZyyLz{zOPEA*B=NM?} z30yY6$$IE9m=}lS2f*FKGe|!7a|7270k-s#8EZH^92icpfqhf*=0AQ2-Pd;PZUON; z^9~4LN)=$k*BF^O7JJ?40Y;p8HX3Z?Sz6H%P?0q(?0i8*FR2gRjU(}?R(4dGt(k_kjQ$gh|T?2?2L z(P%zUo^2#~L6oA7l^}j}f-qe)6Q#mf2O|^l*veclzewI*naPDl z@kPwYIT~E^dAOYLAb)*|%VW^&ws?;z1av}cWBe3wQK`ojjScVHk~3N0QoVTCtT2&Q ze{G!#bUnHuNO^G#Ysg(<_BrQy8-P~g0pS=NquO=ehlNTbWyOTS-5H#X_2BjlI!mBJ zQJ{6c7huGzJpjV4s5z8Muww)iI=Ae6@IlHd^}4@@e5a2T#ww%7R0ScdOvY5tY%C7; zyzZW<_r)XmHt~8})7|uTJrYSgp8S0++2*KN~ zq=)<9zVP|#{BfK%L>YeoMbB+pJicx|#?)P{;P3WmlBtop*`ei^y5nqfx)MQ$_Be92 zlJup4`iD>RIOd7l)=;@KO(vKJkXZ_QSgSV&fim!i)8$jmUKgLr@t(N<7pdSvIZ%G(0InHSE zd?(kct!uCQ0O8CY0gZqh;ckR}R*ZUh2-$1zp*{FQarFYf9eG6#^?EB4> zRAIsIln!5n9vOsxpjm;Ca)U1VrSq|60|l9?*%WVXGcnQJ3IPV`owCR}!X-d~v$BC* zx8yD7LXZmbrn(r2_i);85Qy9@ul8s?26~;*;XNE$mk{(dToAa zmJU-HP+m046)s4)`e4S@z~a057v1`_)Y^X8Jy$$;&XWZ{G8#%hxHH;eQ#kbcH~;sf z6}5>@)3Fr|aMLQbCyZ#_zu$TP6b`T~V)55yt5#tb zT-j!HxBE5$0m~|i!2EMHhLIEX5F!0*!TR>5I_>Y#_IUg0HxM~ceP|0owc4U|2E635n$}5ct2u? z+AgT!6pVhAcMXQTsdpdfO#!5-xtL&6D6LJVa^es>Lo1OtX)C4#^l^t-$<~uD*M}Fm zea~d4112s83?mB$b1du@bL+-Av@apLT^a#^b}rEDTaID8C?Lcrl`%T_f#fpQq9JQX zk9B5Wx)kJ<+Xk%9r_}xmKl5XKt!>wR_)eqj3)1Gq)LHJz~B zL<6^6DSJfAwSE2wfRbmGA4}#u@*KpNa?m&$)Au)uJOi({Yr&8*ycRmD6#x87r*YHO z64WrUOGBl+0Q8G~KjD)Z&>e}`)_hqEKlR@J9^;JWgAUK*C*A>YhxILeB@$9S|~5iGk7Y8;m)LkhM`8ii!3{eUwFkx1+yv`Dbv z*nr#w{d>Pmqe$>1#CAUtChW1pXJh%B0S zP}Do|J{Sh}GH<(9vEW`#z2rWpEG`d##@kJJ;pozLpFFP@#-+Zp>Ri{qu2o==IKE6y zI-_jQ_VM}7gZ?GQ0u(MPQs*Z=k^LSN+(1+5723hzACYGrpzQ=Ur+Jw$wXj z)Cc$@UO+*lOiDM@INjb{p`CNvFg)0fes;gT94;k`O88{RE8m8T3jcg|9_t6pOOEUK zCVQ^c>pSExaqxvR2g(j{K6$ja-mcZWIFl0I_)6@^p#6-1S{T9vY#+PNbpuei@Rx;) z;y!l|8&rUSsB@$EEI4A~+N84DWUY#;Y}%L-Ft2imRSn`0tb&3S#o2E87xeh2Q9=(F&9Yopiz5b4 zi0v@fNBFAncvL08aeVhydp#2GHw5IC7J<_l6-ChZR-hw0}^RYNF zkJ`lA7h%zS`iPaWns}v@>E@f2Mt&GcLN~2M+olT-bsHgc8~~eq(9%d1Z7lG0S9^Yw ziU@Y$O{Bk48YbgwcJ~Mr9c5ZYRFL=2+!*o&cBYRsPHo)Ofq*RGK_&5fHO3hR?tBC@ z!0W7^S@-@?dQA_4DkXJmNaNqqKJPvjk88Nl%9G;tL^)9?7Sx9_ zPDo~*^Rb~Eh`K2y$sTZp6YzReKRz2b+k?+S$&k)92=(MDKy^Uj3l|N3-DW-*MC- z`T`(l)GoO{?So@VKxZ>HEkvl*VD&N8y(=KiC~w1|zVG=yxsE4HK1>(092cUtvc!WF ziMY*bwr@HL3LVDr^c;_#-U@}?wrytK*-F1SES zxRgNa2Ifqt-?IMaL8y*oE>Oyz626>~p!wSzNozJ`+>uq15q+xduW%H?qKKyv$_*b| zhcME`ATo{vqu1jhG)#(Q5&&BaJf-Ash1}IN7!%l1&2!er228lgpn24f(1Vcp0J&&s zM%9M_fNq@>dEimoK>%tFg4=`7!}DC=;Eg**Lni8I=ejSVv&O0^<@T-{rp!wxAnehP|EF~{nUJu z!xvsvwyiZ>W}PQ4FUc6&fFT~1w-R>WePjoe#y>BR>V;j=-jl}?ajVQ_o$#J62f=8V za$A4T2d>^pz^9S?I_F;r1-2n_4-7w53Bn^(Gh-M1qIbZery=CYCc z-8zS{k!`=i5SwI1x|8qr&x%nu#GC4{0rZ~>FME&p(Ld}FM#QV+Yy;GWO8|qxAHLcI zRY-nl^0Ir!*N#Ntc#z55qWAF?1wE0NN-&>rm2h+-UW%rCcKg+_c+EMmgmMtBm@e9*DIY}<-f&CPuYPFKk#OxHTvAMV zmm(K|Nk5~s{nR#7^wM#Zs1JfGwxNi)x9Yk3_O8%Wq{gBs-ocpbs#3MyEV|)%>#Ov4 zYQ&@NfV8c2E>8-x2B?4W071ad+H9znsPDG7B!4SJA^DlW*BqDe0tV5<(7jI7gJr|r z)yWF&2kU*7y_?Q;E77Z!pAFgM+aR|NlJKMtp_F&E4V;i>0z%_YT3@E`n2#Dm!!Wis zb(n>^_gVl3Y!2OhS7)USpl6DPK}k{m4xX+ACX&unmF#D@6$ph}*E$b)Qp30auiO93 z@KFQiholudiQK1S>tLk3nM~-#M8~#oQ*G^_`Dj#(s0b$JmU~%zZ&aw9m23X34a*C< z)2GHqoKv)w+S6E_@2Yj;87R!m_fNz{O#x+kUaET)DFTBtL!hQJema8TqU{FI zu^+0kxL?~Ku1L)R=iw7X=Xg9gohNiyhFZ77!Du-IG z?OCZTr7-$CVVQ1rmxOEj+4f78jWlhYz*tzS8pmzmi!vk`>t4Ptk0tP@2Uo7ymFhb`Zi%=l7+ zwmBQ5Qr_>DU$HJ(P`?w6nbBM@XerP>Jj@5`)m*)uaB2>A!Hu83fpi*hiW4 z|FoqjJP@DJV?%9I8p8WxLbf;8+NNbMIyET!m4TGJe6UuA2GHv#;){BzZ5xOHM@#hK zY5F>DVkQw#_<5)sbX$1u6BHQAF}R8ZyVW<^1H5FaE$~+{A{zs5yzx$>N(uqTOMslw z;+xXD$d+jc>>uTq(S7{R!OJTt;l8e>3AT@c8bUl-CZ?7c_E@L4e&K~(1aKZ+v!E3A znHKLFqwXkZ-UaipUbC}x0@>*;qQv24gFTAeC{_6jOMLvP`%t{Xd#!R|PScevmskxT z)8>Q#@GQ$*bf!JtR9bug8ZK&|Exgx7l7l@MjR#6M8IwITGosqN)_2?*Ah)GiLxr_^asRB7Au%dhU=SeDfSWv7m4d ztGH-JU1%cLVlQc2)V;wX-aKNWhM^?&o<2CdVfc1(H=NO8C8l@@x=Uw%ZVSv`_0Dc+8cFBc* zt`~ZTq;P5tn;$5aobs$n_poDyv{0Tp*~ak36zhG|T`XHSQ91FsPI3tTg*!7K>fCWrIh~QjN9&b?*1G_H8TXnw??2b;2iD6Hc{OtkS}$Nx+o;&> z(E&UUR0C^>mVexdoyyUIJ-O`)jKOCXjM69}tnV>f#?jk2gjY6$x1l@GWAM+n0fXL# zyse%H^fsE4?L}(dmA(PU%{z#J53}Ia1z$W~Vt7Pc8T+5amH&UeWq+=SGiW@iTj6*O z>s#PjwWz7aSJ5MK&T7Md0!{fS!PmVOdKqC+@*=C|pXL$)&NVfBvcj1d+~W|5IcMis z%O`+}@CNfD?>&T%7r`>C!#%vm{01*U6Zks1$LQyK=78FIYSI`)P*h0u!FlZjPgfC8%vo3f0Z-?4?e`0R zvF?vyeS|tu6`=n@aIWk~Uf`#h{!7pRh-h$&(}l@lQ9jjpo`172)#L;d5EQDa{m3T0 zDCmlNj1HhYFJYgKrwsILU;xGLkf|{ZK3C=TpaO`s|)49s=g7;K)c`~v7e z`Ganbmy0rv{LgRgjd-U5q&##;2A{YQIg^D!+EHTzk%+TRZh+BhGS!OWr@E5Dg?Mu- zQcVe1B1oh|3wXVvN%^7o#8|c)J`f9iV`(@(TO%uOsx7)aeJCLw>woG*B!eNNKdn(o z7dwC{BM@||VF(RMqR6n%# zExwA4^_6Jgw$E9sCa!=;1}$}RFI@_^6mkS>F(a^0QC*)#o&ym3-M-?ITxw{CplazE z>Z@H)=%9!etx2$WV09V~;+8{@48T2Ye+fY4{M9SU^prVAzD7J2x;~!#fvWN+@S*A+ zXzvMtJqYYw=K0ieG2dwdg@xFFC}<0VWcw0yAF!O=;lDc zOt5S>Pq^V+v*=}EyBW)89-jDEaGJ@kG6vU7=nMUg#{;JIpg-|;-!nsNbCjDupzR1Y zp(+a*?JsGrElD4;#~G?-hsz7p;L2xpg*D&(p`_QCV=L{jv~n$2C!2X`MSVI7a= zexMey?VL6-F1|&bGztO{1-t8;81BpfxbnWaS0})2oP6mTR8R^y0Joln8>(JDjp|;O9rwtH3c^E?wi$i2 zYK>$y0n>r+p|pRRzd`J^krzPpZ3fNpHU}Xfsf;;(e3ZakS8@;_XqS3@OE0pgaP_`= zMyewK2+dY^6S|IpFLid}ZrsgqNMNaneq+?p@K)W=M;`s04JSRw)1-@n&nzsjq*m|% z!1M@NGur%mk9f{kq4VTyNmZ3M{BVv+fL$!?3z&s=i#xpbB_M9)4T6cFNI)=?&?v;BB$}sNf-Z1{akA%xR(FF)2JVjA7O22qff|1_tDJ6@@&<_8n5^b&M;&*-qR&9OeokvUwv9j zh=a^m^9N5E)E=l}0juCyjmj{M7sDE4+o_OaP)gVis1LI_O_r^Ai=bU@0{C*}u|-WG zG?uqW`rRB`->bPDIn_Wy5aRfJs=dqpx+Pr+ldeb!8I!yTz-~`s87T2OfivXf$M{aQ zwZr1>h+K}UykIAoX&shG30^~e*xSz`&v)D*G=}r-ND%<(H+i2b9k6ChDmEJfXqv=> zVCvUtEq+hk+dz3_D1y4x-h&kAra_W9um4xL z6y8n1cX9+um3d#lpF^7swA&tW$70*t`20 z(@fnR-2^fPvF{`4IReNV3H)tRUCwE}*Rf?d^f`!7PnUA=|-6e2T6s0UX&ik}|%FUJM&PkVqF0#TX4l z@tqw3U0EaEuY5_4-J?dxrum+%(8Oh>9`=RiLa2co9Jo^}Jj#$Qa^&#*pdjg)t>G1N z@AM_`)v{|rueZo>BF7qPAOa~Lm6FO!!_EtN!Puv&u4y(girk*fTm$ayGzS+r$Yxd~ zCX=aKycr<8?q;z#gG;g`E^GD?ZQaXNp~=-JZ+CgY#Hlfm%w&Iet6fSvj$FaxTT1?A zPFuHz zFd9`WDtG7`=qbj4#$y=^Nr?O47|+MCvp~0i_J<1 z#(+RSPhdXoTj9KpKgzIQ(tUBLG#8n?c@C9DalTw~sr<@~{jELSb+yq_B@bsq66Qip z5%0na?D^ppr;Vqg7q-hL6_)UM*XcKF>1(&&-Cr>U>}#`cTNMB~HL!_;0y=arQwwuM zxBa+W>yrvLU$UT!@2neB9o_(jP|t&;{2fBK$8(yQF47`g-PJZoC!$LFTe}oqtn6T9Fdn+@AROdB7yh->AOsBstDK z=i=f<5CAkJYj5>A`fcwcGFKGPF3Z<;XtHvhMm9&6tNv2@3gdtb737h@pnfZY(>lZY6&1E#{)w=?#SzCjzjQItHx zjWWAr#;L_%0rG*z7XZSJ=Kkr6S$nX{i(W2}S7FVAAUnwG zdY6Y|*!I<@6E50SMH03(MQ$|J&p#`R%BZ@k7Hya`R8SVAgIL{J2VtGXsk4-k9^>n6 zVRG^g?_Eq{G%x3`Aw$P(-0a+LN!I=ZdNxEjhxYTO+{xU;-_wOZM+VZKFE`3CZ19W4 zPB7f=j$Y)%8_raWC4NZpgLp{Si0$2}QYE;t66!#kZ#-fd7!U7TkQ3j$=iG6>ARkuM zf3AA`;m#-546X+GYTNuNqp_N*D3YBJ?1EsqSL-;N^AufNfRa$GEMCZ^FkGVsFmF$H zzGluB(26bW*tyN5uf(*p!eHyXji@4&MS|p~)08UR-=FZhX;V|@-Y=XD`S>3NmqX4? zh~AgB#w#%phBLkypdS;@Gsrd29}jI{+KwPhy;;3(*$32r1i3Pwc}mU9-H{V~&M6#r z>J{2~KAQ=-CFuoZC?@KCtOZDHKimjt)!K_3l}d0Z&XqWeTHtwe75!a9&piI(yQ#^K{z7u!$HbQ7|u$im|}H#!xNyN9=oC4Hd+W?`#(ALu~dIO z>V?7vX!FLL2Le3B#rr#x_>>Hb>LUCq<=AH|%44oU>Q539KEh2Nn&hNgx=RtPyw4Qg zz{IW@2Fw98P#iMY*6389!s2j=xp8cc+hooY62UL&T%JHQu*D=60b9?`p8;6l6McPK zs@7jYs6j9sFwC$<`2^$^h)MVw|UAn=;`a$0?V#Y zV!0|VS-n&2rMK#c)lGPHu4&8wtGB1TQvI!99(KT%)To`gd28KTzrWm~QL|DqW5U#T zJA5d4lc;aFv3Ts$dTmM!QSRR6`1rQOioVMAuTl|L9hbtx5IQq=GmPFOzF|8wctLvfuV-j!RVHz5AV;u1C~DM=WR;YuG?WR)Glv)6qCi+Mct`&j7k?RRWtP)Kg9 z(%c&76>?_Bq5R#v@ zA^-NXJ9nCU*8a>p(=_XE0X*{M%);PA3Ra^5GzZzz>rYCA$6mtkBe*F+C> z8KGYD_$-x)2P@f!nZC|Q^A;pmL`)Cfm}_D5)sxam#1S+gUo0z#yj*3c_~Be zE3A8Q3#+_4(s4xrZuS2B>z8lJ;2;u3seVd$4zz^t zj=m}3It{65yP2kQlkZI+#*qsyk|Kf(Q|_FBv_%h}PQo__x07y;->Ra0SVjA2XQ@#| z^la2odk}N#xS-ZTQL;uBs_5B} z=A^J}rR_#w)@v_o_-m0-U7^d-Zt2~)fx9FGkZNj#)>w@*D_J}j@mD%k1kUwNHaat{dVoxZYK zOmxz15&)iY>aA2^Dn5$e5`D=6FKi8;B`;~nnjZlXv&II*yKj%9n<=QTT7(nU@#av zmx=8ZCKSetVplvi8G`S^!H7`zi0V=yh>gQiG|EkuPrqz9?V zN9||uGU3Knbd6SbDg#lMh%s?+ZJ1QS-CX4c_p)7i%N(dFL=zGjeh+KS$9{*arBubj ziZS+r!(U~E!wRahTCJjDu4;>)moN2phW9>S*f=NzG1X~(X*_SS0AX!aP?*L}-OsH( zxxUv#MBC_AffDPCA6u>JtMiR=QmN0c^57*KI8BjNQ}1ROYE~>>t)-Kn7eFe6n@LRi zNiuN;4Z&znks(^JFsi!`QByRnFiPf+x**x-f1L1zJ z9_TxJL|A_B-;73aw{3|}(g!rXR!sHrIVbdX`E($kYl?ay4^*cc#z^W>>CS5u+Dm36 zUuAkuGc>*0U$mPOV|O9jTgTE~nRI-|b^%|{zLw+}Dp15wJngx3t1i>(a5igyMj#mHR+h{NSowF0D}Go3^i8aE46Be)MO1|pL- zV2NQM{ELi+)OKt}oIa-ERGr~@;=yd(8fH*>Fen3(4L92>V6vFcbvBTegH|%x2L$rF z`n&2gYReP=mar+br98AyhPU;?GH$+Cr{{m(;^RS zm((AVA-@vg8-@{IFX*Zg(?oHRegSG-wdqfJrv?CD+e(07lmepSX?>yp`b3IuN|*GR zR3s1M?f_67vwBRbw4S-1yydewG=onWna#vb6^z!O0w9AIu|eKbr}`7$%IP>Wkh7Wi zW!5}Evcx}?!uMlmxgBvOl~J_M;j=a~B2Z{5vB)H#t^qbl>uQ!$22k@NNcC_`0nl%v z^l+A_OT6PvjAA|>?8{g5Vs2qE1nVFWf=on&B3q*vQ*`MUo{?OHH(Xjhsp5{_@Dl*M z))EmotraVHUcm8*Nhjx~jqOB!xat1P|2g&QPARr#z0rUDS6S+p3Iw%Iu^(@ELEQ+=99iN%vbBAS~L1x0KE!YmJ*&Tko*)i5&8AG|W{%}oG zBQc%*WPuhspxO7B79;Hjwtl`%tW8_R(h51qT=G*LJ4_QwNRooTO{I{mRhYjGzere> z66t^AM6aKs&pTq7t0}?pM)Dd~>j3xCWu7vOA3(WVZ{a~GToM)*ti1SGDxV_i6`7SwRAFh) zxE{T?_lo1mVHDNWC(BaCe8#5s8%nm6*JI`mC`kU{lTkC0FJRK8`5tJ3M&a zBYe(kLpp3J;pnOCn;&TVbTp`7#nJCNai@Yjc15iT*gqLYiVmnlS6z}(Q&Y#ARF?SV zNu|Nm-dYwko=`s^$_mxJU|qLQ82aoR1<~OXt9X8FH3Bx{c4M8O7(yJ?CvQ|{bMp7+ ze&2cB|HAHXN?m`^LVgmhAvD>KKk`Auhil`q7b2A-RLudlim#PA^`ZH8rqQ&@@y`wX zfaT8%2q`bJST(u5Ko;rsUWdm7wD+J%8Nx~^DfQNS47PpH zXpHzGNNSLE4D7l3M>XTl&MQ+5dO~7wVN2jcHuwU1@5U+TcSQybt(a=qO_Er1^=6e8 zPzQD6+-e0eZH#J5pCi!NEYv8PdsI`mP*nsZ(cW)ZJL(l`*BOd|QjcCg`>h;)$8^2=_5Vbo9_{o|LH$Rk=_0i4 z6n+gf7qfOr&CTCp7@j?Akl_*Qc{YBrd{ISk8k?_nAax+QhG*C;%+Q-iEW-cLkWhAA z1S&!8G6<{F97wiqgcflx%T6e7be=J2MaVexl}O*od@dUoA~&;ByWWV!si85jP@Bi zejq77EXWsZHt@B6Rp&@V;6Hc!pF0kn17)ZuRp?Sz$_=wmZ1Q@a&NEmC*eE+r61$Ri zOMRa)ODNI1#U-fJdmt^+a=w^Uh*{|ZYIm-JflghE!BFn=5Jr&=qI$Ngr#%x@R3(#tzZ49^Yv{_!e$xM^R zlTg}_r6$E%6(UBHGGA^#r|#&q1C#LMF=zqG7;3I7&DN?Dlg)s2v-)neQ_QAd>OjLo zt&YehV6fMwSMcr+gOx9Ke?nXsnG)q=-6Ig2$=7RJbo=1jAofm)2>oOoi@O=*72Izf zh`BgoS!-*K6Sy+_V#`qwdk3(lkusdd^~I9ZhWVh1NLi8<)w4?jF{(gz(;x9nLV_9| zbXAo+8SAvYIT?#T+)GlNHG=NW#fW2gc=UuM-^A)xuWovbwYR%~q<>_txF5b;Gm~@& z-8r@?F}71X9zUw&ZzK>Hl~?iDQ#N?8z*%X(1e_j>ATV! z+FMWdh^qWs;nJl^a;1$tw*kSl%`p^NVHBI2iVDp;$KOD(WL%kCac^w_6ieUTAR>C8 z3n0p?t(t|qh?1KRIHS<8@=2VPLJq7OYBVg~ytcKtW>9(6=?e_&xF8VCcCVZI6qFHl z=^crfDnSG;IpPU^Ycpx5@n98hniNoCPhT`zZYaYQw*n#rjrnXR>07-Xr#{d`&IqC- zb8j{B-0Sm7o8JrSpR$vkrEAK;{U+t`9CL-t%iFB)W8Q$4Kyd%Z3krhL6U=&Pa5%Q# zB~Ow(>We}BJ{NkNC0T8Q9~|S5G$A4ld?8CsdndG_In|?dS}7r|u8^y9_`xg2kYKHc zfq}Qb#-3hz&4Tst4pCkeTuEf}T7pEztakd1Pu$a1uJ=;m%C2R``%N>~YA;HOeJZ9v zCqB4ZXr-|i+hOzQn8&){IiFJ4X6f~iDaJ3CDoEN?n)<`O_=jl~jvx`jfjP44CErZB zHVCS}?>0JpTBSN(7Za~057TwvFCGv`Sk1ZW=%C7)e{0$0ozM4o(RKHv{3>wSq;vOI zZq$BluWLnpm`qBGQ+Ha9++0ui-Qgd{@`evm&o(5h`wFBcXku$_Tb90NvsGj#AoaL( zm5?K0QU$TXs=F)h4$6_JR_?+YYElfDg}=BOb~Z3*8VO8dwYYH&O}L0rP^WhaODzII ze(n=>pede?OY=NOnl^||ZC!MVF*I;Goatjz-f(c=@na1 z7hHZt>d~5)v_svItiHyGW%{);=(gtjOE=Z`ugi8#JJ#*!i)shDO@gCZ;ME^1ubbHm zesepo)h+L0^S7BR+ZVi=D2gX7)kZuJ(t(|lB6+U0-(~>$i)ig>fr4%O1F8-uP1iC@ zHzuPIz*|<+`A{;F^=(!6W6rmouY==2EA^Yw9m3Tcmw)*bk6!7k9Bgb9PwaOI2amkO zD0jAHM)wKY`dADP-@TCvBfBZ?*E9frZDXK`DJqjYzM z5?-2ql$UN3Yx-Zhu6B=`Tt#fp-Wh;awJwnR--aW02Ka6*=TZ{~tV;Q%KR||ktNi4& zNc++IrY>g(Nq^A%bv5aXq%xqpHPs(t97OJwf$1RblMCcOoBKv(O8gBts6h9Io3fhd z2ZW4cL4|?)jp4{r-D~d%>4R@da=_k2u5jm^ZxoScOwlZrX(~xlh1=HP+DrAtW7IWD zDC%%MrRW%8{Ze(tm9K%qd;UPiw}J72=oxE=R~c93V;W{yrzO@$f+i4%Nr=uHG|Cpb zJ~DG32bIce8+?Ub`v4|%A?3}iM_!onpou1WZu0t`$i~kX_2Ft$fAII~JL+pZmiaACL3<;+i^#6I8taf@%?uT3LV>XIAle2`UpbX%$6t+ux(ng@1cb9?4L+N zzn+-=e&?Hb)J%Zq4Mc7Ltx5A&q6dMruL#N-w}5JK;!7K%Fn@Pxmdqq_G6^I3;_oDP z5^w{hrox}Zlz;PlvN|`;CB*re(ACE_H8a-J zF9Wxz-9pIS&V}yR3N*PjsV9A1zXU6jZe$7my`6Ex!-XM*)^`aj6Mf)rO2<}+Fl2~S zNl)0_`w_bkISp|3tFPubkD<3pwUh3q27UiHzDz|4ku%anwrHVTgXP2=Lr|LXprPqYv7OjZ|&@rKjzrH!_Fp2S9- zQk*`9RSA7q836B=G?L%?d=9V~Or0TN<dHLf-mqgLD-p5`yM5SJxBYSIB#0;{)>Y?{LW_h$0ahXVz5y|M)~uf zuiz=h@v%1YD1&CA!s>K8Rc7v04zCW9m@9WAbpdK&l`5XsR2kC25?W!h9C;7&6f{r^ zP1{YJL3@Zc(*7T3wT=tU3hoVGS0vl{-J<>qD9rT0?Jp)lSh!+c3;+E+_;C>8B4A%) z!;{rTG#W*Jdp1YEpYl8*qID4)MTr&{M*Ag`rf^l!AY~?!TNYL7jOLby8isN$+qAW-zftrUA)h7zrRI4zxTgK z@$XUmx5yn_s()X_zXs~aLjK~K{A-~8^%Y0X>KE7KU$_0Q+x|@`^=}0AZ!r6tsP_Nq zV3sco)lo5Am=VGbJ%j*frwPuiiBtO=yvTO?`(zlc8mm&Xyh1=2(+Ly3%z zq|eKML;8PaK*?KBeUbtf#_w@y{`mj>_dUf;@j>ePi4D^`7%?(R^c&xI^dmk)XiX<1 zGNx6eM2`OB|62LqzTK=9l!?2ZL(RlZU6@7Pc}A@1LT## z1;L_){q05;gIu@hD;Z*bQGR*(Z{O~}?m!$D zv?i})^;PE7i@)2Sqff9egNiD(-ta_`mQk8NIlEP8P27YCi+!oy6MwR?9pumj)K<+d zX0ELMeM$AlWizXV)^y4n-j4Qn{?Bgw_Z{mRgf8H}kK+G2zJDLZpFRrlVjnnEvAgmG zqn5TUV$vJQs-d-3-5)QE3+rP;iv7X8KaLd)6;tnd!-JJB%KnLwBgAMY4@zVJOvA=- zpEHaF%)*q;uplbL!+K!#GkkYB~oDSzMMqG zT|J>6_b1+y4Fm#3cgPX*ftAZle{ynhEWpTr#E0?Qo~q*elWo<8D#dTuF}-AVqe{eo zaB@E`(|Lr&!@b4O;^SLN#WNl72J)-T$tX53$xvSvaR~`;7gw^ zPFB}`=O8HmCnqNb?#3BI)qfwv?=IoL590s%2Vo}c1@Nw!r5|+J06?1)G`%vHwhP|; z@==%9A@AeCO8XM}bpB>6;#gh)VT6pYpPB^=asHdJ z^?L=zc=dqk?}5=A2Q1))KTB3`>(rq6n+-`mi4763wABLh0a=~_H0CT>-R)$59Z7mU zBk_lCT0Sq7(Y0&mUk#FR$Nm2-fpB`SYv+}!$>!E-71Z_@B-82V)#jRYRKA!=Q*kvWbz+qnZhI5F>I{Yp3@?yd#?Ta+3 zEC;e;87(!oPJi3wzhwn1_)lrYMDxHwTB~Ww1LuAXfR5Jw2`#BP38+}%ljRQ(8uLq& zWWV$tx)RBloD!?SB0kfO1g+U_*bXqg?{Q&y58NO5{QaBEsqBANdEm!F_59c2jral{ z1paZ#N&=c~9~ShoWkCS(I9c6X<{vq-7YtZx7$Mg$eP5RmaKIubzAZb}RrkLI^0+J> zH9%KmCe&`GV`<$z?>u0m=9E@;TBj9d;AyQ@%FZcCWDq~j`up|85ECMDu)h8}$l+iD zIUg?_*mMDIhbMpkdMC&T5tNviym-~;T64LaW1a_66Q?)em&mt4KTK?;76@z;%zWGCpuHo%8n#~B9$)HBL!maKhh=K&ry<{m)wNuZnY z;@G}`G2A>g3;HXq!nXA%&!<q}sqaFP;@_G(YBU^wfhkDl2P<)Il2A4Go%sY}@oqq6v@~!4sKdG0w9tG= z!*C`;45&Jy`lpzItR57+v)RnI&d}}*Gmo^k=-#q@<@b`Q4Gje(?4|Wnq3w$r8o0qeINpR=^ z0;Kxa*1*6cdBE$|0I~gge_UDdn z!rzXo6ok~yde|t7&d^LNu=5l<00I`>aeeh2pG7ZbS6m{)Yilt6=-MaSVN;%kH6AF0 z0xw`kH`0=P5=b*gX+6KmJ-d4Km$jW5=oefE|LY9OthL}fl&8%E)8IIi5{3AsADIGL zw>dz1&H+^tWw2HKu)3D()MYO;kP8*tf8@L|Xxalbyb})x&p}-8Ou!g-%=i>^*0vJ} z>$wd9%!WpS9S{nbi#1JZ*&%i_taWuNw4Aa9h&XdF`BzbRxx$!I%-t2a1Ef_ymE3I! z--Sr8aX=~1CLd*&f4ByO%HgvxhOd~8%@PU*Zq6lvTnfj`3^GO_G z+XCqWW~I2uBp?P4Nl0b^_V$eNi*AXGv*_K=%stg(>-ny2kdpB-n2Fb2U4wqy`QesL zq9I$YXCuXvzRRK4!!JIX@EQ~De?(?n1F%+^6p*T?$cpLHt#-ljgmJ^*8&;Q&e3luB zmy8cQhqbijSm-_ES@^!V~HT zaydy?8+X85_8S*N0zakhfw3ZThF~mWV7ZIPJuru3?(OB!MKS@{3gO2rF!OWA90+qx zwF6SwwmMAoRm~Vn&39-LiTmDyVRYHrUI{e?Kz|*Z<3(>NPL;QTs%ktCLhm(T4p3EJ z6O+`)wSaVEtH7XDi^nySG2a}t$q<3HivZ?42L=Os1ky6}SvZc^%5HAnO^2q{O-bb`Z&|Bt=* z42mjS!$utk10teeM!+ynCVcO9jvhUF<~w!k-m3d!eoR%@NblZz?X}+cyw9V}>cdyiTPuwPl}QPjUfT$D zLAF9iW!4k{26#61+y1Z0^tw-{kk8+KVF?f{A`Ej|!FEj7V`F2vurVYyk(R4uMh0^D zR>1y-GXi3+w&2q)Hjr8|vjSrNX%`egkAZKK=>FdFfj|e2#9r~N(&*()u`%^^iSA!g`3X2I})N<#P;yP4$VDWf!sTWCn~?Zq9VYCHe^lP`$y7}T3#17+r?^{ z+`yrs=htk@lD>QWycnr?Y3$PQwg*!ARZJU8@5U7kepeyjk%djk2sTGrDIreG3)W}* zX>X8%Y2s%3BLVl;2_%QnC3MnQl=rwAW?VL(Z6~0r_iPWuHXi5MTbH;`{XQrbr;x@| zGe<@rOzeA!)4IYLb~^}LJGi#}V7034Hpc5lKG82uI9SGXuMBLa=p5+=S3iv6!^se?IZ$R#%lXl>lP7_*YK5!u>bTce9>lsJ2Vb|Gw)Jls4(RZJk56u z-h$C_cP9Oc7>m_M%=1M6Gu<}-B6U+9(SDd?9(X|p6$<$Qa{r=6NyzqH-jgOwb%mWh zNk`CuQHcE`MNNCLh{M1Edz1|*n<&Mslal6$DrZlpOp9%-&ao2FJBx+PZrL+r5`0>+nVY*Y7-wVBSIl!f-Rj#0) zS?3ogd~~zc9U8G#W}5%Y2cFfsxZ8-=#L8=R~)`p3Oq=yNaJR(W!VIc z78$zFH*2jS1T3{|@`)2{pJ&INJT>ZWPWF8 ztSXga7c^`Jx9!PZ?HY-6i1wKYGE9IuAP=nQy=G;OzWtmX!uOe5Ytuz=d+T0{gDAkT zK3h}#Y$NESKd;Ql=uzt?G_YJca_xK%!Z@J`N7FIpMbn<^I_m724^}{AJ(8>J%PWj4 z!^7AX;AwfHB(eON1h~LV=ko2!7t9jcHFPg;)Pt^}b;lPjSi5k7Qar`{$y)bc;PS&nu@)VZ5HNY0^cn>@IfU zF!l9xXI}d6sYJwai0t+*JS@k>s=nKmPXDWs{93-DL27|4#`D;1wCEIxg6l|THd=S1 zTGfcpqA?B46*ye;q6Ae8M>rd;gPzn@5BjLY(Y>GZl{DyM8MJ3C=UBuny1?`S_XJdR5@s;G5ct)ExrUmy`)WkS>b^cQ&NcSRk7kQGYntpp)3Xt-8eq zgwyOR&W44G!Xaa?E2w@8%P@Sk3&t{awR6%}4$p|Nu~hS3`%oK~$a9}ZYfoBWR$Hde zd@2cC)lN&Rveh^1-+ia0Hdv=HhKPd6r?INKyCRi-HDP&0P_}B?1j%mmdApN;#X3Oh zo&eD!TlsvtLpleahPQ71If3EW76=S6+++=Jy|RbHJr&Ch4vC0Q_Z3ayFJGOl%Xe)k ztfrB>!kS|VyMV^$%PrOn(Pjq1uY|CmAyc-(kLg61;MLGJfv!M9mI(E0js8?0+PV*GbCMfQ6~!VrbOtTjThBK$ z`0U8jy?$6n_JA7?CD)hkg!8a(yHl}7bVx#^ScdD+(Hqrabrf zn4PtU7hJiLS}6}k%&@}HKmN+096*h0y3oUmb}_4@``#nCi^oGse!4&U09v7=B`XH?0*Sc_C z5VF~2ku2zNe}G;B8vVL>TzgPv$0k4Cy6gvt;Jv1A7B^}ffW zg?^}0V5^;;F^o@Cj11F^4Lp#oXTTAuX%A0cJ0iLAA$Wz_rTRerY>wmbM4N{M2!!ud zn6U#jyk$HxLLmZ!lQu+a`fo2*DhOJ;`AeJfwHM(4*j71*e>)Q2L%vu}B)_~P2W~Ra zrd%3JNp~t?``CF;*zKxlf;(ij;3si5e;4XmFe_y03O#U>|89&8M(P4ZmNLcQ4UcFop?nn$#5@9uLB*Gh#lO%UHv5j&@ zhlVEvF?S%@!(jR!;tTr@rbwueBsZf!Tq({2xs3vk@Y;!4cayWlS{fO>wbPoKjy-1K z`Yn$yF+Q7K2P>Yy*C>2~)3Bn<>-z9AM8K`UcoYV6fypG$mN|Z5JBJR*2^^+8gg!DN z;Jr0d^7bm!RlA#r4F>FqS+2KW8zuRFTas9BScx8sw4S)6oAN{+`ITSi(wglND{>+!syeRR{N{V(LsOQS2i zvmo4*qjhf@(4+`f z(79q6@)^{?a--WUcCnUx;mc_Gw6_CeZy?c_HZBbeR+yWDx4zI#LnMwFUI)pE0Yo3m z3!A0tbw(6)1621M55kU2Rc@@WihO7qbI9B7sSknT^4wsiRwH-Ve9(SxQJ}gHDir&E zjPf4C>7l3AVA5xh#kBcN;@>gbR50VvA=MYZ*`jY76xRM0Sf%k#bm+rv{D*sPO+XH= zZbF&8eanR)wsRY60~=8RYLGIPlODR2oq&6vPNmSi5(D+c(U&pT4f4JYQmn8WEEbY< zC+T1Ysf85oyBzMmCAv$a@Az(T67zl*2?subxJUv6_J;4=0SF`5Q)NIvH= zTf;JUqXo%I`(c$dQucG|74djOcvHVvM{|13<;|W;2}n{uK>Jr*!y3jDG=3rbyncCl zW|eZflh+_!436X3{^@~h?-*Eb>SkZ=(*@mJejr&y<}%Q`)|xg}o61^L%w9*LR!Z$v z)Kj)&tILtW4+1!@2Jcs2Gym14ndL)FFass_Mnf;@NJ`+i?jF|?;39FVd&&a!F3&(^ z-8_#GscQzo-wPq>%n+^U41JJw7>wMT&Ed4Fn^?&l733ZN#Cnz978e=Yq8uc`^ut>J z_06iQRLFQnIjD|M8=7am>vS@P+=N*g>tSBEoyZ5sAquS*J&jM#m{>1xonuuIXSpf1 zhbORB5^S_>ruVkPXtrJJt&(f4Wva@gW9Ke?IDVNQ>RzOfnAMXsN2?v3KUjmICSRnt z3tgX@UeBO?a?dVb$Ny=?LVo7(%jY`Nm%3Qbp)N=UdiyNBW=aGVqR#3%A0{#tY}}(a zrHxBrxz#J%CtUoKuG}lbZB@7FF7U`8Tlg+mEa%vRS2NFa(yY8Yj#kl6^*B@oyhf5l zNR8V|7d;rDSS(kn^$_(vaI=&IYrjCBt0T^}S=ReDCeZs1d&1r|h}#523cjat->a2S z?B45iZvkSY&)v8ENCLdOLF&rg=RI&pY~6Q#e4+%-zsOB_?}jIPd>kN77=!TcETl7< zJILq9K7&56+{}Xsr^d4^ilER_8G`a%X|)1UeM~9ThtSWDZdP`1uhX3kS7}eSM2ynP z(mToM%KH*}ppsFoTMiRcMF`&(;!!YWlYtD!+vbpv#@!`xT{U>m)34#d4z&+S!bquA z5z#)mR^r1nLAkSCM9%BRm9u3pUZ}Xo91PeVBn~$<+)y6f>Dh-1-Dkqko_IyO*ipCa z`ZdNofhp+xn-{Y;AhZZQp2ZIV=WN{a+|oJEVT|U8aW1Am&+ofY zm^WATzMk1>oQ3$$>(4>Y(T6B37?%35HX&bUb>kZPOrR@dzzJKZ_J3|y8CWPN9LA`| zZ_GS+04HCdn)}xM^XxZe^IyqVd%ixT8tAzfefZvESL$D^iC-M;U29pDO$nBNQnF)Y zj- zHDq8zc5Qdu*m<;T;QG4*RS=$YZ5Yd^GrieM7FsEKd)OvnyLmN@;b6eF?33qLrIJbl zRnzA#@o+qR!0iLR&eg}3lwWDaY#mi6`0cs;I%q9jm05j^KR%M#RU;#jZ~EeujsMUI zFE#rahX+f;ftJ~Cu2FmvUZ@iJshWG7jUdMvOlMsdavgG=ZZ>tyaTpt5{A<=}<(b|l8D{Ia|9`EFw@ zlC-d%yL5ql8)oppz8AH&t1ag^Y>pgT!=>##Mz#cXLCbXoy6Ws|6L-0h?O!CJ9N~UY za{a@`LSd!&K84elsuO^%wMdx5mjmWPC*E=Up5KSVSsz~G4#Pi;Ra-s&RyP0mQ?!5S zi`iCL|Iop83d}|8Q2n18B3})s(djK)X~hn|uaIfK1O`)18XFg(!r&8Kxjs>;R2}hf z=FfoKMxf2w7XvjYW(N1qkBcv&_afpu)?Al5KIz#9e>+t-s_yRK=fff6vZQKmpEEQh zq`iY^jg_xc^ML1Y?lKM-W>o1O86*HMX0*p~ z=sfm}qT_3`;guW)9zS$Ejh<3O96|>U2TOkOqxozcJFq$;#J)y6;^qFcL(eitulehVE7UD zLq(q|vSM4VQi)3bdJL}aAniLpK2iQ@Qti1eoB}Ont0D`XZBf3!Y$BJPhKKNwT%Nl0 z$A#71#>=zAYg0Dcz8!72*jAS2dPsLi_lU8j97DPQ)!bsX(C;81HKCb)5P-o{fW(yM zF4k=rjeUDP>U8^`C<%Y^Uwt||YcupNxQYF2HNDC`0-}XHT-J_yac(kZV>xCt5(OFK zUQEmjC_ktWSlJ}h3n3vFK=Rq;5#NnPUlbG}GWyN53=SLvQHi}u*(AK|ZRqOWF_Vo7 z{k}!NeK4ZfV!h?b;4ICx4*l$AblZvDmFZ=`29pG5{mh2B z`}`S15iytm?RhA^73GIb$;_0JB}ad%t`S~Yq-w! znd4y&NI*G99L5d}((lOT(9453S_FxrQ0rwKhQnDOkfJUrKyvliKsuZZn@db7_+6rt zk9J9}e(`cb>jg@+UoCW$B|yUUo?FwF{$AD-c!R-NbH7$K?)yu*XeE0!JO*=@4?f}| zbfLuP#4~k|N=Sh=lySvp-6JF<(Xfc|7Br;ISfU;;L789r@hvhpPsX+Y>1rz(qJMsu z@wQrT=;qKbtJ**(P61S)ttv=(<*k@ng;z*vnw5|_Hg>bsKU3q)BDccfDfUetZiSXq2vLqnDm&~xeUo#gg=vFSPI$c}STHsvC zftH{%l+{MP*_E2DrLivz8+`VntrxZzN&Na4EC4K=zn>DT%F<}Rc>eotxFMxU2|n)Y zNO_abLar6C@E5ytWG=j-;!Zdnf26Jg0t6>3u!{)6dp-N6YTm0C=xw2Rz~{X}a$for zkOZKDTwyz(a;?J|me3K^LE2r9kW}=F+WKi+TTuKg#2)89QT}pIoBWQ^K~@iHs}?X|`i=~~&xk?7hTlLYbV-bnV~oAUbt4N$Pfu3eY@_w#=@pt4AXMt;T#s9bjS}Un2%F#c)5!+H# zHu)R$W-KFQIe(>aLEhi1+3=zH)#h}t5XQ&#>2JWdH)T!!W=11c3HkPEX{-p#{l1^R zodWfabP--+H#a0vM}*3Mg{E5C!FQu)_Moka?kPWwWsGTpF*Q6cx>HI@*=m!P>krVQ zZ;Pay1eF3BXfH(3y|w@8Evds*H5i^POoqp*dOnQ&O;0Tk!S6RML49jMto^4s2ZZ3D zjr%df)}u#p{F^vRzZWL{ZHjPeaBth>m6IDOO@w|pdE4_+;Hs$)FMBR1C?|`*Q~V7C zSqG*>k}bR_Fgl*m<39}!tn9Po$MJ)n3IZ_jX>tgd+M@+J-iXm!?9CGW%>wY8LkddG zfF$Anq<81rjzN~^HFLA2vK6onDa3GH%#V-!{dN?QH!KYh=~thf zenOt_#DaxUwiY??t38JQbH@OAwP1wQeGRb2;gwhVYL2PYs+Co6t=$- z!h`n7QHaJgoIK0vw_wIW?&`;z*FhTr(XIjn+bB?okVC@Spas>!-`;3*)MjY($|B_{ z9jLPCWEn{-oIud$xmT(KeYROaQFvM64DP36S0ZOL*_E9PFv1j7p$BE2zkR*!TLP`+ zKQw(qN;-#c!Q^}bdrLT*;`IHcP;Ae;A*G`J)t!RWP1p?^zcU}U{BAKybdR2sN3at* zz-iV4ppg3-Nn0`NOq(`s+So9W@;m;GxpuN|TbZf4vE-N1s?7@1v3GCmm6pohbR6f5 zZaz~!s~SQPiV-fDk#(X*+(v6oyr%7KTXsc-LnEuYn)WR^bQpX$N(`H+bxxY|vf zShJvQAP92GW~J{zK|H+}@IfPvGgPkHx_0^Mxd5{pf%cyb0uz**zh46>Ky&Za*VGDc zO=zpc#Jiv=9|3iqJbjOPlghnyAh$DM@7izU-oz@or^_<_K?G+(*9-4K@c;HxP(F+) zE7~;0+1^yQMJjU#tg9C7W(0W<;!CAARW{eS;5n9}o*MS10RMYp6pp=q)Ph~H-Pea6 zMDAnP$Wt$YmM(s>>Rj?bmdEP!#<~M}78+BnZaIKsDV?5+mvDzpwo*i1^t1#p=i)~* zA>NeBT=dKW_^A(y#@qf`Y)ga$5~esoF+jj7ixrX9or6xfX9MMdk9=p3snWN0LQQo9 zNjx^E4fkpiC{fqXx%0AWOJKNICx%Sy$?aYm)vWwP-#)A|>4 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�g(+A zwrbXB8*q}pd(o>HXoBHNEwOj3n)vzoe+T#pGNuvx{01k~e_@qvy70Mjyj}W9(?_gv z#ZRl%yba-xfgD1_Q1F$FKF<*A$5xQ5EpjVG=f3%SxSpyXw;!B}5IWT(KPZF`ZGI~= zioZry+ND^6d_o8tHqOO*biMac??0$iAx6($(GfF}y&7sFIiu4b>)31yPwbX~Lg4Q`u1`7F4I!?C7%b&P{BT`iIoBSt8Mdu0 zAxlZuKxF(}&xoY8W9A8S)9#lq&JV%j>o&r2sGOhv^(($4v!n0ER(izv(|;$tI~s$&k`=>l=po4* zCG{xP)T6w%qOi@=8CNHuOQ&hOdG`F}%bLVT^Iv2Ff42gwuaXFJy5<42IZXfxbdY4gV`#@<+r|zq}DtsO~}6+CS1Ce!5Nqa2w2hh#7+V0$*u=g65bwt zmBNdlF&O0mZr7jIihE^-H^s0OlNIHf!4qHIBTyT-E#(^%IYfzWK7g?p7W{2b^5M2s87{Ko}ZZ7-NRWYxmi$KLh) ztTr%|_>klC=PW0^1^w6;r3t5M=n4auGxz+r=6;L;xMGrt{}r2^Ptzr#)G~ zwn1N1BBLP8&hoqP(J(Oord~e|^k&~KA%xvY#BoSZ^Jih@U08Yq4Idi|=8Vkx;?gw< zw`a=vhKVEZcaNS)RP|5O#GcB9+-CcVUq^ewvQ0KL-+E@%M&3Yp`Fo#E5vtBS@U+s! zkPn}82ocG}zSV#s-s_GR`$Jr3Zi^?s&lO9S6sm2;4%NsiZ=Njcia$oxybD6`OKFeTC@ znn+ed-&xxOW;>N&n>xC~q0!fzJPpplv>|42C?u_zsfsTS#iFO$Y);pQ`&~h?F#`iK zP;yODBk$pPsS{)_JG234>JNk7&Zc5&BkKkd zi8XJ@2z`NA*xI`hM4v2~cb|J@?xJ?+mt&1gK67|}^dWyhWIhZ%!b4f!dH5+$b8(

V4gANc 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 Lwo2~h8$tgMVBF9L literal 0 HcmV?d00001 diff --git a/apps/docs/public/img/guides/integrations/picket/supabase_project.png b/apps/docs/public/img/guides/integrations/picket/supabase_project.png new file mode 100644 index 0000000000000000000000000000000000000000..97c441b6ef83beca191d2bb163536628d92386f3 GIT binary patch literal 169870 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�Vd`%KA;q(4qCx|ut~EH(F4^y#dDz(9vv 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 Fe*k?&BpUz# literal 0 HcmV?d00001 From 690f91aecb2bc0c7af9b45fc30864b1543bd9ddb Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Tue, 29 Nov 2022 10:47:42 -0800 Subject: [PATCH 04/53] fix: formatting of numeric list --- apps/docs/pages/guides/integrations/picket.mdx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/apps/docs/pages/guides/integrations/picket.mdx b/apps/docs/pages/guides/integrations/picket.mdx index bd88166833f..3f583b8a873 100644 --- a/apps/docs/pages/guides/integrations/picket.mdx +++ b/apps/docs/pages/guides/integrations/picket.mdx @@ -550,12 +550,9 @@ export const getServerSideProps: GetServerSideProps = async ({ ``` This is a long file, but don't be intimidated. The page is actually straightforward. It -- 1. - Verifies server-side that the user is authenticated and if they are not redirects them to the homepage -- 2. - Checks to see if they already have `todos` . If so, it returns them. If not, it initializes them for the users -- 3. - We render the `todos` and when the user selects or deselects a todo, we update the data in the database + 1. Verifies server-side that the user is authenticated and if they are not redirects them to the homepage + 2. Checks to see if they already have `todos` . If so, it returns them. If not, it initializes them for the users + 3. We render the `todos` and when the user selects or deselects a todo, we update the data in the database ## Step 8: Try it Out! From 3e84c0866a28e7729e60de55a4864bc6d21be776 Mon Sep 17 00:00:00 2001 From: Ryan Peach Date: Thu, 22 Dec 2022 18:49:00 -0500 Subject: [PATCH 05/53] styles.css This needs to be put in src/routes and called styles.css --- .../pages/guides/getting-started/tutorials/with-sveltekit.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx b/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx index d8af92de291..4ac787fd3c6 100644 --- a/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx +++ b/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx @@ -56,8 +56,9 @@ import { env } from '$env/dynamic/public' export const supabase = createClient(env.PUBLIC_SUPABASE_URL, env.PUBLIC_SUPABASE_ANON_KEY) ``` -And one optional step is to update the CSS file `public/global.css` to make the app look nice. +And one optional step is to update the CSS file `src/routes/style.css` to make the app look nice. You can find the full contents of this file [here](https://raw.githubusercontent.com/supabase/supabase/master/examples/user-management/svelte-user-management/src/app.css). +If you don't add this file, you will need to remove the import statement in `src/routes/+layout.svelte` (created later). ### Supabase Auth Helpers From 6d6f28ed9005a25ece97d63ae3b126c4999824b6 Mon Sep 17 00:00:00 2001 From: Renato Guimaraes Nunes <39779426+renatognunes@users.noreply.github.com> Date: Tue, 27 Dec 2022 22:51:30 +0100 Subject: [PATCH 06/53] Fix: replace /pages reference into /app. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There were some misleading references to the "/pages" directory since the guides are meant for the "/app" directory. 🙂 --- .../guides/auth/auth-helpers/nextjs-server-components.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx index 10fa7f73f31..c4a14ba576b 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx @@ -139,7 +139,7 @@ Middleware runs before every route declared in the `matcher` array. Since we don > -Create a new file at `/pages/middleware.js` and populate with the following: +Create a new file at `/app/middleware.js` and populate with the following: ```jsx title="middleware.js" import { createMiddlewareSupabaseClient } from '@supabase/auth-helpers-nextjs' @@ -166,7 +166,7 @@ export const config = { -Create a new file at `/middleware.ts` (a sibling of /pages) and populate with the following: +Create a new file at `app/middleware.ts` and populate with the following: ```tsx title="middleware.ts" import { createMiddlewareSupabaseClient } from '@supabase/auth-helpers-nextjs' @@ -322,7 +322,7 @@ Create a `/components/supabase-listener.tsx` file and add the following: import { useRouter } from 'next/navigation' import { useEffect } from 'react' -import supabase from '../utils/supabase' +import supabase from '../utils/supabase-browser' export default function SupabaseListener({ accessToken }: { accessToken?: string }) { const router = useRouter() From acc4707959b7127c54744a22fba9abb122986042 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Thu, 5 Jan 2023 15:46:22 +0700 Subject: [PATCH 07/53] Split FDW creation into 2 separate steps to allow creation of multiple instances of a wrapper type --- .../Database/Wrappers/CreateWrapper.tsx | 333 ++++++++++++++++++ .../Database/Wrappers/Wrappers.constants.ts | 7 + .../interfaces/Database/Wrappers/Wrappers.tsx | 237 +++---------- .../Wrappers/WrappersDisabledState.tsx | 156 ++++++++ .../Database/Wrappers/WrappersDropdown.tsx | 59 ++++ .../components/interfaces/Database/index.ts | 2 + .../{wrappers.tsx => wrappers/index.tsx} | 0 .../project/[ref]/database/wrappers/new.tsx | 26 ++ 8 files changed, 629 insertions(+), 191 deletions(-) create mode 100644 studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx create mode 100644 studio/components/interfaces/Database/Wrappers/WrappersDisabledState.tsx create mode 100644 studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx rename studio/pages/project/[ref]/database/{wrappers.tsx => wrappers/index.tsx} (100%) create mode 100644 studio/pages/project/[ref]/database/wrappers/new.tsx diff --git a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx new file mode 100644 index 00000000000..cd456fd9e07 --- /dev/null +++ b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx @@ -0,0 +1,333 @@ +import Link from 'next/link' +import { isEmpty } from 'lodash' +import { FC, useState } from 'react' +import { useRouter } from 'next/router' +import { observer } from 'mobx-react-lite' +import { + Button, + Form, + Input, + IconArrowLeft, + IconExternalLink, + IconHelpCircle, + IconEdit, + IconEye, + IconEyeOff, + IconTrash, +} from 'ui' +import { PermissionAction } from '@supabase/shared-types/out/constants' + +import { ServerOption } from './Wrappers.types' +import { checkPermissions, useParams, useStore } from 'hooks' +import { + FormPanel, + FormActions, + FormSection, + FormSectionLabel, + FormSectionContent, +} from 'components/ui/Forms' +import { useFDWCreateMutation } from 'data/fdw/fdw-create-mutation' + +import { WRAPPERS } from './Wrappers.constants' +import WrapperRow from './WrapperRow' +import WrapperTableEditor from './WrapperTableEditor' +import { makeValidateRequired } from './Wrappers.utils' +import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' + +const InputField: FC<{ option: ServerOption; error: any }> = ({ option, error }) => { + const [showHidden, setShowHidden] = useState(!option.hidden) + if (option.isTextArea) { + return ( +

+ } + defaultValue={option.defaultValue ?? ''} + required={option.required ?? false} + error={error} + className="input-mono" + rows={6} + /> + + ) + } else { + return ( + +

{option.label}

+ {option.urlHelper !== undefined && ( + + + + + + )} + + } + defaultValue={option.defaultValue ?? ''} + error={error} + className={`${option.name === 'name' ? '' : 'input-mono'}`} + type={!option.hidden ? 'text' : showHidden ? 'text' : 'password'} + actions={ + option.hidden ? ( +
+
+ ) : null + } + /> + ) + } +} + +const CreateWrapper = () => { + const formId = 'test-form' + const router = useRouter() + const { ui } = useStore() + const { ref, type } = useParams() + const { project } = useProjectContext() + const { mutateAsync: createFDW } = useFDWCreateMutation() + + const [newTables, setNewTables] = useState([]) + const [isEditingTable, setIsEditingTable] = useState(false) + const [selectedTableToEdit, setSelectedTableToEdit] = useState() + const [formErrors, setFormErrors] = useState<{ [k: string]: string }>({}) + + const canCreateWrapper = checkPermissions(PermissionAction.TENANT_SQL_ADMIN_WRITE, 'extensions') + + const wrapperMeta = WRAPPERS.find((wrapper) => wrapper.name === type) + const initialValues = + wrapperMeta !== undefined + ? Object.fromEntries( + wrapperMeta.server.options.map((option) => [option.name, option.defaultValue ?? '']) + ) + : {} + + if (wrapperMeta === undefined) { + return
Lol what?
+ } + + const onUpdateTable = (values: any) => { + setNewTables((prev) => { + // if the new values have tableIndex, we are editing an existing table + if (values.tableIndex !== undefined) { + const tableIndex = values.tableIndex + const newTables = [...prev] + delete values.tableIndex + newTables[tableIndex] = values + return newTables + } + return [...prev, values] + }) + setIsEditingTable(false) + setSelectedTableToEdit(undefined) + } + + const onSubmit = async (values: any, { setSubmitting }: any) => { + const validate = makeValidateRequired(wrapperMeta.server.options) + + const errors: any = validate(values) + if (newTables.length === 0) errors.tables = 'Please add at least one table' + if (!isEmpty(errors)) return setFormErrors(errors) + + setSubmitting(true) + try { + await createFDW({ + projectRef: project?.ref, + connectionString: project?.connectionString, + wrapper: wrapperMeta, + formState: values, + newTables, + }) + ui.setNotification({ + category: 'success', + message: `Successfully created ${wrapperMeta.label} foreign data wrapper`, + }) + setNewTables([]) + router.push(`/project/${ref}/database/wrappers`) + } catch (error: any) { + ui.setNotification({ + error, + category: 'error', + message: `Failed to create ${wrapperMeta.label} foreign data wrapper: ${error.message}`, + }) + } finally { + setSubmitting(false) + } + } + + return ( + <> +
+
+ +

Create a {wrapperMeta?.label} Wrapper

+ +
+ +
+ {({ isSubmitting, handleReset, values, initialValues }: any) => { + const hasChanges = JSON.stringify(values) !== JSON.stringify(initialValues) + return ( + + +
+ } + > + Server Configuration}> + + {wrapperMeta.server.options.map((option) => ( + + ))} + + + +

Foreign Tables

+

+ You can query your data from these foreign tables after the wrapper is + created +

+ + } + > + + {newTables.length === 0 ? ( +
+ +
+ ) : ( + <> + {newTables.map((table, i) => ( +
+
+

+ {table.schema_name}.{table.table_name} +

+

+ {wrapperMeta.tables[table.index].label}: {table.columns.join(', ')} +

+
+
+
+
+ ))} + + )} + {newTables.length > 0 && ( +
+ +
+ )} + {newTables.length === 0 && formErrors.tables && ( +

{formErrors.tables}

+ )} +
+
+ + ) + }} + + + + { + setSelectedTableToEdit(undefined) + setIsEditingTable(false) + }} + onSave={onUpdateTable} + initialData={selectedTableToEdit} + /> + + ) +} + +export default observer(CreateWrapper) diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts b/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts index a987a4533af..3d61062903f 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts @@ -12,6 +12,13 @@ export const WRAPPERS: Wrapper[] = [ server: { name: 'stripe_server', options: [ + { + name: 'name', + label: 'Wrapper Name', + required: true, + encrypted: false, + hidden: false, + }, { name: 'api_key_id', label: 'Stripe Secret Key', diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx index bc6abe43bab..15a0236dc8f 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx @@ -2,34 +2,31 @@ import Link from 'next/link' import { useState } from 'react' import { Button, IconExternalLink } from 'ui' import { observer } from 'mobx-react-lite' -import * as Tooltip from '@radix-ui/react-tooltip' -import { PermissionAction } from '@supabase/shared-types/out/constants' -import { checkPermissions, useParams, useStore } from 'hooks' +import { useStore } from 'hooks' import { useFDWsQuery } from 'data/fdw/fdws-query' import { WRAPPERS } from './Wrappers.constants' import WrapperRow from './WrapperRow' import ShimmeringLoader from 'components/ui/ShimmeringLoader' +import WrappersDropdown from './WrappersDropdown' +import WrappersDisabledState from './WrappersDisabledState' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' const Wrappers = () => { - const { ref } = useParams() - const { ui, meta } = useStore() + const { meta } = useStore() const { project } = useProjectContext() const { data, isLoading } = useFDWsQuery({ projectRef: project?.ref, connectionString: project?.connectionString, }) const wrappers = data?.result ?? [] - const enabledWrapperNamesSet = new Set(data?.result.map((fdw) => fdw.name)) + const enabledWrapperNamesSet = new Set(wrappers.map((fdw) => fdw.name)) const [open, setOpen] = useState('') - const [isEnabling, setIsEnabling] = useState(false) const wrappersExtension = meta.extensions.byId('wrappers') const vaultExtension = meta.extensions.byId('supabase_vault') const isLoadingExtensions = meta.extensions.isLoading - const isNotAvailable = wrappersExtension === undefined || vaultExtension === undefined const isWrappersEnabled = wrappersExtension !== undefined && @@ -37,48 +34,6 @@ const Wrappers = () => { vaultExtension !== undefined && vaultExtension?.installed_version !== null - const canToggleWrappers = checkPermissions(PermissionAction.TENANT_SQL_ADMIN_WRITE, 'extensions') - - const onEnableWrappers = async () => { - if (wrappersExtension === undefined || vaultExtension === undefined) return - setIsEnabling(true) - - const requiredExtensions = await Promise.all([ - await meta.extensions.create({ - schema: wrappersExtension.schema ?? 'extensions', - name: wrappersExtension.name, - version: wrappersExtension.default_version, - cascade: true, - }), - await meta.extensions.create({ - schema: vaultExtension.schema ?? 'vault', - name: vaultExtension.name, - version: vaultExtension.default_version, - cascade: true, - }), - ]) - const errors = requiredExtensions.filter( - (res) => res.error && !res.error.message.includes('already exists') - ) - - if (errors.length > 0) { - ui.setNotification({ - error: errors, - category: 'error', - message: `Failed to enable Wrappers for your project: ${errors - .map((x) => x.message) - .join(', ')}`, - }) - } else { - ui.setNotification({ - category: 'success', - message: 'Wrappers is now enabled for your project!', - }) - } - - setIsEnabling(false) - } - return (
@@ -88,39 +43,16 @@ const Wrappers = () => { Query your data warehouse directly from your database, or third-party APIs using SQL.
- {/* [Joshen TODO] For when we support multiple instances per wrapper */} - {/*
- - {WRAPPERS.map((wrapper, idx) => ( - <> - - } - onClick={() => {}} - > - {wrapper.label} - - {idx !== WRAPPERS.length - 1 && } - - ))} - - } - > - - -
*/} + {isLoadingExtensions ? ( @@ -131,116 +63,39 @@ const Wrappers = () => { ) : isWrappersEnabled ? (
- {WRAPPERS.map((wrapper, i) => { - return ( - w.name === wrapper.server.name)?.tables ?? []} - isLoading={isLoading} - isEnabled={enabledWrapperNamesSet.has(wrapper.server.name)} - isOpen={open === wrapper.name} - onOpen={(wrapperName) => { - if (open !== wrapperName) setOpen(wrapperName) - else setOpen('') - }} - /> - ) - })} + {wrappers.length === 0 ? ( +
+

No wrappers created yet

+ +
+ ) : ( + <> + {WRAPPERS.map((wrapper, i) => { + return ( + w.name === wrapper.server.name)?.tables ?? []} + isLoading={isLoading} + isEnabled={enabledWrapperNamesSet.has(wrapper.server.name)} + isOpen={open === wrapper.name} + onOpen={(wrapperName) => { + if (open !== wrapperName) setOpen(wrapperName) + else setOpen('') + }} + /> + ) + })} + + )}
) : ( -
-
-
-
-

Supabase Wrappers

-

- Supabase Wrappers is a framework for building Postgres Foreign Data Wrappers (FDW) - which connect Postgres to external systems. Query your data warehouse or - third-party APIs directly from your database. -

-
- {isNotAvailable ? ( -
-
-
-

- Wrappers is not available for this project yet. -

-

- Do reach out to us if you're interested! -

-
- -
- -
- ) : ( -
- - - - - - - - - - {!canToggleWrappers && ( - - -
- - You need additional permissions to enable Wrappers for this project - -
-
- )} -
-
- )} -
-
-
+ )} ) diff --git a/studio/components/interfaces/Database/Wrappers/WrappersDisabledState.tsx b/studio/components/interfaces/Database/Wrappers/WrappersDisabledState.tsx new file mode 100644 index 00000000000..54e4fa6a8b1 --- /dev/null +++ b/studio/components/interfaces/Database/Wrappers/WrappersDisabledState.tsx @@ -0,0 +1,156 @@ +import Link from 'next/link' +import { useState } from 'react' +import { Button, IconExternalLink } from 'ui' +import { observer } from 'mobx-react-lite' +import * as Tooltip from '@radix-ui/react-tooltip' +import { PermissionAction } from '@supabase/shared-types/out/constants' + +import { checkPermissions, useParams, useStore } from 'hooks' + +const WrappersDisabledState = () => { + const { ui, meta } = useStore() + const { ref } = useParams() + const wrappersExtension = meta.extensions.byId('wrappers') + const vaultExtension = meta.extensions.byId('supabase_vault') + const isNotAvailable = wrappersExtension === undefined || vaultExtension === undefined + + const [isEnabling, setIsEnabling] = useState(false) + const canToggleWrappers = checkPermissions(PermissionAction.TENANT_SQL_ADMIN_WRITE, 'extensions') + + const onEnableWrappers = async () => { + if (wrappersExtension === undefined || vaultExtension === undefined) return + setIsEnabling(true) + + const requiredExtensions = await Promise.all([ + await meta.extensions.create({ + schema: wrappersExtension.schema ?? 'extensions', + name: wrappersExtension.name, + version: wrappersExtension.default_version, + cascade: true, + }), + await meta.extensions.create({ + schema: vaultExtension.schema ?? 'vault', + name: vaultExtension.name, + version: vaultExtension.default_version, + cascade: true, + }), + ]) + const errors = requiredExtensions.filter( + (res) => res.error && !res.error.message.includes('already exists') + ) + + if (errors.length > 0) { + ui.setNotification({ + error: errors, + category: 'error', + message: `Failed to enable Wrappers for your project: ${errors + .map((x) => x.message) + .join(', ')}`, + }) + } else { + ui.setNotification({ + category: 'success', + message: 'Wrappers is now enabled for your project!', + }) + } + + setIsEnabling(false) + } + + return ( +
+
+
+
+

Supabase Wrappers

+

+ Supabase Wrappers is a framework for building Postgres Foreign Data Wrappers (FDW) + which connect Postgres to external systems. Query your data warehouse or third-party + APIs directly from your database. +

+
+ {isNotAvailable ? ( +
+
+
+

+ Wrappers is not available for this project yet. +

+

+ Do reach out to us if you're interested! +

+
+ +
+ +
+ ) : ( +
+ + + + + + + + + + {!canToggleWrappers && ( + + +
+ + You need additional permissions to enable Wrappers for this project + +
+
+ )} +
+
+ )} +
+
+
+ ) +} + +export default observer(WrappersDisabledState) diff --git a/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx b/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx new file mode 100644 index 00000000000..88f6fd36404 --- /dev/null +++ b/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx @@ -0,0 +1,59 @@ +import Link from 'next/link' +import Image from 'next/image' +import { FC } from 'react' +import { observer } from 'mobx-react-lite' +import { Button, Dropdown, IconPlus } from 'ui' + +import { useParams } from 'hooks' +import { WRAPPERS } from './Wrappers.constants' + +interface Props { + buttonText?: string + align?: 'center' | 'end' +} + +const WrapperDropdown: FC = ({ buttonText = 'Add wrapper', align = 'end' }) => { + const { ref } = useParams() + + return ( + + {WRAPPERS.map((wrapper, idx) => ( + <> + + + + } + > + {wrapper.label} + + + + {idx !== WRAPPERS.length - 1 && } + + ))} + + } + > + + + ) +} + +export default observer(WrapperDropdown) diff --git a/studio/components/interfaces/Database/index.ts b/studio/components/interfaces/Database/index.ts index b294434c18e..d8e78540e78 100644 --- a/studio/components/interfaces/Database/index.ts +++ b/studio/components/interfaces/Database/index.ts @@ -7,6 +7,7 @@ import RolesSettings from './Roles/RolesSettings' import Extensions from './Extensions/Extensions' import Wrappers from './Wrappers/Wrappers' +import CreateWrapper from './Wrappers/CreateWrapper' import PublicationsList from './Publications/PublicationsList' import PublicationsTables from './Publications/PublicationsTables' @@ -28,6 +29,7 @@ export { RolesSettings, Extensions, Wrappers, + CreateWrapper, PublicationsList, PublicationsTables, BackupsList, diff --git a/studio/pages/project/[ref]/database/wrappers.tsx b/studio/pages/project/[ref]/database/wrappers/index.tsx similarity index 100% rename from studio/pages/project/[ref]/database/wrappers.tsx rename to studio/pages/project/[ref]/database/wrappers/index.tsx diff --git a/studio/pages/project/[ref]/database/wrappers/new.tsx b/studio/pages/project/[ref]/database/wrappers/new.tsx new file mode 100644 index 00000000000..7d5987fef99 --- /dev/null +++ b/studio/pages/project/[ref]/database/wrappers/new.tsx @@ -0,0 +1,26 @@ +import { observer } from 'mobx-react-lite' +import { PermissionAction } from '@supabase/shared-types/out/constants' + +import { NextPageWithLayout } from 'types' +import { checkPermissions } from 'hooks' +import { DatabaseLayout } from 'components/layouts' +import NoPermission from 'components/ui/NoPermission' +import { FormsContainer } from 'components/ui/Forms' +import { CreateWrapper } from 'components/interfaces/Database' + +const DatabaseWrappersNew: NextPageWithLayout = () => { + const canReadWrappers = checkPermissions(PermissionAction.TENANT_SQL_ADMIN_READ, 'wrappers') + if (!canReadWrappers) { + return + } + + return +} + +DatabaseWrappersNew.getLayout = (page) => ( + + {page} + +) + +export default observer(DatabaseWrappersNew) From 0d93c8b5e4817af637283ece3fb4aa6aa7a57360 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Fri, 6 Jan 2023 15:29:13 -0330 Subject: [PATCH 08/53] Remove references to new_docs --- .../reference/RefSectionHandler.tsx | 4 +-- apps/docs/lib/mdx/handleRefStaticProps.tsx | 31 +++---------------- apps/docs/pages/guides/auth/overview.mdx | 10 ++---- 3 files changed, 8 insertions(+), 37 deletions(-) diff --git a/apps/docs/components/reference/RefSectionHandler.tsx b/apps/docs/components/reference/RefSectionHandler.tsx index d54e5d616bb..8f981bcbb91 100644 --- a/apps/docs/components/reference/RefSectionHandler.tsx +++ b/apps/docs/components/reference/RefSectionHandler.tsx @@ -24,12 +24,10 @@ const RefSectionHandler = (props) => { const slug = router.query.slug[0] - const isNewDocs = process.env.NEXT_PUBLIC_NEW_DOCS === 'true' - // When user lands on a url like http://supabase.com/docs/reference/javascript/sign-up // find the #sign-up element and scroll to that useEffect(() => { - if (isNewDocs && document && slug !== 'start') { + if (document && slug !== 'start') { document.querySelector(`#${slug}`) && document.querySelector(`#${slug}`).scrollIntoView() } }) diff --git a/apps/docs/lib/mdx/handleRefStaticProps.tsx b/apps/docs/lib/mdx/handleRefStaticProps.tsx index c9c47b4496d..c97245387f9 100644 --- a/apps/docs/lib/mdx/handleRefStaticProps.tsx +++ b/apps/docs/lib/mdx/handleRefStaticProps.tsx @@ -1,33 +1,12 @@ -import generateOldRefMarkdown from '~/lib/mdx/generateOldRefMarkdown' import generateRefMarkdown from '~/lib/mdx/generateRefMarkdown' -async function handleRefStaticProps(sections, params, librarypath, urlPath) { +async function handleRefStaticProps(sections, librarypath) { let markdownContent = await generateRefMarkdown(sections, librarypath) - /* - * old content generation - * this is for grabbing to old markdown files - */ - - let slug - if (params.slug.length > 1) { - slug = `docs/reference${urlPath}/${params.slug.join('/')}` - } else { - slug = `docs/reference${urlPath}/${params.slug[0]}` - } - - /* - * handle old ref pages - */ - if (process.env.NEXT_PUBLIC_NEW_DOCS === 'false') { - const oldMarkdown = await generateOldRefMarkdown(slug) - return oldMarkdown - } else { - return { - props: { - docs: markdownContent, - }, - } + return { + props: { + docs: markdownContent, + }, } } diff --git a/apps/docs/pages/guides/auth/overview.mdx b/apps/docs/pages/guides/auth/overview.mdx index 97044096e13..d46b0eb3e9d 100644 --- a/apps/docs/pages/guides/auth/overview.mdx +++ b/apps/docs/pages/guides/auth/overview.mdx @@ -1,5 +1,5 @@ import Layout from '~/layouts/DefaultGuideLayout' -import NewContent from '~/pages/new/auth.mdx' + import { useRouter } from 'next/router' export const meta = { @@ -174,12 +174,6 @@ When users sign up, Supabase assigns them a unique ID. You can reference this ID -export const Page = ({ children }) => { - const router = useRouter() - if (process.env.NEXT_PUBLIC_NEW_DOCS === 'true' && !router.asPath.includes('overview')) { - return NewContent() - } - return -} +export const Page = ({ children }) => export default Page From e3da1e72bfd53e59e01f1420198483adb3a35741 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Fri, 6 Jan 2023 16:02:02 -0330 Subject: [PATCH 09/53] Cleanup getStaticProps --- apps/docs/pages/reference/api/[...slug].tsx | 4 ++-- apps/docs/pages/reference/cli/[...slug].tsx | 4 ++-- apps/docs/pages/reference/dart/[...slug].tsx | 4 ++-- apps/docs/pages/reference/dart/crawlers/[...slug].tsx | 4 ++-- apps/docs/pages/reference/dart/v0/[...slug].tsx | 4 ++-- apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx | 4 ++-- apps/docs/pages/reference/javascript/[...slug].tsx | 4 ++-- apps/docs/pages/reference/javascript/crawlers/[...slug].tsx | 4 ++-- apps/docs/pages/reference/javascript/v1/[...slug].tsx | 4 ++-- .../docs/pages/reference/javascript/v1/crawlers/[...slug].tsx | 4 ++-- apps/docs/pages/reference/self-hosting-auth/[...slug].tsx | 4 ++-- apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx | 4 ++-- apps/docs/pages/reference/self-hosting-storage/[...slug].tsx | 4 ++-- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/apps/docs/pages/reference/api/[...slug].tsx b/apps/docs/pages/reference/api/[...slug].tsx index 58d617d5cac..382c882a190 100644 --- a/apps/docs/pages/reference/api/[...slug].tsx +++ b/apps/docs/pages/reference/api/[...slug].tsx @@ -15,8 +15,8 @@ export default function Config(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/api', '/api') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/api') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/cli/[...slug].tsx b/apps/docs/pages/reference/cli/[...slug].tsx index 2e4a2218b3e..3555095ee72 100644 --- a/apps/docs/pages/reference/cli/[...slug].tsx +++ b/apps/docs/pages/reference/cli/[...slug].tsx @@ -14,8 +14,8 @@ export default function CliRef(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/cli', '/cli') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/cli') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/dart/[...slug].tsx b/apps/docs/pages/reference/dart/[...slug].tsx index 4fecc97170d..735ae57f35f 100644 --- a/apps/docs/pages/reference/dart/[...slug].tsx +++ b/apps/docs/pages/reference/dart/[...slug].tsx @@ -12,8 +12,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/dart', '/dart') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/dart') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/dart/crawlers/[...slug].tsx b/apps/docs/pages/reference/dart/crawlers/[...slug].tsx index c12f3cabbf2..0b62b1ca55b 100644 --- a/apps/docs/pages/reference/dart/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/dart/crawlers/[...slug].tsx @@ -34,8 +34,8 @@ export default function JSReference(props) { ) } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/dart', '/dart') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/dart') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/dart/v0/[...slug].tsx b/apps/docs/pages/reference/dart/v0/[...slug].tsx index f0daf4e9d6e..9a74ea2583d 100644 --- a/apps/docs/pages/reference/dart/v0/[...slug].tsx +++ b/apps/docs/pages/reference/dart/v0/[...slug].tsx @@ -12,8 +12,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/dart/v0', '/dart/v0') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/dart/v0') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx b/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx index 2e67a5b5c8e..18d7c8cac37 100644 --- a/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx @@ -33,8 +33,8 @@ export default function JSReference(props) { ) } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/dart/v0', '/dart/v0') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/dart/v0') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/javascript/[...slug].tsx b/apps/docs/pages/reference/javascript/[...slug].tsx index cab58348221..31e44d594aa 100644 --- a/apps/docs/pages/reference/javascript/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/[...slug].tsx @@ -13,8 +13,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/javascript', '/javascript') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/javascript') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx b/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx index 2e6e0b271a9..feebcf6998e 100644 --- a/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx @@ -34,8 +34,8 @@ export default function JSReference(props) { ) } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/javascript', '/javascript') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/javascript') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/javascript/v1/[...slug].tsx b/apps/docs/pages/reference/javascript/v1/[...slug].tsx index d54c9df6d94..1eeb40044f1 100644 --- a/apps/docs/pages/reference/javascript/v1/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/v1/[...slug].tsx @@ -13,8 +13,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/javascript/v1', '/javascript/v1') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/javascript/v1') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx b/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx index bbb38f4598a..3f59baad46e 100644 --- a/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx @@ -33,8 +33,8 @@ export default function JSReference(props) { ) } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/javascript/v1', '/javascript/v1') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/javascript/v1') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx b/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx index 819fd773892..64c91fb4f5e 100644 --- a/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx +++ b/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx @@ -15,8 +15,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/self-hosting-auth', '/self-hosting-auth') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/self-hosting-auth') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx b/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx index 240ea180f0c..beb4f192715 100644 --- a/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx +++ b/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx @@ -12,8 +12,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/self-hosting-realtime', '/self-hosting-realtime') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/self-hosting-realtime') } export function getStaticPaths() { diff --git a/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx b/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx index 2d2de874622..ea76596b3f8 100644 --- a/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx +++ b/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx @@ -15,8 +15,8 @@ export default function JSReference(props) { return } -export async function getStaticProps({ params }: { params: { slug: string[] } }) { - return handleRefStaticProps(sections, params, '/self-hosting-storage', '/self-hosting-storage') +export async function getStaticProps() { + return handleRefStaticProps(sections, '/self-hosting-storage') } export function getStaticPaths() { From 1845b1b4306ac3789f8f2d7523a65fc553670a83 Mon Sep 17 00:00:00 2001 From: matamatanot <39780486+matamatanot@users.noreply.github.com> Date: Sun, 8 Jan 2023 02:45:57 +0900 Subject: [PATCH 10/53] add `export` --- apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx index 67d258c8575..b51a4d88b72 100644 --- a/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx +++ b/apps/docs/pages/guides/getting-started/quickstarts/nextjs.mdx @@ -86,7 +86,7 @@ export const meta = { ```js lib/supabaseClient.js import { createClient } from '@supabase/supabase-js' - const supabase = createClient('https://.supabase.co', '') + export const supabase = createClient('https://.supabase.co', '') ``` From 742f1ea4fbc1b7515fb10083d28c1e239b9cac8e Mon Sep 17 00:00:00 2001 From: Mykhaylo Ryechkin <5657181+mryechkin@users.noreply.github.com> Date: Sun, 8 Jan 2023 11:31:48 -0500 Subject: [PATCH 11/53] docs: fix usage of router in Server Components instructions Current docs for Server Components say to use `router.reload()` in the Supabase Listener, which is incorrect. It should be `router.refresh()` according to the latest Next.js [Beta Docs](https://beta.nextjs.org/docs/api-reference/use-router). --- .../pages/guides/auth/auth-helpers/nextjs-server-components.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx index 4b31c0a1011..b99ad061ba6 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx @@ -222,7 +222,7 @@ export default function SupabaseListener({ accessToken }) { useEffect(() => { supabase.auth.onAuthStateChange((event, session) => { if (session?.access_token !== accessToken) { - router.reload() + router.refresh() } }) }, [accessToken]) From 17111c85d62e1807cd48f0dce13f8316525a40cb Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Mon, 9 Jan 2023 12:33:24 +0800 Subject: [PATCH 12/53] Update create fdw ui flow --- .../Database/Wrappers/CreateWrapper.tsx | 52 +- .../Database/Wrappers/WrapperRow.tsx | 452 ++++-------------- .../Database/Wrappers/Wrappers.constants.ts | 9 - .../interfaces/Database/Wrappers/Wrappers.tsx | 40 +- .../Database/Wrappers/Wrappers.types.ts | 1 - .../Vault/Secrets/SecretsManagement.tsx | 25 +- studio/data/fdw/fdw-create-mutation.ts | 12 +- studio/data/fdw/fdws-query.ts | 11 +- 8 files changed, 197 insertions(+), 405 deletions(-) diff --git a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx index cd456fd9e07..1cb0eb0a55d 100644 --- a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx @@ -29,7 +29,6 @@ import { import { useFDWCreateMutation } from 'data/fdw/fdw-create-mutation' import { WRAPPERS } from './Wrappers.constants' -import WrapperRow from './WrapperRow' import WrapperTableEditor from './WrapperTableEditor' import { makeValidateRequired } from './Wrappers.utils' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' @@ -91,7 +90,7 @@ const InputField: FC<{ option: ServerOption; error: any }> = ({ option, error }) } defaultValue={option.defaultValue ?? ''} error={error} - className={`${option.name === 'name' ? '' : 'input-mono'}`} + className={`${option.name === 'server_name' ? '' : 'input-mono'}`} type={!option.hidden ? 'text' : showHidden ? 'text' : 'password'} actions={ option.hidden ? ( @@ -127,9 +126,13 @@ const CreateWrapper = () => { const wrapperMeta = WRAPPERS.find((wrapper) => wrapper.name === type) const initialValues = wrapperMeta !== undefined - ? Object.fromEntries( - wrapperMeta.server.options.map((option) => [option.name, option.defaultValue ?? '']) - ) + ? { + name: '', + server_name: '', + ...Object.fromEntries( + wrapperMeta.server.options.map((option) => [option.name, option.defaultValue ?? '']) + ), + } : {} if (wrapperMeta === undefined) { @@ -154,8 +157,10 @@ const CreateWrapper = () => { const onSubmit = async (values: any, { setSubmitting }: any) => { const validate = makeValidateRequired(wrapperMeta.server.options) - const errors: any = validate(values) + + const { wrapper_name } = values + if (wrapper_name.length === 0) errors.name = 'Please provide a name for your wrapper' if (newTables.length === 0) errors.tables = 'Please add at least one table' if (!isEmpty(errors)) return setFormErrors(errors) @@ -165,7 +170,7 @@ const CreateWrapper = () => { projectRef: project?.ref, connectionString: project?.connectionString, wrapper: wrapperMeta, - formState: values, + formState: { ...values, server_name: `${wrapper_name}_server` }, newTables, }) ui.setNotification({ @@ -238,10 +243,35 @@ const CreateWrapper = () => { } > - Server Configuration}> + Wrapper Configuration}> + + 0 ? ( + <> + Your wrapper's server name will be{' '} + {values.wrapper_name}_server + + ) : ( + '' + ) + } + /> + + + {wrapperMeta.label} Configuration} + > {wrapperMeta.server.options.map((option) => ( - + ))} @@ -264,7 +294,7 @@ const CreateWrapper = () => { ) : ( - <> +
{newTables.map((table, i) => (
@@ -296,7 +326,7 @@ const CreateWrapper = () => {
))} - +
)} {newTables.length > 0 && (
diff --git a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx index 75368404eef..a7370a5eed4 100644 --- a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx +++ b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx @@ -1,222 +1,62 @@ import Link from 'next/link' import Image from 'next/image' -import { isEmpty } from 'lodash' import { FC, useState } from 'react' import { Collapsible, - Input, - IconCheck, IconChevronUp, Button, - IconEdit, - IconTrash, - IconEye, - IconEyeOff, - IconCheckCircle, IconExternalLink, IconLoader, - IconHelpCircle, + IconDatabase, + IconServer, + IconTrash, + IconEdit, } from 'ui' import { useParams, useStore } from 'hooks' -import { ServerOption, Wrapper } from './Wrappers.types' -import { makeValidateRequired } from './Wrappers.utils' -import { useFDWCreateMutation } from 'data/fdw/fdw-create-mutation' +import { Wrapper } from './Wrappers.types' import { useFDWDeleteMutation } from 'data/fdw/fdw-delete-mutation' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' -import WrapperTableEditor from './WrapperTableEditor' -import InformationBox from 'components/ui/InformationBox' import { confirmAlert } from 'components/to-be-cleaned/ModalsDeprecated/ConfirmModal' +import { partition } from 'lodash' interface Props { - wrapper: Wrapper - tables: any[] - isLoading: boolean - isEnabled: boolean + wrapperMeta: Wrapper + wrappers: any[] isOpen: boolean + isLoading: boolean onOpen: (wrapper: string) => void } -const InputField: FC<{ - option: ServerOption - value: any - error: any - onChange: (e: any) => void -}> = ({ option, value, error, onChange }) => { - const [showHidden, setShowHidden] = useState(!option.hidden) - - if (option.isTextArea) { - return ( -
- -

{option.label}

- {option.urlHelper !== undefined && ( - - - - - - )} -
- } - defaultValue={option.defaultValue ?? ''} - required={option.required ?? false} - value={value} - onChange={onChange} - error={error} - className="input-mono" - rows={6} - /> -
- ) - } else { - return ( - -

{option.label}

- {option.urlHelper !== undefined && ( - - - - - - )} - - } - defaultValue={option.defaultValue ?? ''} - required={option.required ?? false} - value={value} - onChange={onChange} - error={error} - className="input-mono" - type={!option.hidden ? 'text' : showHidden ? 'text' : 'password'} - actions={ - option.hidden ? ( -
-
- ) : null - } - /> - ) - } -} - -const WrapperRow: FC = ({ wrapper, tables, isLoading, isEnabled, isOpen, onOpen }) => { - const getInitialFormState = () => - Object.fromEntries( - wrapper.server.options.map((option) => [option.name, option.defaultValue ?? '']) - ) - +const WrapperRow: FC = ({ wrapperMeta, wrappers = [], isOpen, isLoading, onOpen }) => { const { ui } = useStore() const { ref } = useParams() const { project } = useProjectContext() - const { mutateAsync: createFDW } = useFDWCreateMutation() const { mutateAsync: deleteFDW } = useFDWDeleteMutation() - const [isSubmitting, setIsSubmitting] = useState(false) - const [isEditingTable, setIsEditingTable] = useState(false) - const [selectedTableToEdit, setSelectedTableToEdit] = useState() - const [newTables, setNewTables] = useState([]) - const [formState, setFormState] = useState(getInitialFormState) - const [formErrors, setFormErrors] = useState<{ [k: string]: string }>({}) + console.log({ wrappers }) - const noChanges = JSON.stringify(getInitialFormState()) === JSON.stringify(formState) - - const onUpdateTable = (values: any) => { - setNewTables((prev) => { - // if the new values have tableIndex, we are editing an existing table - if (values.tableIndex !== undefined) { - const tableIndex = values.tableIndex - const newTables = [...prev] - delete values.tableIndex - newTables[tableIndex] = values - return newTables - } - return [...prev, values] - }) - setIsEditingTable(false) - setSelectedTableToEdit(undefined) - } - - const onSaveWrapper = async () => { - const validate = makeValidateRequired(wrapper.server.options) - const errors: any = validate(formState) - if (newTables.length === 0) errors.tables = 'Please add at least one table' - - if (!isEmpty(errors)) { - setFormErrors(errors) - return - } - - setIsSubmitting(true) - try { - await createFDW({ - projectRef: project?.ref, - connectionString: project?.connectionString, - wrapper, - formState, - newTables, - }) - ui.setNotification({ - category: 'success', - message: `Successfully created ${wrapper.label} foreign data wrapper`, - }) - setNewTables([]) - setFormState(getInitialFormState) - } catch (error: any) { - ui.setNotification({ - error, - category: 'error', - message: `Failed to create ${wrapper.label} foreign data wrapper: ${error.message}`, - }) - } finally { - setIsSubmitting(false) - } - } - - const onDeleteWrapper = () => { + const onDeleteWrapper = (wrapper: any) => { confirmAlert({ - title: `Confirm to disable ${wrapper.label} wrapper`, - message: `Are you sure you want to disable the ${wrapper.label} wrapper? This will also remove all tables created with this wrapper.`, + title: `Confirm to disable ${wrapper.name}`, + message: `Are you sure you want to disable the ${wrapper.name} wrapper? This will also remove all tables created with this wrapper.`, onAsyncConfirm: async () => { try { await deleteFDW({ projectRef: project?.ref, connectionString: project?.connectionString, - wrapper, + wrapper: wrapperMeta, }) ui.setNotification({ category: 'success', - message: `Successfully removed ${wrapper.label} foreign data wrapper`, + message: `Successfully disabled ${wrapper.name} foreign data wrapper`, }) } catch (error: any) { ui.setNotification({ error, category: 'error', - message: `Disabling ${wrapper.name} failed: ${error.message}`, + message: `Failed to disable ${wrapper.name}: ${error.message}`, }) } }, @@ -227,7 +67,7 @@ const WrapperRow: FC = ({ wrapper, tables, isLoading, isEnabled, isOpen, <> onOpen(wrapper.name)} + onOpenChange={() => onOpen(wrapperMeta.name)} className={[ 'bg-scale-100 dark:bg-scale-300 ', 'hover:bg-scale-200 dark:hover:bg-scale-500', @@ -235,11 +75,11 @@ const WrapperRow: FC = ({ wrapper, tables, isLoading, isEnabled, isOpen, 'border-scale-300', 'dark:border-scale-500 hover:border-scale-500', 'dark:hover:border-scale-700 data-open:border-scale-700', - 'data-open:pb-px col-span-12 mx-auto', + 'col-span-12 mx-auto', '-space-y-px overflow-hidden', 'transition border shadow hover:z-50', - 'first:rounded-tl first:rounded-tr', - 'last:rounded-bl last:rounded-br', + 'first:rounded-tl first:rounded-tr first:!border-t', + 'last:rounded-bl last:rounded-br last:border-t-0', ].join(' ')} > @@ -254,209 +94,109 @@ const WrapperRow: FC = ({ wrapper, tables, isLoading, isEnabled, isOpen, width={14} /> {`${wrapper.name} - {wrapper.label} + {wrapperMeta.label}
{isLoading ? (
- ) : isEnabled ? ( -
- - - - Enabled -
) : ( -
- Disabled +
+ {wrappers.length} wrapper{wrappers.length > 1 ? 's' : ''}
)}
{!isLoading && ( - <> - {isEnabled ? ( - -
-
- - } - title={`${wrapper.label} foreign data wrapper is currently enabled`} - description="If you'd like to edit this wrapper, you'll need to disable the wrapper first and create it again with any updated configuration." - /> -
-

Foreign Tables

-
- {tables.map((table) => ( -
+
+ {wrappers.map((wrapper) => { + const serverOptions = Object.fromEntries( + wrapper.server_options.map((option: any) => option.split('=')) + ) + const [encryptedMetadata, visibleMetadata] = partition( + wrapperMeta.server.options, + 'hidden' + ) + + return ( +
+
+
+

{wrapper.name}

+
+ {visibleMetadata.map((metadata) => ( +
+

{metadata.label}:

+

{serverOptions[metadata.name]}

+
+ ))} + {encryptedMetadata.map((metadata) => ( +
+

{metadata.label}:

+ -
-

- {table.schema}.{table.name} -

-

- Columns: {table.columns.map((c: any) => c.name).join(', ')} -

-
+ + Encrypted in Vault + + + +
+ ))} +
+

+ Foreign tables: ({wrapper.tables.length}) +

+
+ {wrapper.tables.map((table: any) => ( - +
+ {table.name} +
-
- ))} + ))} +
-
-
- - - - - - -
-
-
-
- - ) : ( - -
-
- {wrapper.server.options.map((option) => ( - { - setFormState((prev) => ({ ...prev, [option.name]: e.target.value })) - setFormErrors((prev) => ({ ...prev, [option.name]: '' })) - }} +
+ -
-
-
- {newTables.length === 0 && ( -
-

- Add foreign tables to query from after the wrapper is enabled -

-
- )} - {newTables.map((table, i) => ( -
-
-

- {table.schema_name}.{table.table_name} -

-

- {wrapper.tables[table.index].label}: {table.columns.join(', ')} -

-
-
-
-
- ))} - {newTables.length === 0 && formErrors.tables && ( -

{formErrors.tables}

- )} -
-
- - - - - -
- - -
-
-
- - )} - + ) + })} +
+ )} - { - setSelectedTableToEdit(undefined) - setIsEditingTable(false) - }} - onSave={onUpdateTable} - initialData={selectedTableToEdit} - /> ) } diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts b/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts index 3d61062903f..75c10baf29a 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.constants.ts @@ -10,15 +10,7 @@ export const WRAPPERS: Wrapper[] = [ label: 'Stripe', docsUrl: 'https://supabase.com/docs/guides/database/wrappers/stripe', server: { - name: 'stripe_server', options: [ - { - name: 'name', - label: 'Wrapper Name', - required: true, - encrypted: false, - hidden: false, - }, { name: 'api_key_id', label: 'Stripe Secret Key', @@ -422,7 +414,6 @@ export const WRAPPERS: Wrapper[] = [ label: 'Firebase', docsUrl: 'https://supabase.com/docs/guides/database/wrappers/firebase', server: { - name: 'firebase_server', options: [ { name: 'project_id', diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx index 15a0236dc8f..1cf7e0acca4 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx @@ -11,6 +11,7 @@ import ShimmeringLoader from 'components/ui/ShimmeringLoader' import WrappersDropdown from './WrappersDropdown' import WrappersDisabledState from './WrappersDisabledState' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' +import { groupBy } from 'lodash' const Wrappers = () => { const { meta } = useStore() @@ -19,11 +20,11 @@ const Wrappers = () => { projectRef: project?.ref, connectionString: project?.connectionString, }) - const wrappers = data?.result ?? [] - const enabledWrapperNamesSet = new Set(wrappers.map((fdw) => fdw.name)) - const [open, setOpen] = useState('') + const wrappers = data?.result ?? [] + const groupedWrappers = groupBy(wrappers, 'handler') + const wrappersExtension = meta.extensions.byId('wrappers') const vaultExtension = meta.extensions.byId('supabase_vault') const isLoadingExtensions = meta.extensions.isLoading @@ -75,21 +76,26 @@ const Wrappers = () => {
) : ( <> + {/* [Joshen] This probably needs to change anyways so dont get too stuck with this */} {WRAPPERS.map((wrapper, i) => { - return ( - w.name === wrapper.server.name)?.tables ?? []} - isLoading={isLoading} - isEnabled={enabledWrapperNamesSet.has(wrapper.server.name)} - isOpen={open === wrapper.name} - onOpen={(wrapperName) => { - if (open !== wrapperName) setOpen(wrapperName) - else setOpen('') - }} - /> - ) + const createdWrappers = groupedWrappers[wrapper.handlerName] ?? [] + if (createdWrappers.length > 0) { + return ( + { + if (open !== wrapperName) setOpen(wrapperName) + else setOpen('') + }} + /> + ) + } else { + return <> + } })} )} diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.types.ts b/studio/components/interfaces/Database/Wrappers/Wrappers.types.ts index 25ac12d203b..800e3d3cfd3 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.types.ts +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.types.ts @@ -22,7 +22,6 @@ export type ServerOption = { } export type Server = { - name: string options: ServerOption[] } diff --git a/studio/components/interfaces/Settings/Vault/Secrets/SecretsManagement.tsx b/studio/components/interfaces/Settings/Vault/Secrets/SecretsManagement.tsx index 38d514c6c11..cbc6cbb9c11 100644 --- a/studio/components/interfaces/Settings/Vault/Secrets/SecretsManagement.tsx +++ b/studio/components/interfaces/Settings/Vault/Secrets/SecretsManagement.tsx @@ -1,25 +1,31 @@ import Link from 'next/link' import { observer } from 'mobx-react-lite' -import { FC, Fragment, useState } from 'react' -import { IconSearch, Input, Button, Listbox, IconLoader, IconExternalLink } from 'ui' +import { FC, Fragment, useState, useEffect } from 'react' +import { IconSearch, Input, Button, Listbox, IconLoader, IconExternalLink, IconX } from 'ui' +import { useStore, useParams } from 'hooks' import SecretRow from './SecretRow' import EditSecretModal from './EditSecretModal' import DeleteSecretModal from './DeleteSecretModal' import AddNewSecretModal from './AddNewSecretModal' import Divider from 'components/ui/Divider' -import { useStore } from 'hooks' interface Props {} const SecretsManagement: FC = ({}) => { const { vault } = useStore() + const { name } = useParams() + const [searchValue, setSearchValue] = useState('') const [selectedSort, setSelectedSort] = useState<'updated_at' | 'name'>('updated_at') const [showAddSecretModal, setShowAddSecretModal] = useState(false) const [selectedSecretToEdit, setSelectedSecretToEdit] = useState() const [selectedSecretToRemove, setSelectedSecretToRemove] = useState() + useEffect(() => { + if (name !== undefined) setSearchValue(name) + }, [name]) + const secrets = ( searchValue.length > 0 ? vault.listSecrets( @@ -48,6 +54,19 @@ const SecretsManagement: FC = ({}) => { value={searchValue} onChange={(event) => setSearchValue(event.target.value)} icon={} + actions={ + searchValue.length > 0 + ? [ +
- } - defaultValue={option.defaultValue ?? ''} - error={error} - className={`${option.name === 'server_name' ? '' : 'input-mono'}`} - type={!option.hidden ? 'text' : showHidden ? 'text' : 'password'} - actions={ - option.hidden ? ( -
-
- ) : null - } - /> - ) - } -} - const CreateWrapper = () => { - const formId = 'test-form' + const formId = 'create-wrapper-form' const router = useRouter() const { ui } = useStore() const { ref, type } = useParams() @@ -127,7 +41,7 @@ const CreateWrapper = () => { const initialValues = wrapperMeta !== undefined ? { - name: '', + wrapper_name: '', server_name: '', ...Object.fromEntries( wrapperMeta.server.options.map((option) => [option.name, option.defaultValue ?? '']) @@ -171,7 +85,7 @@ const CreateWrapper = () => { connectionString: project?.connectionString, wrapper: wrapperMeta, formState: { ...values, server_name: `${wrapper_name}_server` }, - newTables, + tables: newTables, }) ui.setNotification({ category: 'success', @@ -270,6 +184,7 @@ const CreateWrapper = () => { ))} diff --git a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx new file mode 100644 index 00000000000..c5ebac4f210 --- /dev/null +++ b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx @@ -0,0 +1,348 @@ +import Link from 'next/link' +import { isEmpty } from 'lodash' +import { useEffect, useState } from 'react' +import { useRouter } from 'next/router' +import { observer } from 'mobx-react-lite' +import { Button, Form, Input, IconArrowLeft, IconExternalLink, IconEdit, IconTrash } from 'ui' +import { PermissionAction } from '@supabase/shared-types/out/constants' + +import { VaultSecret } from 'types' +import { checkPermissions, useParams, useStore } from 'hooks' +import { useFDWsQuery } from 'data/fdw/fdws-query' +import { useFDWCreateMutation } from 'data/fdw/fdw-create-mutation' +import { useFDWDeleteMutation } from 'data/fdw/fdw-delete-mutation' + +import InputField from './InputField' +import { WRAPPERS } from './Wrappers.constants' +import WrapperTableEditor from './WrapperTableEditor' +import { + formatWrapperTables, + makeValidateRequired, + convertKVStringArrayToJson, +} from './Wrappers.utils' +import Loading from 'components/ui/Loading' +import { + FormPanel, + FormActions, + FormSection, + FormSectionLabel, + FormSectionContent, +} from 'components/ui/Forms' +import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' + +const EditWrapper = () => { + const formId = 'edit-wrapper-form' + const router = useRouter() + const { ui, vault } = useStore() + const { ref, id } = useParams() + const { project } = useProjectContext() + + const { data, isLoading } = useFDWsQuery({ + projectRef: project?.ref, + connectionString: project?.connectionString, + }) + const wrappers = data?.result ?? [] + const wrapper = wrappers.find((w) => Number(w.id) === Number(id)) + const wrapperMeta = WRAPPERS.find((w) => w.handlerName === wrapper?.handler) + + const { mutateAsync: createFDW } = useFDWCreateMutation() + const { mutateAsync: deleteFDW } = useFDWDeleteMutation() + + const [wrapperTables, setWrapperTables] = useState([]) + const [isEditingTable, setIsEditingTable] = useState(false) + const [selectedTableToEdit, setSelectedTableToEdit] = useState() + const [formErrors, setFormErrors] = useState<{ [k: string]: string }>({}) + + const canCreateWrapper = checkPermissions(PermissionAction.TENANT_SQL_ADMIN_WRITE, 'extensions') + + const initialValues = + wrapperMeta !== undefined + ? { + wrapper_name: wrapper?.name, + server_name: wrapper?.server_name, + ...convertKVStringArrayToJson(wrapper?.server_options ?? []), + } + : {} + + useEffect(() => { + if (wrapper?.id) { + setWrapperTables(formatWrapperTables(wrapper?.tables ?? [])) + } + }, [wrapper?.id]) + + if (isLoading) { + return + } + + if (wrapper === undefined || wrapperMeta === undefined) { + return
Oh no
+ } + + const onUpdateTable = (values: any) => { + setWrapperTables((prev) => { + // if the new values have tableIndex, we are editing an existing table + if (values.tableIndex !== undefined) { + const tableIndex = values.tableIndex + const wrapperTables = [...prev] + delete values.tableIndex + wrapperTables[tableIndex] = values + return wrapperTables + } + return [...prev, values] + }) + setIsEditingTable(false) + setSelectedTableToEdit(undefined) + } + + const onSubmit = async (values: any, { setSubmitting }: any) => { + const validate = makeValidateRequired(wrapperMeta.server.options) + const errors: any = validate(values) + + const { wrapper_name } = values + if (wrapper_name.length === 0) errors.name = 'Please provide a name for your wrapper' + if (wrapperTables.length === 0) errors.tables = 'Please add at least one table' + if (!isEmpty(errors)) return setFormErrors(errors) + + setSubmitting(true) + try { + await deleteFDW({ + projectRef: project?.ref, + connectionString: project?.connectionString, + wrapper, + wrapperMeta, + }) + + await createFDW({ + projectRef: project?.ref, + connectionString: project?.connectionString, + wrapper: wrapperMeta, + formState: { ...values, server_name: `${wrapper_name}_server` }, + tables: wrapperTables, + }) + + ui.setNotification({ + category: 'success', + message: `Successfully updated ${wrapperMeta.label} foreign data wrapper`, + }) + setWrapperTables([]) + router.push(`/project/${ref}/database/wrappers`) + } catch (error: any) { + ui.setNotification({ + error, + category: 'error', + message: `Failed to create ${wrapperMeta.label} foreign data wrapper: ${error.message}`, + }) + } finally { + setSubmitting(false) + } + } + + return ( + <> +
+
+ +

Edit wrapper: {wrapper.name}

+ +
+ +
+ {({ isSubmitting, handleReset, values, initialValues, resetForm }: any) => { + const [loadingSecrets, setLoadingSecrets] = useState(false) + const hasChanges = JSON.stringify(values) !== JSON.stringify(initialValues) + const encryptedOptions = wrapperMeta.server.options.filter((option) => option.encrypted) + + useEffect(() => { + const fetchEncryptedValues = async () => { + setLoadingSecrets(true) + const res = await Promise.all( + encryptedOptions.map(async (option) => { + const [secret] = vault.listSecrets( + (secret: VaultSecret) => secret.name === `${wrapper.name}_${option.name}` + ) + if (secret !== undefined) { + const value = await vault.fetchSecretValue(secret.id) + return { [option.name]: value } + } else { + return { [option.name]: '' } + } + }) + ) + const secretValues = res.reduce((a: any, b: any) => { + const [key] = Object.keys(b) + return { ...a, [key]: b[key] } + }, {}) + + resetForm({ + values: { ...values, ...secretValues }, + initialValues: { ...initialValues, ...secretValues }, + }) + setLoadingSecrets(false) + } + + if (encryptedOptions.length > 0) fetchEncryptedValues() + }, []) + + return ( + + +
+ } + > + Wrapper Configuration}> + + + Your wrapper's server name will be updated to{' '} + {values.wrapper_name}_server + + ) : ( + <> + Your wrapper's server name is{' '} + {values.wrapper_name}_server + + ) + } + /> + + + {wrapperMeta.label} Configuration} + > + + {wrapperMeta.server.options.map((option) => ( + + ))} + + + +

Foreign Tables

+

+ You can query your data from these foreign tables after the wrapper is + created +

+ + } + > + + {wrapperTables.length === 0 ? ( +
+ +
+ ) : ( +
+ {wrapperTables.map((table, i) => ( +
+
+

+ {table.schema_name}.{table.table_name} +

+

+ {wrapperMeta.tables[table.index].label}: {table.columns.join(', ')} +

+
+
+
+
+ ))} +
+ )} + {wrapperTables.length > 0 && ( +
+ +
+ )} + {wrapperTables.length === 0 && formErrors.tables && ( +

{formErrors.tables}

+ )} +
+
+ + ) + }} + + + + { + setSelectedTableToEdit(undefined) + setIsEditingTable(false) + }} + onSave={onUpdateTable} + initialData={selectedTableToEdit} + /> + + ) +} + +export default observer(EditWrapper) diff --git a/studio/components/interfaces/Database/Wrappers/InputField.tsx b/studio/components/interfaces/Database/Wrappers/InputField.tsx new file mode 100644 index 00000000000..a3839cc8fad --- /dev/null +++ b/studio/components/interfaces/Database/Wrappers/InputField.tsx @@ -0,0 +1,94 @@ +import Link from 'next/link' +import { FC, useState } from 'react' +import { Button, Input, IconHelpCircle, IconEye, IconEyeOff, IconLoader } from 'ui' +import { ServerOption } from './Wrappers.types' + +interface Props { + option: ServerOption + loading: boolean + error: any +} + +const InputField: FC = ({ option, loading, error }) => { + const [showHidden, setShowHidden] = useState(!option.hidden) + if (option.isTextArea) { + return ( +
+ +

{option.label}

+ {option.urlHelper !== undefined && ( + + + + + + )} +
+ } + value={loading ? 'Fetching value from Vault...' : undefined} + defaultValue={option.defaultValue ?? ''} + required={option.required ?? false} + /> + + ) + } else { + return ( + +

{option.label}

+ {option.urlHelper !== undefined && ( + + + + + + )} + + } + defaultValue={option.defaultValue ?? ''} + error={error} + value={loading ? 'Fetching value from Vault...' : undefined} + type={!option.hidden || loading ? 'text' : showHidden ? 'text' : 'password'} + disabled={loading} + actions={ + loading ? ( +
+
+ ) : option.hidden ? ( +
+
+ ) : null + } + /> + ) + } +} + +export default InputField diff --git a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx index 2df0ce425a4..0e336cdf86d 100644 --- a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx +++ b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx @@ -7,8 +7,6 @@ import { Button, IconExternalLink, IconLoader, - IconDatabase, - IconServer, IconTrash, IconEdit, } from 'ui' @@ -35,8 +33,6 @@ const WrapperRow: FC = ({ wrapperMeta, wrappers = [], isOpen, isLoading, const { mutateAsync: deleteFDW } = useFDWDeleteMutation() const [isSubmitting, setIsSubmitting] = useState(false) - console.log({ wrappers }) - const onDeleteWrapper = (wrapper: any) => { confirmAlert({ title: `Confirm to disable ${wrapper.name}`, @@ -146,7 +142,7 @@ const WrapperRow: FC = ({ wrapperMeta, wrappers = [], isOpen, isLoading,
- + + +
+ ) } const onUpdateTable = (values: any) => { @@ -105,7 +121,7 @@ const CreateWrapper = () => { } return ( - <> +
{ onSave={onUpdateTable} initialData={selectedTableToEdit} /> - + ) } diff --git a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx index c5ebac4f210..2ba5ba6c170 100644 --- a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx @@ -3,7 +3,16 @@ import { isEmpty } from 'lodash' import { useEffect, useState } from 'react' import { useRouter } from 'next/router' import { observer } from 'mobx-react-lite' -import { Button, Form, Input, IconArrowLeft, IconExternalLink, IconEdit, IconTrash } from 'ui' +import { + Button, + Form, + Input, + IconArrowLeft, + IconExternalLink, + IconEdit, + IconTrash, + IconLoader, +} from 'ui' import { PermissionAction } from '@supabase/shared-types/out/constants' import { VaultSecret } from 'types' @@ -27,6 +36,7 @@ import { FormSection, FormSectionLabel, FormSectionContent, + FormsContainer, } from 'components/ui/Forms' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' @@ -50,6 +60,7 @@ const EditWrapper = () => { const [wrapperTables, setWrapperTables] = useState([]) const [isEditingTable, setIsEditingTable] = useState(false) + const [isSaving, setIsSaving] = useState(false) const [selectedTableToEdit, setSelectedTableToEdit] = useState() const [formErrors, setFormErrors] = useState<{ [k: string]: string }>({}) @@ -71,11 +82,41 @@ const EditWrapper = () => { }, [wrapper?.id]) if (isLoading) { - return + return ( +
+ +
+ ) } if (wrapper === undefined || wrapperMeta === undefined) { - return
Oh no
+ if (isSaving) { + return ( +
+
+ +

Updating wrapper

+
+
+ ) + } else { + return ( +
+
+

Unknown wrapper

+

+ The wrapper ID {id} cannot be found in your project. Head back to select another + wrapper. +

+
+ + + + + +
+ ) + } } const onUpdateTable = (values: any) => { @@ -103,6 +144,7 @@ const EditWrapper = () => { if (wrapperTables.length === 0) errors.tables = 'Please add at least one table' if (!isEmpty(errors)) return setFormErrors(errors) + setIsSaving(true) setSubmitting(true) try { await deleteFDW({ @@ -133,12 +175,13 @@ const EditWrapper = () => { message: `Failed to create ${wrapperMeta.label} foreign data wrapper: ${error.message}`, }) } finally { + setIsSaving(false) setSubmitting(false) } } return ( - <> +
{ onSave={onUpdateTable} initialData={selectedTableToEdit} /> - + ) } diff --git a/studio/pages/project/[ref]/database/wrappers/[id].tsx b/studio/pages/project/[ref]/database/wrappers/[id].tsx index 9d7cd002380..a5abeb5df61 100644 --- a/studio/pages/project/[ref]/database/wrappers/[id].tsx +++ b/studio/pages/project/[ref]/database/wrappers/[id].tsx @@ -5,7 +5,6 @@ import { NextPageWithLayout } from 'types' import { checkPermissions } from 'hooks' import { DatabaseLayout } from 'components/layouts' import NoPermission from 'components/ui/NoPermission' -import { FormsContainer } from 'components/ui/Forms' import { EditWrapper } from 'components/interfaces/Database' const DatabaseWrappersNew: NextPageWithLayout = () => { @@ -17,10 +16,6 @@ const DatabaseWrappersNew: NextPageWithLayout = () => { return } -DatabaseWrappersNew.getLayout = (page) => ( - - {page} - -) +DatabaseWrappersNew.getLayout = (page) => {page} export default observer(DatabaseWrappersNew) diff --git a/studio/pages/project/[ref]/database/wrappers/new.tsx b/studio/pages/project/[ref]/database/wrappers/new.tsx index 7d5987fef99..4db0245131f 100644 --- a/studio/pages/project/[ref]/database/wrappers/new.tsx +++ b/studio/pages/project/[ref]/database/wrappers/new.tsx @@ -5,7 +5,6 @@ import { NextPageWithLayout } from 'types' import { checkPermissions } from 'hooks' import { DatabaseLayout } from 'components/layouts' import NoPermission from 'components/ui/NoPermission' -import { FormsContainer } from 'components/ui/Forms' import { CreateWrapper } from 'components/interfaces/Database' const DatabaseWrappersNew: NextPageWithLayout = () => { @@ -17,10 +16,6 @@ const DatabaseWrappersNew: NextPageWithLayout = () => { return } -DatabaseWrappersNew.getLayout = (page) => ( - - {page} - -) +DatabaseWrappersNew.getLayout = (page) => {page} export default observer(DatabaseWrappersNew) From f6d0ae772047d0c78658a126d0e180ce47688e5e Mon Sep 17 00:00:00 2001 From: Pavel Borisov <63344111+pashkinelfe@users.noreply.github.com> Date: Mon, 9 Jan 2023 16:38:56 +0400 Subject: [PATCH 16/53] Make planetpg rss feed and add selected posts from existing postgres tag to it --- apps/www/_blog/2020-07-09-postgresql-templates.mdx | 1 + .../2020-07-17-postgresql-physical-logical-backups.mdx | 1 + .../_blog/2020-08-02-continuous-postgresql-backup-walg.mdx | 1 + apps/www/_blog/2020-11-18-postgresql-views.mdx | 1 + apps/www/_blog/2021-02-27-cracking-postgres-interview.mdx | 1 + apps/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx | 1 + apps/www/_blog/2021-07-01-roles-postgres-hooks.mdx | 1 + apps/www/_blog/2022-03-08-audit.mdx | 1 + .../2022-06-28-partial-postgresql-data-dumps-with-rls.mdx | 1 + apps/www/_blog/2022-07-18-seen-by-in-postgresql.mdx | 1 + .../_blog/2022-09-08-choosing-a-postgres-primary-key.mdx | 1 + apps/www/_blog/2022-10-03-postgres-wasm.mdx | 1 + .../2022-10-14-postgres-full-text-search-vs-the-rest.mdx | 1 + apps/www/_blog/2022-10-27-postgresql-commitfest.mdx | 1 + .../_blog/2022-11-24-sql-or-nosql-both-with-postgresql.mdx | 1 + ...22-12-01-transparent-column-encryption-with-postgres.mdx | 1 + apps/www/_blog/2022-12-16-new-in-postgres-15.mdx | 1 + apps/www/_blog/2022-12-16-pg-graphql-v1.mdx | 1 + .../_blog/2022-12-16-postgres-point-in-time-recovery.mdx | 1 + apps/www/_blog/2022-12-16-postgrest-11-prerelease.mdx | 1 + apps/www/_blog/2022-12-16-vault-now-in-beta.mdx | 1 + apps/www/pages/blog.tsx | 6 ++++++ 22 files changed, 27 insertions(+) diff --git a/apps/www/_blog/2020-07-09-postgresql-templates.mdx b/apps/www/_blog/2020-07-09-postgresql-templates.mdx index 7550d0a5b3c..e0908248c7f 100644 --- a/apps/www/_blog/2020-07-09-postgresql-templates.mdx +++ b/apps/www/_blog/2020-07-09-postgresql-templates.mdx @@ -8,6 +8,7 @@ author_image_url: https://avatars0.githubusercontent.com/u/26374889?s=400&u=f5e3 authorURL: https://github.com/dragarcia tags: - postgres + - planetpg date: '07-09-2020' --- diff --git a/apps/www/_blog/2020-07-17-postgresql-physical-logical-backups.mdx b/apps/www/_blog/2020-07-17-postgresql-physical-logical-backups.mdx index c6d41b41283..e1a6fc1801e 100644 --- a/apps/www/_blog/2020-07-17-postgresql-physical-logical-backups.mdx +++ b/apps/www/_blog/2020-07-17-postgresql-physical-logical-backups.mdx @@ -8,6 +8,7 @@ author_image_url: https://avatars0.githubusercontent.com/u/26374889?s=400&u=f5e3 authorURL: https://github.com/dragarcia tags: - postgres + - planetpg date: '07-07-2020' --- diff --git a/apps/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx b/apps/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx index de0b4c6e801..5ef8452afd8 100644 --- a/apps/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx +++ b/apps/www/_blog/2020-08-02-continuous-postgresql-backup-walg.mdx @@ -8,6 +8,7 @@ author_image_url: https://avatars0.githubusercontent.com/u/26374889?s=400&u=f5e3 authorURL: https://github.com/dragarcia tags: - postgres + - planetpg date: '08-02-2020' --- diff --git a/apps/www/_blog/2020-11-18-postgresql-views.mdx b/apps/www/_blog/2020-11-18-postgresql-views.mdx index 5237a9c9675..8f20842d9c6 100644 --- a/apps/www/_blog/2020-11-18-postgresql-views.mdx +++ b/apps/www/_blog/2020-11-18-postgresql-views.mdx @@ -9,6 +9,7 @@ authorURL: https://github.com/dragarcia image: postgres-views.png tags: - postgres + - planetpg date: '11-18-2020' --- diff --git a/apps/www/_blog/2021-02-27-cracking-postgres-interview.mdx b/apps/www/_blog/2021-02-27-cracking-postgres-interview.mdx index 8d1f2cf067a..9e83a52bb99 100644 --- a/apps/www/_blog/2021-02-27-cracking-postgres-interview.mdx +++ b/apps/www/_blog/2021-02-27-cracking-postgres-interview.mdx @@ -11,6 +11,7 @@ thumb: elephants.png tags: - sql - postgres + - planetpg date: '02-27-2021' --- diff --git a/apps/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx b/apps/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx index 28adb8d679f..c879a5ca8cb 100644 --- a/apps/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx +++ b/apps/www/_blog/2021-03-05-postgres-as-a-cron-server.mdx @@ -10,6 +10,7 @@ image: supabase-postgres-cron.png thumb: supabase-postgres-cron.png tags: - postgres + - planetpg date: '03-05-2021' --- diff --git a/apps/www/_blog/2021-07-01-roles-postgres-hooks.mdx b/apps/www/_blog/2021-07-01-roles-postgres-hooks.mdx index b81e9211b3c..9c45c3ff78a 100644 --- a/apps/www/_blog/2021-07-01-roles-postgres-hooks.mdx +++ b/apps/www/_blog/2021-07-01-roles-postgres-hooks.mdx @@ -9,6 +9,7 @@ image: postgres-hooks/og-postgres-hooks.jpg thumb: postgres-hooks/cover-postgres-hooks.jpg tags: - postgres + - planetpg date: '2021-07-02' --- diff --git a/apps/www/_blog/2022-03-08-audit.mdx b/apps/www/_blog/2022-03-08-audit.mdx index 88993d48113..f482933101f 100644 --- a/apps/www/_blog/2022-03-08-audit.mdx +++ b/apps/www/_blog/2022-03-08-audit.mdx @@ -9,6 +9,7 @@ image: supa-audit/postgres_auditing_in_150_lines_of_SQL.png thumb: supa-audit/postgres_auditing_in_150_lines_of_SQL.png tags: - postgres + - planetpg date: '2022-03-08' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-06-28-partial-postgresql-data-dumps-with-rls.mdx b/apps/www/_blog/2022-06-28-partial-postgresql-data-dumps-with-rls.mdx index b2f6e508cc1..1ddc4baaf0a 100644 --- a/apps/www/_blog/2022-06-28-partial-postgresql-data-dumps-with-rls.mdx +++ b/apps/www/_blog/2022-06-28-partial-postgresql-data-dumps-with-rls.mdx @@ -7,6 +7,7 @@ thumb: partial-dumps/og-partial-dumps-with-rls.png tags: - postgresql - data + - planetpg date: '2022-06-28' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-07-18-seen-by-in-postgresql.mdx b/apps/www/_blog/2022-07-18-seen-by-in-postgresql.mdx index 36575dff7ba..32414a702a9 100644 --- a/apps/www/_blog/2022-07-18-seen-by-in-postgresql.mdx +++ b/apps/www/_blog/2022-07-18-seen-by-in-postgresql.mdx @@ -6,6 +6,7 @@ image: seen-by/seen-by-postgresql-thumb.png thumb: seen-by/seen-by-postgresql-thumb.png tags: - postgres + - planetpg date: '2022-07-18' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-09-08-choosing-a-postgres-primary-key.mdx b/apps/www/_blog/2022-09-08-choosing-a-postgres-primary-key.mdx index 7b96861b886..497bf573aaf 100644 --- a/apps/www/_blog/2022-09-08-choosing-a-postgres-primary-key.mdx +++ b/apps/www/_blog/2022-09-08-choosing-a-postgres-primary-key.mdx @@ -6,6 +6,7 @@ image: primary-keys/postgres-primary-key.jpg thumb: primary-keys/postgres-primary-key.jpg tags: - postgres + - planetpg date: '2022-09-08' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-10-03-postgres-wasm.mdx b/apps/www/_blog/2022-10-03-postgres-wasm.mdx index 89f2c6947fb..13121a74747 100644 --- a/apps/www/_blog/2022-10-03-postgres-wasm.mdx +++ b/apps/www/_blog/2022-10-03-postgres-wasm.mdx @@ -6,6 +6,7 @@ image: postgres-wasm/postgres-wasm.jpg thumb: postgres-wasm/postgres-wasm.jpg tags: - postgres + - planetpg date: '2022-10-03' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-10-14-postgres-full-text-search-vs-the-rest.mdx b/apps/www/_blog/2022-10-14-postgres-full-text-search-vs-the-rest.mdx index 763143a6c6d..1a587021735 100644 --- a/apps/www/_blog/2022-10-14-postgres-full-text-search-vs-the-rest.mdx +++ b/apps/www/_blog/2022-10-14-postgres-full-text-search-vs-the-rest.mdx @@ -6,6 +6,7 @@ image: postgres-fts-vs-the-rest/postgres-full-text-search.jpg thumb: postgres-fts-vs-the-rest/postgres-full-text-search.jpg tags: - postgres + - planetpg date: '2022-10-14' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-10-27-postgresql-commitfest.mdx b/apps/www/_blog/2022-10-27-postgresql-commitfest.mdx index 0e9a8af3f3f..929650f9591 100644 --- a/apps/www/_blog/2022-10-27-postgresql-commitfest.mdx +++ b/apps/www/_blog/2022-10-27-postgresql-commitfest.mdx @@ -6,6 +6,7 @@ image: what-is-postgres-commitfest/what-is-postgres-commitfest.jpg thumb: what-is-postgres-commitfest/what-is-postgres-commitfest.jpg tags: - postgres + - planetpg date: '2022-10-27' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-11-24-sql-or-nosql-both-with-postgresql.mdx b/apps/www/_blog/2022-11-24-sql-or-nosql-both-with-postgresql.mdx index 5198e23f3df..d36e20d6b0f 100644 --- a/apps/www/_blog/2022-11-24-sql-or-nosql-both-with-postgresql.mdx +++ b/apps/www/_blog/2022-11-24-sql-or-nosql-both-with-postgresql.mdx @@ -6,6 +6,7 @@ image: 2022-11-24-sql-nosql-postgresql/sql-nosql-postgresql.jpg thumb: 2022-11-24-sql-nosql-postgresql/sql-nosql-postgresql.jpg tags: - postgres + - planetpg date: '2022-11-24' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-12-01-transparent-column-encryption-with-postgres.mdx b/apps/www/_blog/2022-12-01-transparent-column-encryption-with-postgres.mdx index 739236e69d8..0759568c18b 100644 --- a/apps/www/_blog/2022-12-01-transparent-column-encryption-with-postgres.mdx +++ b/apps/www/_blog/2022-12-01-transparent-column-encryption-with-postgres.mdx @@ -6,6 +6,7 @@ image: transparent-column-encryption-with-postgres.jpg thumb: transparent-column-encryption-with-postgres.jpg tags: - postgres + - planetpg date: '2022-12-01' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-12-16-new-in-postgres-15.mdx b/apps/www/_blog/2022-12-16-new-in-postgres-15.mdx index 6eb78cee729..dffd813c4e0 100644 --- a/apps/www/_blog/2022-12-16-new-in-postgres-15.mdx +++ b/apps/www/_blog/2022-12-16-new-in-postgres-15.mdx @@ -7,6 +7,7 @@ thumb: lw6-community/pg15.png tags: - postgres - launch-week + - planetpg date: '2022-12-16' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-12-16-pg-graphql-v1.mdx b/apps/www/_blog/2022-12-16-pg-graphql-v1.mdx index d72dcdfd1d4..6104a05411a 100644 --- a/apps/www/_blog/2022-12-16-pg-graphql-v1.mdx +++ b/apps/www/_blog/2022-12-16-pg-graphql-v1.mdx @@ -8,6 +8,7 @@ tags: - graphql - postgres - launch-week + - planetpg date: '2022-12-16' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-12-16-postgres-point-in-time-recovery.mdx b/apps/www/_blog/2022-12-16-postgres-point-in-time-recovery.mdx index 3e9007dbe0b..b53160ee936 100644 --- a/apps/www/_blog/2022-12-16-postgres-point-in-time-recovery.mdx +++ b/apps/www/_blog/2022-12-16-postgres-point-in-time-recovery.mdx @@ -8,6 +8,7 @@ tags: - launch-week - postgres - backups + - planetpg date: '2022-12-16' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-12-16-postgrest-11-prerelease.mdx b/apps/www/_blog/2022-12-16-postgrest-11-prerelease.mdx index 138a576eefc..52a4f18fa44 100644 --- a/apps/www/_blog/2022-12-16-postgrest-11-prerelease.mdx +++ b/apps/www/_blog/2022-12-16-postgrest-11-prerelease.mdx @@ -7,6 +7,7 @@ thumb: lw6-community/postgrest.png tags: - postgres - launch-week + - planetpg date: '2022-12-16' toc_depth: 3 --- diff --git a/apps/www/_blog/2022-12-16-vault-now-in-beta.mdx b/apps/www/_blog/2022-12-16-vault-now-in-beta.mdx index 141e75ed838..37a6397743f 100644 --- a/apps/www/_blog/2022-12-16-vault-now-in-beta.mdx +++ b/apps/www/_blog/2022-12-16-vault-now-in-beta.mdx @@ -8,6 +8,7 @@ tags: - launch-week - postgres - encryption + - planetpg date: '2022-12-16' toc_depth: 3 --- diff --git a/apps/www/pages/blog.tsx b/apps/www/pages/blog.tsx index 3e020c9533b..49eb7c8351f 100644 --- a/apps/www/pages/blog.tsx +++ b/apps/www/pages/blog.tsx @@ -19,11 +19,17 @@ export async function getStaticProps() { const allPostsData = getSortedPosts('_blog', undefined, undefined, '** BLOG PAGE **') const categories = getAllCategories('_blog') const rss = generateRss(allPostsData) + // @ts-ignore + const planetPgPosts = allPostsData.filter((post) => post.tags.includes('planetpg')) + const planetPgrss = generateRss(planetPgPosts) // create a rss feed in public directory // rss feed is added via component in render return fs.writeFileSync('./public/rss.xml', rss) + // create separate feed for just posts promoted in PlanetPG + fs.writeFileSync('./public/planetpg-rss.xml', planetPgrss) + return { props: { blogs: allPostsData, From 689e4fc0ec5526188c673f31c847f57e4cfeea07 Mon Sep 17 00:00:00 2001 From: Riccardo Cucia Date: Mon, 9 Jan 2023 15:38:45 +0100 Subject: [PATCH 17/53] Fixed dart execute() --- .../guides/database/full-text-search.mdx | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/apps/docs/pages/guides/database/full-text-search.mdx b/apps/docs/pages/guides/database/full-text-search.mdx index 51de6e5bdaa..c3fa7beaa92 100644 --- a/apps/docs/pages/guides/database/full-text-search.mdx +++ b/apps/docs/pages/guides/database/full-text-search.mdx @@ -108,8 +108,7 @@ const { data, error } = await supabase.from('books').select().eq('title', 'Harry final result = await client .from('books') .select() - .eq('title', 'Harry') - .execute(); + .eq('title', 'Harry'); ``` @@ -146,8 +145,7 @@ const { data, error } = await supabase.from('books').select().textSearch('title' final result = await client .from('books') .select() - .textSearch('title', "'Harry'") - .execute(); + .textSearch('title', "'Harry'"); ``` @@ -191,8 +189,7 @@ const { data, error } = await supabase.from('books').select().textSearch('descri final result = await client .from('books') .select() - .textSearch('description', "'big'") - .execute(); + .textSearch('description', "'big'"); ``` @@ -278,8 +275,7 @@ const { data, error } = await supabase final result = await client .from('books') .select() - .textSearch('description', "'little' & 'big'") - .execute(); + .textSearch('description', "'little' & 'big'"); ``` @@ -331,8 +327,7 @@ const { data, error } = await supabase final result = await client .from('books') .select() - .textSearch('description', "'little' | 'big'") - .execute(); + .textSearch('description', "'little' | 'big'"); ``` @@ -430,8 +425,7 @@ const { data, error } = await supabase.from('books').select().textSearch('fts', final result = await client .from('books') .select() - .textSearch('fts', "'little' & 'big'") - .execute(); + .textSearch('fts', "'little' & 'big'"); ``` @@ -488,8 +482,7 @@ const { data, error } = await supabase final result = await client .from('books') .select() - .textSearch('description', "'big' <-> 'dreams'") - .execute(); + .textSearch('description', "'big' <-> 'dreams'"); ``` @@ -531,8 +524,7 @@ const { data, error } = await supabase final result = await client .from('books') .select() - .textSearch('description', "'year' <2> 'school'") - .execute(); + .textSearch('description', "'year' <2> 'school'"); ``` @@ -577,8 +569,7 @@ const { data, error } = await supabase final result = await client .from('books') .select() - .textSearch('description', "'big' & !'little'") - .execute(); + .textSearch('description', "'big' & !'little'"); ``` From 85575198e8e0540bcc7a76d7ab9567ba7ca43b8c Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Mon, 9 Jan 2023 11:22:31 -0330 Subject: [PATCH 18/53] Add planetpg rss file --- apps/www/public/rss.xml | 350 ++++++++++++++++++++++------------------ 1 file changed, 196 insertions(+), 154 deletions(-) diff --git a/apps/www/public/rss.xml b/apps/www/public/rss.xml index 215ba2e41d8..2e9e12c7b1b 100644 --- a/apps/www/public/rss.xml +++ b/apps/www/public/rss.xml @@ -5,1036 +5,1078 @@ https://supabase.com Latest news from Supabase en - Thu, 15 Dec 2022 16:04:00 +0000 + Wed, 04 Jan 2023 03:03:30 +0000 + https://supabase.com/blog/supabase-beta-december-2022 + Supabase Beta December 2022 + https://supabase.com/blog/supabase-beta-december-2022 + This month the Beta Update is a Launch Week 6 Special, where we review the cascade of announcements. + Wed, 04 Jan 2023 03:03:30 +0000 + + + https://supabase.com/blog/launch-week-6-hackathon-winners + Launch Week 6 Hackathon Winners + https://supabase.com/blog/launch-week-6-hackathon-winners + Announcing the winners of the Launch Week 6 Hackathon! + Mon, 02 Jan 2023 03:03:30 +0000 + + + https://supabase.com/blog/vault-now-in-beta + Supabase Vault is now in Beta + https://supabase.com/blog/vault-now-in-beta + A Postgres extension to store encrypted secrets and encrypt data. + Thu, 15 Dec 2022 03:03:30 +0000 + + https://supabase.com/blog/postgrest-11-prerelease PostgREST 11 pre-release https://supabase.com/blog/postgrest-11-prerelease Describes new features of PostgREST 11 pre-release - Thu, 15 Dec 2022 16:04:00 +0000 + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/postgres-point-in-time-recovery + Point in Time Recovery is now available for Pro projects + https://supabase.com/blog/postgres-point-in-time-recovery + We're making PITR available for more projects, with a new Dashboard UI that makes it simple to use. + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/pg-graphql-v1 + pg_graphql v1.0 + https://supabase.com/blog/pg-graphql-v1 + Announcing the v1.0 release of pg_graphql + Thu, 15 Dec 2022 03:03:30 +0000 https://supabase.com/blog/new-in-postgres-15 What's new in Postgres 15? https://supabase.com/blog/new-in-postgres-15 Describes the release of Postgres 15, new features and reasons to use it - Thu, 15 Dec 2022 16:04:00 +0000 + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/launch-week-6-wrap-up + Launch Week 6: Wrap Up + https://supabase.com/blog/launch-week-6-wrap-up + That's a wrap on Supabase Launch Week Day 6. Here's everything we shipped in one long blog post. + Thu, 15 Dec 2022 03:03:30 +0000 https://supabase.com/blog/launch-week-6-community-day Community Day https://supabase.com/blog/launch-week-6-community-day Wrapping up Launch Week 6 with contributors, partners, and friends. - Thu, 15 Dec 2022 16:04:00 +0000 + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/custom-domain-names + Custom Domain Names + https://supabase.com/blog/custom-domain-names + Change your Supabase project's domain name to your own domain. + Thu, 15 Dec 2022 03:03:30 +0000 https://supabase.com/blog/postgres-foreign-data-wrappers-rust Supabase Wrappers, a Postgres FDW framework written in Rust https://supabase.com/blog/postgres-foreign-data-wrappers-rust A framework for building Postgres Foreign Data Wrappers which connects to Stripe, Firebase, Clickhouse, and more. - Wed, 14 Dec 2022 16:04:00 +0000 + Wed, 14 Dec 2022 03:03:30 +0000 https://supabase.com/blog/mfa-auth-via-rls Multi-factor Authentication via Row Level Security Enforcement https://supabase.com/blog/mfa-auth-via-rls MFA Auth with enforcement via RLS - Tue, 13 Dec 2022 16:04:00 +0000 - - - https://supabase.com/blog/mfa-auth-via-rls - Multi-factor Authentication via Row Level Security Enforcement - https://supabase.com/blog/mfa-auth-via-rls - MFA Auth with enforcement via RLS - Tue, 13 Dec 2022 23:11:00 +0000 + Tue, 13 Dec 2022 03:03:30 +0000 https://supabase.com/blog/storage-image-resizing-smart-cdn Supabase Storage v2: Image resizing and Smart CDN https://supabase.com/blog/storage-image-resizing-smart-cdn We're introducing new features for Supabase Storage: Image resizing and a Smart CDN. - Mon, 12 Dec 2022 05:05:00 +0000 + Mon, 12 Dec 2022 03:03:30 +0000 https://supabase.com/blog/new-supabase-docs-built-with-nextjs New Supabase Docs, built with Next.js https://supabase.com/blog/new-supabase-docs-built-with-nextjs We've redesigned our Docs and migrated to Next.js - Sun, 11 Dec 2022 16:04:00 +0000 + Sun, 11 Dec 2022 03:03:30 +0000 https://supabase.com/blog/postgres-crdt pg_crdt - an experimental CRDT extension for Postgres https://supabase.com/blog/postgres-crdt Embedding Yjs and Automerge into Postgres for collaborative applications. - Fri, 09 Dec 2022 05:05:00 +0000 + Fri, 09 Dec 2022 03:03:30 +0000 https://supabase.com/blog/who-we-hire Who We Hire at Supabase https://supabase.com/blog/who-we-hire Traits we look for to maintain a culture of shipping fast and often - Thu, 08 Dec 2022 05:05:00 +0000 + Thu, 08 Dec 2022 03:03:30 +0000 https://supabase.com/blog/launch-week-6-hackathon Launch Week 6 Hackathon https://supabase.com/blog/launch-week-6-hackathon Build an Open Source Project, Win $1500 and the Supabase Darkmode Keyboard - Thu, 08 Dec 2022 05:05:00 +0000 + Thu, 08 Dec 2022 03:03:30 +0000 https://supabase.com/blog/supabase-beta-november-2022 Supabase Beta November 2022 https://supabase.com/blog/supabase-beta-november-2022 We are preparing everything for Launch Week 6, but we still had time to ship some goodies this month! - Tue, 06 Dec 2022 05:05:00 +0000 + Tue, 06 Dec 2022 03:03:30 +0000 https://supabase.com/blog/the-supabase-content-storm The Supabase Content Storm https://supabase.com/blog/the-supabase-content-storm We worked with +30 content creators to drop a mountain of content simultaneously. - Mon, 05 Dec 2022 05:05:00 +0000 + Mon, 05 Dec 2022 03:03:30 +0000 https://supabase.com/blog/transparent-column-encryption-with-postgres Transparent Column Encryption with Postgres https://supabase.com/blog/transparent-column-encryption-with-postgres Using pgsodium's Transparent Column Encryption to encrypt data and provide your users with row-level encryption. - Wed, 30 Nov 2022 05:05:00 +0000 + Wed, 30 Nov 2022 03:03:30 +0000 https://supabase.com/blog/sql-or-nosql-both-with-postgresql SQL or NoSQL? Why not use both (with PostgreSQL)? https://supabase.com/blog/sql-or-nosql-both-with-postgresql How to turn Postgres into an easy-to-use NoSQL database that retains all the power of SQL - Wed, 23 Nov 2022 05:05:00 +0000 + Wed, 23 Nov 2022 03:03:30 +0000 https://supabase.com/blog/flutter-authentication-and-authorization-with-rls Flutter Authentication and Authorization with RLS https://supabase.com/blog/flutter-authentication-and-authorization-with-rls Learn how you can secure your Flutter app using Supabase Row Level Security. - Mon, 21 Nov 2022 05:05:00 +0000 + Mon, 21 Nov 2022 03:03:30 +0000 https://supabase.com/blog/fetching-and-caching-supabase-data-in-next-js-server-components Fetching and caching Supabase data in Next.js 13 Server Components https://supabase.com/blog/fetching-and-caching-supabase-data-in-next-js-server-components Next.js 13 introduces new data fetching and caching methods to enable React Server Components and Suspense. - Wed, 16 Nov 2022 05:05:00 +0000 + Wed, 16 Nov 2022 03:03:30 +0000 https://supabase.com/blog/authentication-in-ionic-angular Authentication in Ionic Angular with Supabase https://supabase.com/blog/authentication-in-ionic-angular Learn how to build an Ionic Angular app with authentication, Row Level Security, and Magic Link auth. - Mon, 07 Nov 2022 05:05:00 +0000 + Mon, 07 Nov 2022 03:03:30 +0000 https://supabase.com/blog/supabase-beta-update-october-2022 Supabase Beta October 2022 https://supabase.com/blog/supabase-beta-update-october-2022 New SDKs, quickstarts, Functions tricks, and more. But, more importantly, Launch Week 6️ has a date! - Tue, 01 Nov 2022 04:04:00 +0000 + Tue, 01 Nov 2022 02:02:30 +0000 https://supabase.com/blog/postgresql-commitfest What is PostgreSQL commitfest and how to contribute https://supabase.com/blog/postgresql-commitfest A time-tested method for contributing to the core Postgres code - Wed, 26 Oct 2022 04:04:00 +0000 + Wed, 26 Oct 2022 02:02:30 +0000 https://supabase.com/blog/supabase-flutter-sdk-v1-released supabase-flutter v1 Released https://supabase.com/blog/supabase-flutter-sdk-v1-released We've released supabase-flutter v1. More intuitive way of accessing Supabase from your Flutter application. - Thu, 20 Oct 2022 04:04:00 +0000 + Thu, 20 Oct 2022 02:02:30 +0000 https://supabase.com/blog/supabase-js-v2-released supabase-js v2 Released https://supabase.com/blog/supabase-js-v2-released We've released supabase-js v2. Updated examples, quickstarts, and an improved experience. - Wed, 19 Oct 2022 04:04:00 +0000 + Wed, 19 Oct 2022 02:02:30 +0000 https://supabase.com/blog/postgres-full-text-search-vs-the-rest Postgres Full Text Search vs the rest https://supabase.com/blog/postgres-full-text-search-vs-the-rest Comparing one of the most popular Postgres features against alternatives - Thu, 13 Oct 2022 04:04:00 +0000 + Thu, 13 Oct 2022 02:02:30 +0000 https://supabase.com/blog/supabase-beta-update-september-2022 Supabase Beta September 2022 https://supabase.com/blog/supabase-beta-update-september-2022 We were too focused on clearing out the backlog so we didn't ship anything new last month... or did we?! - Tue, 04 Oct 2022 04:04:00 +0000 + Tue, 04 Oct 2022 02:02:30 +0000 https://supabase.com/blog/postgres-wasm Postgres WASM by Snaplet and Supabase https://supabase.com/blog/postgres-wasm We're open sourcing postgres-wasm, a PostgresQL server that runs inside a browser, with our friends at Snaplet. - Sun, 02 Oct 2022 04:04:00 +0000 + Sun, 02 Oct 2022 02:02:30 +0000 https://supabase.com/blog/choosing-a-postgres-primary-key Choosing a Postgres Primary Key https://supabase.com/blog/choosing-a-postgres-primary-key Turns out the question of which identifier to use as a Primary Key is complicated -- we're going to dive into some of the complexity and inherent trade-offs, and figure things out - Wed, 07 Sep 2022 04:04:00 +0000 + Wed, 07 Sep 2022 02:02:30 +0000 https://supabase.com/blog/supabase-beta-update-august-2022 Supabase Beta August 2022 https://supabase.com/blog/supabase-beta-update-august-2022 Launch Week Special. See everything we shipped, plus winners of the Hackathon and the extended Community Highlights - Tue, 06 Sep 2022 04:04:00 +0000 + Tue, 06 Sep 2022 02:02:30 +0000 https://supabase.com/blog/launch-week-5-hackathon-winners Launch Week 5 Hackathon Winners https://supabase.com/blog/launch-week-5-hackathon-winners Announcing the winners of the Launch Week 5 Hackathon! - Wed, 24 Aug 2022 04:04:00 +0000 + Wed, 24 Aug 2022 02:02:30 +0000 https://supabase.com/blog/building-a-realtime-trello-board-with-supabase-and-angular Building a Realtime Trello Board with Supabase and Angular https://supabase.com/blog/building-a-realtime-trello-board-with-supabase-and-angular Go beyond the hello world example with this real world project. - Tue, 23 Aug 2022 04:04:00 +0000 + Tue, 23 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-vault Supabase Vault https://supabase.com/blog/supabase-vault Today we're announcing Vault, a Postgres extension for managing secrets and encryption inside your database. - Thu, 18 Aug 2022 04:04:00 +0000 + Thu, 18 Aug 2022 02:02:30 +0000 https://supabase.com/blog/postgrest-v10 PostgREST v10: EXPLAIN and Improved Relationship Detection https://supabase.com/blog/postgrest-v10 Today, PostgREST 10 was released. Let's take a look at some of the new features that go hand in hand with supabase-js v2. - Thu, 18 Aug 2022 04:04:00 +0000 + Thu, 18 Aug 2022 02:02:30 +0000 https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation pg_jsonschema: JSON Schema support for Postgres https://supabase.com/blog/pg-jsonschema-a-postgres-extension-for-json-validation Today we're releasing pg_jsonschema, a Postgres extension for JSON validation. - Thu, 18 Aug 2022 04:04:00 +0000 + Thu, 18 Aug 2022 02:02:30 +0000 https://supabase.com/blog/launch-week-5-one-more-thing One more thing https://supabase.com/blog/launch-week-5-one-more-thing Let's be honest, it's never just one more thing. - Thu, 18 Aug 2022 04:04:00 +0000 + Thu, 18 Aug 2022 02:02:30 +0000 https://supabase.com/blog/launch-week-5-community-day Community Day https://supabase.com/blog/launch-week-5-community-day Wrapping up Launch Week 5 with contributors, partners, and friends. - Thu, 18 Aug 2022 04:04:00 +0000 + Thu, 18 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-realtime-multiplayer-general-availability Realtime: Multiplayer Edition https://supabase.com/blog/supabase-realtime-multiplayer-general-availability Announcing the general availability of Realtime's Broadcast and Presence. - Wed, 17 Aug 2022 04:04:00 +0000 + Wed, 17 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-soc2 Supabase is SOC2 compliant https://supabase.com/blog/supabase-soc2 Supabase is now SOC2 compliant. Learn how we got here and what it means for our customers. - Tue, 16 Aug 2022 04:04:00 +0000 + Tue, 16 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-js-v2 supabase-js v2 https://supabase.com/blog/supabase-js-v2 A look at supabase-js v2, which brings type support and focuses on quality-of-life improvements for developers. - Mon, 15 Aug 2022 04:04:00 +0000 + Mon, 15 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta Supabase CLI v1 and Management API Beta https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta We are moving Supabase CLI v1 out of beta, and releasing Management API beta. - Sun, 14 Aug 2022 04:04:00 +0000 + Sun, 14 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-series-b Supabase Series B https://supabase.com/blog/supabase-series-b Supabase raised $80M in May, bringing our total funding to $116M. - Thu, 11 Aug 2022 04:04:00 +0000 + Thu, 11 Aug 2022 02:02:30 +0000 https://supabase.com/blog/launch-week-5-hackathon Launch Week 5 Hackathon https://supabase.com/blog/launch-week-5-hackathon Build to win $1500 - Friday 12th to Monday 21st August 2022 - Tue, 09 Aug 2022 04:04:00 +0000 + Tue, 09 Aug 2022 02:02:30 +0000 https://supabase.com/blog/slack-consolidate-slackbot-to-consolidate-messages Slack Consolidate: a slackbot built with Python and Supabase https://supabase.com/blog/slack-consolidate-slackbot-to-consolidate-messages A slackbot to consolidate messages from different channels using Supabase, Slack SDK and Python - Mon, 08 Aug 2022 04:04:00 +0000 + Mon, 08 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-beta-update-july-2022 Supabase Beta July 2022 https://supabase.com/blog/supabase-beta-update-july-2022 Launch Week Golden Tickets, Flutter SDK 1.0 Developer Preview and more... - Tue, 02 Aug 2022 04:04:00 +0000 + Tue, 02 Aug 2022 02:02:30 +0000 https://supabase.com/blog/supabase-flutter-sdk-1-developer-preview Supabase Flutter SDK 1.0 Developer Preview https://supabase.com/blog/supabase-flutter-sdk-1-developer-preview Supabase Flutter SDK is getting a major update and we need your help making it better. - Mon, 01 Aug 2022 04:04:00 +0000 + Mon, 01 Aug 2022 02:02:30 +0000 https://supabase.com/blog/seen-by-in-postgresql Implementing "seen by" functionality with Postgres https://supabase.com/blog/seen-by-in-postgresql Different approaches for tracking visitor counts with PostgreSQL. - Sun, 17 Jul 2022 04:04:00 +0000 + Sun, 17 Jul 2022 02:02:30 +0000 https://supabase.com/blog/supabase-auth-helpers-with-sveltekit-support Revamped Auth Helpers for Supabase (with SvelteKit support) https://supabase.com/blog/supabase-auth-helpers-with-sveltekit-support Supabase Auth Helpers now have improved developer experience, Sveltekit support, and more. - Tue, 12 Jul 2022 04:04:00 +0000 + Tue, 12 Jul 2022 02:02:30 +0000 https://supabase.com/blog/beta-update-june-2022 Supabase Beta June 2022 https://supabase.com/blog/beta-update-june-2022 Auth Helpers, Unlimited Free Projects, CLI and more... - Tue, 05 Jul 2022 04:04:00 +0000 + Tue, 05 Jul 2022 02:02:30 +0000 https://supabase.com/blog/flutter-tutorial-building-a-chat-app Flutter Tutorial: building a Flutter chat app https://supabase.com/blog/flutter-tutorial-building-a-chat-app Learn how to build a Flutter chat app with open source and scalable backend (inc. auth, realtime, database, and more). - Wed, 29 Jun 2022 04:04:00 +0000 + Wed, 29 Jun 2022 02:02:30 +0000 https://supabase.com/blog/visualizing-supabase-data-using-metabase Visualizing Supabase Data using Metabase https://supabase.com/blog/visualizing-supabase-data-using-metabase How to create different kinds of charts out of data stored in Supabase using Metabase. - Tue, 28 Jun 2022 04:04:00 +0000 + Tue, 28 Jun 2022 02:02:30 +0000 https://supabase.com/blog/partial-postgresql-data-dumps-with-rls Partial data dumps using Postgres Row Level Security https://supabase.com/blog/partial-postgresql-data-dumps-with-rls Using RLS to create seed files for local PostgreSQL testing. - Mon, 27 Jun 2022 04:04:00 +0000 + Mon, 27 Jun 2022 02:02:30 +0000 https://supabase.com/blog/loading-data-supabase-python Python data loading with Supabase https://supabase.com/blog/loading-data-supabase-python An example of how to load data into Supabase using supabase-py - Thu, 16 Jun 2022 04:04:00 +0000 + Thu, 16 Jun 2022 02:02:30 +0000 https://supabase.com/blog/beta-update-may-2022 Supabase Beta May 2022 https://supabase.com/blog/beta-update-may-2022 Product and community updates including wildcard auth redirects, edge functions with webhooks, and Prometheus endpoints for everybody. - Tue, 31 May 2022 04:04:00 +0000 + Tue, 31 May 2022 02:02:30 +0000 https://supabase.com/blog/how-supabase-accelerates-development-of-all-pull-together How Mike Lyndon is using Supabase to accelerate development of AllPullTogether https://supabase.com/blog/how-supabase-accelerates-development-of-all-pull-together Mike Lyndon is learning web development as he builds AllPullTogether, and Supabase is helping him accelerate what he can accomplish. - Wed, 25 May 2022 04:04:00 +0000 + Wed, 25 May 2022 02:02:30 +0000 https://supabase.com/blog/partner-gallery-works-with-supabase Works With Supabase - announcing our Partner Gallery https://supabase.com/blog/partner-gallery-works-with-supabase Introducing our Partner Gallery - open source and made with Supabase. - Tue, 19 Apr 2022 04:04:00 +0000 + Tue, 19 Apr 2022 02:02:30 +0000 https://supabase.com/blog/bring-the-func-hackathon-winners Bring the Func Hackathon Winners 2022 https://supabase.com/blog/bring-the-func-hackathon-winners Celebrating many amazing OSS Hackathon projects using GraphQL and Edge Functions. - Sun, 17 Apr 2022 04:04:00 +0000 + Sun, 17 Apr 2022 02:02:30 +0000 https://supabase.com/blog/beta-update-march-2022 Supabase Beta March 2022 https://supabase.com/blog/beta-update-march-2022 Functions, GraphQL, and much more. - Thu, 14 Apr 2022 04:04:00 +0000 + Thu, 14 Apr 2022 02:02:30 +0000 https://supabase.com/blog/supabrew Supabrew - Never Code Thirsty https://supabase.com/blog/supabrew A light and refreshing non-alcoholic beer for devs. - Fri, 01 Apr 2022 04:04:00 +0000 + Fri, 01 Apr 2022 02:02:30 +0000 https://supabase.com/blog/supabase-realtime-with-multiplayer-features Supabase Realtime, with Multiplayer Features https://supabase.com/blog/supabase-realtime-with-multiplayer-features Today we're announced Realtime, with multiplayer features. Realtime enables broadcast, presence, and listening to database changes delivered over WebSockets. - Fri, 01 Apr 2022 04:04:00 +0000 + Fri, 01 Apr 2022 02:02:30 +0000 https://supabase.com/blog/hackathon-bring-the-func Hackathon: Bring the Func(🕺) https://supabase.com/blog/hackathon-bring-the-func Build open-source projects with our latest features, win limited edition swag and plant a tree! - Fri, 01 Apr 2022 04:04:00 +0000 + Fri, 01 Apr 2022 02:02:30 +0000 https://supabase.com/blog/supabase-edge-functions Edge Functions are now available in Supabase https://supabase.com/blog/supabase-edge-functions Today we're launching Edge Functions. Edge Functions let you execute Typescript code close to your users, no matter where they're located. - Wed, 30 Mar 2022 04:04:00 +0000 + Wed, 30 Mar 2022 02:02:30 +0000 https://supabase.com/blog/supabase-enterprise Introducing Supabase Enterprise https://supabase.com/blog/supabase-enterprise Today we are releasing Supabase Enterprise, a suite of features to scale your project. - Tue, 29 Mar 2022 04:04:00 +0000 + Tue, 29 Mar 2022 02:02:30 +0000 https://supabase.com/blog/graphql-now-available GraphQL is now available in Supabase https://supabase.com/blog/graphql-now-available GraphQL support is now in general availability on the Supabase platform via our open source PostgreSQL extension, pg_graphql (beta). - Mon, 28 Mar 2022 04:04:00 +0000 + Mon, 28 Mar 2022 02:02:30 +0000 https://supabase.com/blog/community-day-lw4 Community Day https://supabase.com/blog/community-day-lw4 Kicking off Launch Week 4 with contributors, partners, and friends. - Sun, 27 Mar 2022 04:04:00 +0000 + Sun, 27 Mar 2022 02:02:30 +0000 https://supabase.com/blog/supabase-launch-week-four Supabase Launch Week 4 https://supabase.com/blog/supabase-launch-week-four Launch Week 4: One new feature every day for an entire week. Starting Monday 28th March. - Thu, 24 Mar 2022 04:04:00 +0000 + Thu, 24 Mar 2022 02:02:30 +0000 https://supabase.com/blog/should-i-open-source-my-company Should I Open Source my Company? https://supabase.com/blog/should-i-open-source-my-company The unexpected upsides of building in public - Thu, 24 Mar 2022 04:04:00 +0000 + Thu, 24 Mar 2022 02:02:30 +0000 https://supabase.com/blog/audit Postgres Auditing in 150 lines of SQL https://supabase.com/blog/audit PostgreSQL has a robust set of features which we can leverage to create a generic auditing solution in 150 lines of SQL. - Mon, 07 Mar 2022 05:05:00 +0000 + Mon, 07 Mar 2022 03:03:30 +0000 https://supabase.com/blog/supabase-beta-january-2022 Supabase Beta January 2022 https://supabase.com/blog/supabase-beta-january-2022 New auth providers, SMS providers, and new videos. - Mon, 21 Feb 2022 05:05:00 +0000 + Mon, 21 Feb 2022 03:03:30 +0000 https://supabase.com/blog/supabase-beta-december-2021 Supabase Beta December 2021 https://supabase.com/blog/supabase-beta-december-2021 New crypto extension, Postgres videos, and a bunch of cool integrations. - Wed, 19 Jan 2022 05:05:00 +0000 + Wed, 19 Jan 2022 03:03:30 +0000 https://supabase.com/blog/product-hunt-golden-kitty-awards-2021 Golden Kitty Awards Ceremony Watch Party with Supabase https://supabase.com/blog/product-hunt-golden-kitty-awards-2021 Hang out with us while watching the Product Hunt Golden Kitty Awards Ceremony - Wed, 19 Jan 2022 05:05:00 +0000 + Wed, 19 Jan 2022 03:03:30 +0000 https://supabase.com/blog/holiday-hackdays-winners-2021 Holiday Hackdays Winners 2021 https://supabase.com/blog/holiday-hackdays-winners-2021 Celebrating many amazing projects submitted to our Holiday Hackdays Hackathon. - Thu, 16 Dec 2021 05:05:00 +0000 + Thu, 16 Dec 2021 03:03:30 +0000 https://supabase.com/blog/beta-november-2021-launch-week-recap Supabase Beta November 2021: Launch Week Recap https://supabase.com/blog/beta-november-2021-launch-week-recap We wrapped up November with Supabase's third Launch Week. Here's all the awesome stuff that got shipped ... - Tue, 14 Dec 2021 05:05:00 +0000 + Tue, 14 Dec 2021 03:03:30 +0000 https://supabase.com/blog/supabase-holiday-hackdays-hackathon Kicking off the Holiday Hackdays https://supabase.com/blog/supabase-holiday-hackdays-hackathon Build cool stuff and celebrate open-source software with us during the Holiday Hackdays! - Thu, 02 Dec 2021 05:05:00 +0000 + Thu, 02 Dec 2021 03:03:30 +0000 https://supabase.com/blog/pg-graphql pg_graphql: A GraphQL extension for PostgreSQL https://supabase.com/blog/pg-graphql GraphQL support is in development for PostgreSQL + Supabase. - Thu, 02 Dec 2021 05:05:00 +0000 + Thu, 02 Dec 2021 03:03:30 +0000 https://supabase.com/blog/launch-week-three-friday-five-more-things Five more things https://supabase.com/blog/launch-week-three-friday-five-more-things It's never just one more thing! - Thu, 02 Dec 2021 05:05:00 +0000 + Thu, 02 Dec 2021 03:03:30 +0000 https://supabase.com/blog/supabase-acquires-logflare Supabase acquires Logflare https://supabase.com/blog/supabase-acquires-logflare Today, we're ecstatic to announce that Logflare is joining Supabase. - Wed, 01 Dec 2021 05:05:00 +0000 + Wed, 01 Dec 2021 03:03:30 +0000 https://supabase.com/blog/realtime-row-level-security-in-postgresql Realtime Postgres RLS now available on Supabase https://supabase.com/blog/realtime-row-level-security-in-postgresql Realtime database changes are now broadcast to authenticated users, respecting the same PostgreSQL policies that you use for Row Level Security. - Tue, 30 Nov 2021 05:05:00 +0000 + Tue, 30 Nov 2021 03:03:30 +0000 https://supabase.com/blog/supabase-studio Supabase Studio https://supabase.com/blog/supabase-studio The same Dashboard that you're using on our Platform is now available for local development and Self-Hosting. - Mon, 29 Nov 2021 05:05:00 +0000 + Mon, 29 Nov 2021 03:03:30 +0000 https://supabase.com/blog/community-day-lw3 Community Day https://supabase.com/blog/community-day-lw3 Kicking off launch week by highlighting the communities around Supabase. - Sun, 28 Nov 2021 05:05:00 +0000 + Sun, 28 Nov 2021 03:03:30 +0000 https://supabase.com/blog/whats-new-in-postgres-14 New in PostgreSQL 14: What every developer should know https://supabase.com/blog/whats-new-in-postgres-14 A quick look at some new features and functionality in PostgreSQL 14. - Sat, 27 Nov 2021 05:05:00 +0000 + Sat, 27 Nov 2021 03:03:30 +0000 https://supabase.com/blog/postgrest-9 PostgREST 9 https://supabase.com/blog/postgrest-9 New features and updates in PostgREST version 9. - Fri, 26 Nov 2021 05:05:00 +0000 + Fri, 26 Nov 2021 03:03:30 +0000 https://supabase.com/blog/supabase-launch-week-the-trilogy Supabase Launch Week III: Holiday Special https://supabase.com/blog/supabase-launch-week-the-trilogy Tis the season to be shipping. - Thu, 25 Nov 2021 05:05:00 +0000 + Thu, 25 Nov 2021 03:03:30 +0000 https://supabase.com/blog/supabase-how-we-launch How we launch at Supabase https://supabase.com/blog/supabase-how-we-launch The history and methodology of Supabase Launch Week. - Thu, 25 Nov 2021 05:05:00 +0000 + Thu, 25 Nov 2021 03:03:30 +0000 https://supabase.com/blog/supabase-beta-october-2021 Supabase Beta October 2021 https://supabase.com/blog/supabase-beta-october-2021 Three new Auth providers, multi-schema support, and we're gearing up for another Launch Week. - Sat, 06 Nov 2021 04:04:00 +0000 + Sat, 06 Nov 2021 02:02:30 +0000 https://supabase.com/blog/supabase-series-a Supabase $30m Series A https://supabase.com/blog/supabase-series-a Supabase just raised $30M, bringing our total funding to $36M. - Wed, 27 Oct 2021 04:04:00 +0000 + Wed, 27 Oct 2021 02:02:30 +0000 https://supabase.com/blog/replenysh-time-to-value-in-less-than-24-hours Replenysh uses Supabase to implement OTP in less than 24-hours https://supabase.com/blog/replenysh-time-to-value-in-less-than-24-hours Learn how Replenysh uses Supabase to power the circular economy, redefining how brands interact with their customers and products. - Mon, 18 Oct 2021 04:04:00 +0000 + Mon, 18 Oct 2021 02:02:30 +0000 https://supabase.com/blog/hacktoberfest-hackathon-winners-2021 Hacktoberfest Hackathon Winners 2021 https://supabase.com/blog/hacktoberfest-hackathon-winners-2021 Celebrating many amazing projects submitted to our Hacktoberfest Hackathon. - Wed, 13 Oct 2021 04:04:00 +0000 + Wed, 13 Oct 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-sept-2021 Supabase Beta Sept 2021 https://supabase.com/blog/supabase-beta-sept-2021 Hackathon, Aborting request, UI updates, and now Hiring. - Sun, 03 Oct 2021 04:04:00 +0000 + Sun, 03 Oct 2021 02:02:30 +0000 https://supabase.com/blog/supabase-hacktoberfest-hackathon-2021 Supabase Hacktoberfest Hackathon 2021 https://supabase.com/blog/supabase-hacktoberfest-hackathon-2021 We're running another Supabase Hackathon during Hacktoberfest! - Mon, 27 Sep 2021 04:04:00 +0000 + Mon, 27 Sep 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-august-2021 Supabase Beta August 2021 https://supabase.com/blog/supabase-beta-august-2021 Fundraising, Realtime Security, custom SMS templates, and deployments in South Korea. - Thu, 09 Sep 2021 04:04:00 +0000 + Thu, 09 Sep 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-july-2021 Supabase Beta July 2021 https://supabase.com/blog/supabase-beta-july-2021 Discord Logins, Vercel Integration, Full text search, and OAuth guides. - Wed, 11 Aug 2021 04:04:00 +0000 + Wed, 11 Aug 2021 02:02:30 +0000 https://supabase.com/blog/hackathon-winners Open Source Hackathon Winners https://supabase.com/blog/hackathon-winners Let the medal ceremony begin for the best projects submitted during the Supabase Hackathon. - Sun, 08 Aug 2021 04:04:00 +0000 + Sun, 08 Aug 2021 02:02:30 +0000 https://supabase.com/blog/supabase-swag-store Supabase Swag Store https://supabase.com/blog/supabase-swag-store Today we are officially launching the Supabase Swag Store. - Thu, 29 Jul 2021 04:04:00 +0000 + Thu, 29 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-functions-updates Updates for Supabase Functions https://supabase.com/blog/supabase-functions-updates The question on everyone's mind - are we launching Supabase Functions? Well, it's complicated. - Thu, 29 Jul 2021 04:04:00 +0000 + Thu, 29 Jul 2021 02:02:30 +0000 https://supabase.com/blog/1-the-supabase-hackathon The Supabase Hackathon https://supabase.com/blog/1-the-supabase-hackathon A whole week of Hacking for Fun and Prizes. - Thu, 29 Jul 2021 04:04:00 +0000 + Thu, 29 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-reports-and-metrics Supabase Reports and Metrics https://supabase.com/blog/supabase-reports-and-metrics We're exposing a full set of metrics in your projects, so that you can build better (and faster) products for your users. - Wed, 28 Jul 2021 04:04:00 +0000 + Wed, 28 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-auth-passwordless-sms-login Supabase Auth v2: Phone Auth now available https://supabase.com/blog/supabase-auth-passwordless-sms-login Phone Auth is available today on all new and existing Supabase projects. - Tue, 27 Jul 2021 04:04:00 +0000 + Tue, 27 Jul 2021 02:02:30 +0000 https://supabase.com/blog/mobbin-supabase-200000-users Mobbin uses Supabase to authenticate 200,000 users https://supabase.com/blog/mobbin-supabase-200000-users Learn how Mobbin migrated 200,000 users from Firebase for a better authentication experience. - Tue, 27 Jul 2021 04:04:00 +0000 + Tue, 27 Jul 2021 02:02:30 +0000 https://supabase.com/blog/storage-beta Supabase Storage now in Beta https://supabase.com/blog/storage-beta Supabase Storage moves into Beta. - Mon, 26 Jul 2021 04:04:00 +0000 + Mon, 26 Jul 2021 02:02:30 +0000 https://supabase.com/blog/spot-flutter-with-postgres Spot: a video sharing app built with Flutter https://supabase.com/blog/spot-flutter-with-postgres Spot is a geolocation-based video-sharing app with some social networking features. - Mon, 26 Jul 2021 04:04:00 +0000 + Mon, 26 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-postgres-13 Supabase is now on Postgres 13.3 https://supabase.com/blog/supabase-postgres-13 From today, new Supabase projects will be on a version of Supabase Postgres that runs on Postgres 13.3. - Sun, 25 Jul 2021 04:04:00 +0000 + Sun, 25 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-community-day Supabase Community Day https://supabase.com/blog/supabase-community-day Community Day - Sun, 25 Jul 2021 04:04:00 +0000 + Sun, 25 Jul 2021 02:02:30 +0000 https://supabase.com/blog/epsilon3-self-hosting Epsilon3 Self-Host Supabase To Revolutionize Space Operations https://supabase.com/blog/epsilon3-self-hosting Learn how the team at Epsilon3 use Supabase to help teams execute secure and reliable operations in an industry that project spend runs into the billions. - Sun, 25 Jul 2021 04:04:00 +0000 + Sun, 25 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-launch-week-sql Supabase Launch Week II: The SQL https://supabase.com/blog/supabase-launch-week-sql Five days of Supabase. Again. - Wed, 21 Jul 2021 04:04:00 +0000 + Wed, 21 Jul 2021 02:02:30 +0000 https://supabase.com/blog/roles-postgres-hooks Protecting reserved roles with PostgreSQL Hooks https://supabase.com/blog/roles-postgres-hooks Using Postgres Hooks to protect functionality in your Postgres database. - Thu, 01 Jul 2021 04:04:00 +0000 + Thu, 01 Jul 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-june-2021 Supabase Beta June 2021 https://supabase.com/blog/supabase-beta-june-2021 Discord Logins, Vercel Integration, Full text search, and OAuth guides. - Tue, 01 Jun 2021 04:04:00 +0000 + Tue, 01 Jun 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-may-2021 Supabase Beta May 2021 https://supabase.com/blog/supabase-beta-may-2021 Apple & Twitter Logins, Supabase Grid, Go & Swift Libraries. - Tue, 01 Jun 2021 04:04:00 +0000 + Tue, 01 Jun 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-april-2021 Supabase Beta April 2021 https://supabase.com/blog/supabase-beta-april-2021 Supabase "gardening" - stability, security, and community support. - Tue, 04 May 2021 04:04:00 +0000 + Tue, 04 May 2021 02:02:30 +0000 https://supabase.com/blog/supabase-beta-march-2021 Supabase Beta March 2021 https://supabase.com/blog/supabase-beta-march-2021 Launch week, Storage, Supabase CLI, Connection Pooling, Supabase UI, and Pricing. - Mon, 05 Apr 2021 04:04:00 +0000 + Mon, 05 Apr 2021 02:02:30 +0000 https://supabase.com/blog/supabase-workflows Workflows are coming to Supabase https://supabase.com/blog/supabase-workflows Functions are great, but you know what's better? - Thu, 01 Apr 2021 04:04:00 +0000 + Thu, 01 Apr 2021 02:02:30 +0000 https://supabase.com/blog/supabase-pgbouncer PgBouncer is now available in Supabase https://supabase.com/blog/supabase-pgbouncer Better support for Serverless and Postgres. - Thu, 01 Apr 2021 04:04:00 +0000 + Thu, 01 Apr 2021 02:02:30 +0000 https://supabase.com/blog/supabase-dot-com Supabase Dot Com https://supabase.com/blog/supabase-dot-com The Supabase Domain name is changing. - Thu, 01 Apr 2021 04:04:00 +0000 + Thu, 01 Apr 2021 02:02:30 +0000 https://supabase.com/blog/supabase-nft-marketplace Supabase Launches NFT Marketplace https://supabase.com/blog/supabase-nft-marketplace A fully encrypted NFT platform to protect and transact your digital assets - Thu, 01 Apr 2021 04:04:00 +0000 + Thu, 01 Apr 2021 02:02:30 +0000 https://supabase.com/blog/supabase-cli Supabase CLI https://supabase.com/blog/supabase-cli Local development, database migrations, and self-hosting. - Wed, 31 Mar 2021 04:04:00 +0000 + Wed, 31 Mar 2021 02:02:30 +0000 https://supabase.com/blog/supabase-storage Storage is now available in Supabase https://supabase.com/blog/supabase-storage Launching Supabase Storage and how you can use it in your apps - Tue, 30 Mar 2021 04:04:00 +0000 + Tue, 30 Mar 2021 02:02:30 +0000 https://supabase.com/blog/pricing Supabase Beta Pricing https://supabase.com/blog/pricing Supabase launches Beta pricing structure - Mon, 29 Mar 2021 04:04:00 +0000 + Mon, 29 Mar 2021 02:02:30 +0000 https://supabase.com/blog/launch-week Launch week https://supabase.com/blog/launch-week Five days of Supabase. - Wed, 24 Mar 2021 04:04:00 +0000 + Wed, 24 Mar 2021 02:02:30 +0000 https://supabase.com/blog/angels-of-supabase Angels of Supabase https://supabase.com/blog/angels-of-supabase Meet the investors of Supabase. - Wed, 24 Mar 2021 04:04:00 +0000 + Wed, 24 Mar 2021 02:02:30 +0000 https://supabase.com/blog/In-The-Loop Developers stay up to date with intheloop.dev https://supabase.com/blog/In-The-Loop Learn why Kevin is building intheloop.dev with Supabase - Mon, 22 Mar 2021 04:04:00 +0000 + Mon, 22 Mar 2021 02:02:30 +0000 https://supabase.com/blog/using-supabase-replit Using Supabase in Replit https://supabase.com/blog/using-supabase-replit Free hosted relational database from within your node.js repl - Thu, 11 Mar 2021 05:05:00 +0000 + Thu, 11 Mar 2021 03:03:30 +0000 https://supabase.com/blog/toad-a-link-shortener-with-simple-apis-for-low-coders Toad, a link shortener with simple APIs for low-coders https://supabase.com/blog/toad-a-link-shortener-with-simple-apis-for-low-coders An easy-to-use link shortening tool with simple APIs - Mon, 08 Mar 2021 05:05:00 +0000 + Mon, 08 Mar 2021 03:03:30 +0000 https://supabase.com/blog/postgres-as-a-cron-server Postgres as a CRON Server https://supabase.com/blog/postgres-as-a-cron-server Running repetitive tasks with your Postgres database. - Fri, 05 Mar 2021 05:05:00 +0000 + Fri, 05 Mar 2021 03:03:30 +0000 https://supabase.com/blog/supabase-beta-february-2021 Supabase Beta February 2021 https://supabase.com/blog/supabase-beta-february-2021 One year of building. - Tue, 02 Mar 2021 05:05:00 +0000 + Tue, 02 Mar 2021 03:03:30 +0000 https://supabase.com/blog/cracking-postgres-interview Cracking PostgreSQL Interview Questions https://supabase.com/blog/cracking-postgres-interview Understand the top PostgreSQL Interview Questions - Sat, 27 Feb 2021 05:05:00 +0000 + Sat, 27 Feb 2021 03:03:30 +0000 https://supabase.com/blog/case-study-roboflow Roboflow.com choose Supabase to power Paint.wtf leaderboard https://supabase.com/blog/case-study-roboflow Learn how Roboflow.com used Supabase to build their Paint.wtf leaderboard - Tue, 09 Feb 2021 05:05:00 +0000 + Tue, 09 Feb 2021 03:03:30 +0000 https://supabase.com/blog/supabase-beta-january-2021 Supabase Beta January 2021 https://supabase.com/blog/supabase-beta-january-2021 Eleven months of building. - Tue, 02 Feb 2021 05:05:00 +0000 + Tue, 02 Feb 2021 03:03:30 +0000 https://supabase.com/blog/supabase-beta-december-2020 Supabase Beta December 2020 https://supabase.com/blog/supabase-beta-december-2020 Ten months of building. - Sat, 02 Jan 2021 05:05:00 +0000 + Sat, 02 Jan 2021 03:03:30 +0000 https://supabase.com/blog/supabase-dashboard-performance Making the Supabase Dashboard Supa-fast https://supabase.com/blog/supabase-dashboard-performance Improving the performance of the Supabase dashboard - Sun, 13 Dec 2020 05:05:00 +0000 + Sun, 13 Dec 2020 03:03:30 +0000 https://supabase.com/blog/supabase-striveschool Supabase Partners With Strive School To Help Teach Open Source https://supabase.com/blog/supabase-striveschool Supabase Partners With Strive School To Help Teach Open Source To The Next Generation Of Developers - Wed, 02 Dec 2020 05:05:00 +0000 + Wed, 02 Dec 2020 03:03:30 +0000 https://supabase.com/blog/case-study-xendit Xendit Built a Counter-Fraud Watchlist for the Fintech Industry https://supabase.com/blog/case-study-xendit See how Xendit use Supabase to build a full-text search engine. - Wed, 02 Dec 2020 05:05:00 +0000 + Wed, 02 Dec 2020 03:03:30 +0000 https://supabase.com/blog/case-study-tayfa TAYFA Built a No-Code Website Builder in Seven Days https://supabase.com/blog/case-study-tayfa See how Tayfa went from idea to paying customer in less than 30 days. - Wed, 02 Dec 2020 05:05:00 +0000 + Wed, 02 Dec 2020 03:03:30 +0000 https://supabase.com/blog/case-study-monitoro Monitoro Built a Web Crawler Handling Millions of API Requests https://supabase.com/blog/case-study-monitoro See how Monitoro built an automated scraping platform using Supabase. - Wed, 02 Dec 2020 05:05:00 +0000 + Wed, 02 Dec 2020 03:03:30 +0000 https://supabase.com/blog/supabase-alpha-november-2020 Supabase Alpha November 2020 https://supabase.com/blog/supabase-alpha-november-2020 Nine months of building. - Tue, 01 Dec 2020 05:05:00 +0000 + Tue, 01 Dec 2020 03:03:30 +0000 https://supabase.com/blog/postgresql-views Postgres Views https://supabase.com/blog/postgresql-views Creating and using a view in PostgreSQL. - Wed, 18 Nov 2020 05:05:00 +0000 + Wed, 18 Nov 2020 03:03:30 +0000 https://supabase.com/blog/supabase-alpha-october-2020 Supabase Alpha October 2020 https://supabase.com/blog/supabase-alpha-october-2020 Eight months of building. - Mon, 02 Nov 2020 05:05:00 +0000 + Mon, 02 Nov 2020 03:03:30 +0000 https://supabase.com/blog/improved-dx Supabase.js 1.0 https://supabase.com/blog/improved-dx We're releasing a new version of our Supabase client with some awesome new improvements. - Fri, 30 Oct 2020 04:04:00 +0000 + Fri, 30 Oct 2020 02:02:30 +0000 https://supabase.com/blog/supabase-alpha-september-2020 Supabase Alpha September 2020 https://supabase.com/blog/supabase-alpha-september-2020 Seven months of building. - Sat, 03 Oct 2020 04:04:00 +0000 + Sat, 03 Oct 2020 02:02:30 +0000 https://supabase.com/blog/supabase-hacktoberfest-2020 Supabase Hacktoberfest 2020 https://supabase.com/blog/supabase-hacktoberfest-2020 Join us for a celebration of open source software and learn how to contribute to Supabase. - Fri, 11 Sep 2020 04:04:00 +0000 + Fri, 11 Sep 2020 02:02:30 +0000 https://supabase.com/blog/supabase-alpha-august-2020 Supabase Alpha August 2020 https://supabase.com/blog/supabase-alpha-august-2020 Six months of building - Thu, 03 Sep 2020 04:04:00 +0000 + Thu, 03 Sep 2020 02:02:30 +0000 https://supabase.com/blog/supabase-auth Supabase Auth https://supabase.com/blog/supabase-auth Authenticate and authorize your users with Supabase Auth - Wed, 05 Aug 2020 04:04:00 +0000 + Wed, 05 Aug 2020 02:02:30 +0000 https://supabase.com/blog/supabase-alpha-july-2020 Supabase Alpha July 2020 https://supabase.com/blog/supabase-alpha-july-2020 Five months of building - Sun, 02 Aug 2020 04:04:00 +0000 + Sun, 02 Aug 2020 02:02:30 +0000 https://supabase.com/blog/continuous-postgresql-backup-walg Continuous PostgreSQL Backups using WAL-G https://supabase.com/blog/continuous-postgresql-backup-walg Have you ever wanted to restore your database's state to a particular moment in time? This post explains how, using WAL-G. - Sun, 02 Aug 2020 04:04:00 +0000 + Sun, 02 Aug 2020 02:02:30 +0000 https://supabase.com/blog/alpha-launch-postmortem Alpha Launch Postmortem https://supabase.com/blog/alpha-launch-postmortem Everything that went wrong with Supabase's launch - Fri, 10 Jul 2020 04:04:00 +0000 + Fri, 10 Jul 2020 02:02:30 +0000 https://supabase.com/blog/postgresql-templates What are PostgreSQL Templates? https://supabase.com/blog/postgresql-templates What are PostgreSQL templates and what are they used for? - Thu, 09 Jul 2020 04:04:00 +0000 + Thu, 09 Jul 2020 02:02:30 +0000 https://supabase.com/blog/postgresql-physical-logical-backups Physical vs Logical Backups in PostgreSQL https://supabase.com/blog/postgresql-physical-logical-backups What are physical and logical backups in Postgres? - Tue, 07 Jul 2020 04:04:00 +0000 + Tue, 07 Jul 2020 02:02:30 +0000 https://supabase.com/blog/supabase-alpha-june-2020 Supabase Alpha June 2020 https://supabase.com/blog/supabase-alpha-june-2020 Four months of building - Wed, 01 Jul 2020 04:04:00 +0000 + Wed, 01 Jul 2020 02:02:30 +0000 https://supabase.com/blog/supabase-steve-chavez Steve Chavez has joined Supabase https://supabase.com/blog/supabase-steve-chavez Steve joins Supabase to help build Auth. - Mon, 15 Jun 2020 04:04:00 +0000 + Mon, 15 Jun 2020 02:02:30 +0000 https://supabase.com/blog/supabase-alpha-may-2020 Supabase Alpha May 2020 https://supabase.com/blog/supabase-alpha-may-2020 Three months of building - Mon, 01 Jun 2020 04:04:00 +0000 + Mon, 01 Jun 2020 02:02:30 +0000 https://supabase.com/blog/supabase-alpha-april-2020 Supabase Alpha April 2020 https://supabase.com/blog/supabase-alpha-april-2020 Two months of building - Mon, 01 Jun 2020 04:04:00 +0000 + Mon, 01 Jun 2020 02:02:30 +0000 From e5959facca3f8b4d949234db067a6e766ba3b9b1 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Mon, 9 Jan 2023 11:22:56 -0330 Subject: [PATCH 19/53] Add planetpg rss file,again --- apps/www/public/planetpg-rss.xml | 159 +++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 apps/www/public/planetpg-rss.xml diff --git a/apps/www/public/planetpg-rss.xml b/apps/www/public/planetpg-rss.xml new file mode 100644 index 00000000000..9a980d87cea --- /dev/null +++ b/apps/www/public/planetpg-rss.xml @@ -0,0 +1,159 @@ + + + + Blog - Supabase + https://supabase.com + Latest news from Supabase + en + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/vault-now-in-beta + Supabase Vault is now in Beta + https://supabase.com/blog/vault-now-in-beta + A Postgres extension to store encrypted secrets and encrypt data. + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/postgrest-11-prerelease + PostgREST 11 pre-release + https://supabase.com/blog/postgrest-11-prerelease + Describes new features of PostgREST 11 pre-release + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/postgres-point-in-time-recovery + Point in Time Recovery is now available for Pro projects + https://supabase.com/blog/postgres-point-in-time-recovery + We're making PITR available for more projects, with a new Dashboard UI that makes it simple to use. + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/pg-graphql-v1 + pg_graphql v1.0 + https://supabase.com/blog/pg-graphql-v1 + Announcing the v1.0 release of pg_graphql + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/new-in-postgres-15 + What's new in Postgres 15? + https://supabase.com/blog/new-in-postgres-15 + Describes the release of Postgres 15, new features and reasons to use it + Thu, 15 Dec 2022 03:03:30 +0000 + + + https://supabase.com/blog/transparent-column-encryption-with-postgres + Transparent Column Encryption with Postgres + https://supabase.com/blog/transparent-column-encryption-with-postgres + Using pgsodium's Transparent Column Encryption to encrypt data and provide your users with row-level encryption. + Wed, 30 Nov 2022 03:03:30 +0000 + + + https://supabase.com/blog/sql-or-nosql-both-with-postgresql + SQL or NoSQL? Why not use both (with PostgreSQL)? + https://supabase.com/blog/sql-or-nosql-both-with-postgresql + How to turn Postgres into an easy-to-use NoSQL database that retains all the power of SQL + Wed, 23 Nov 2022 03:03:30 +0000 + + + https://supabase.com/blog/postgresql-commitfest + What is PostgreSQL commitfest and how to contribute + https://supabase.com/blog/postgresql-commitfest + A time-tested method for contributing to the core Postgres code + Wed, 26 Oct 2022 02:02:30 +0000 + + + https://supabase.com/blog/postgres-full-text-search-vs-the-rest + Postgres Full Text Search vs the rest + https://supabase.com/blog/postgres-full-text-search-vs-the-rest + Comparing one of the most popular Postgres features against alternatives + Thu, 13 Oct 2022 02:02:30 +0000 + + + https://supabase.com/blog/postgres-wasm + Postgres WASM by Snaplet and Supabase + https://supabase.com/blog/postgres-wasm + We're open sourcing postgres-wasm, a PostgresQL server that runs inside a browser, with our friends at Snaplet. + Sun, 02 Oct 2022 02:02:30 +0000 + + + https://supabase.com/blog/choosing-a-postgres-primary-key + Choosing a Postgres Primary Key + https://supabase.com/blog/choosing-a-postgres-primary-key + Turns out the question of which identifier to use as a Primary Key is complicated -- we're going to dive into some of the complexity and inherent trade-offs, and figure things out + Wed, 07 Sep 2022 02:02:30 +0000 + + + https://supabase.com/blog/seen-by-in-postgresql + Implementing "seen by" functionality with Postgres + https://supabase.com/blog/seen-by-in-postgresql + Different approaches for tracking visitor counts with PostgreSQL. + Sun, 17 Jul 2022 02:02:30 +0000 + + + https://supabase.com/blog/partial-postgresql-data-dumps-with-rls + Partial data dumps using Postgres Row Level Security + https://supabase.com/blog/partial-postgresql-data-dumps-with-rls + Using RLS to create seed files for local PostgreSQL testing. + Mon, 27 Jun 2022 02:02:30 +0000 + + + https://supabase.com/blog/audit + Postgres Auditing in 150 lines of SQL + https://supabase.com/blog/audit + PostgreSQL has a robust set of features which we can leverage to create a generic auditing solution in 150 lines of SQL. + Mon, 07 Mar 2022 03:03:30 +0000 + + + https://supabase.com/blog/roles-postgres-hooks + Protecting reserved roles with PostgreSQL Hooks + https://supabase.com/blog/roles-postgres-hooks + Using Postgres Hooks to protect functionality in your Postgres database. + Thu, 01 Jul 2021 02:02:30 +0000 + + + https://supabase.com/blog/postgres-as-a-cron-server + Postgres as a CRON Server + https://supabase.com/blog/postgres-as-a-cron-server + Running repetitive tasks with your Postgres database. + Fri, 05 Mar 2021 03:03:30 +0000 + + + https://supabase.com/blog/cracking-postgres-interview + Cracking PostgreSQL Interview Questions + https://supabase.com/blog/cracking-postgres-interview + Understand the top PostgreSQL Interview Questions + Sat, 27 Feb 2021 03:03:30 +0000 + + + https://supabase.com/blog/postgresql-views + Postgres Views + https://supabase.com/blog/postgresql-views + Creating and using a view in PostgreSQL. + Wed, 18 Nov 2020 03:03:30 +0000 + + + https://supabase.com/blog/continuous-postgresql-backup-walg + Continuous PostgreSQL Backups using WAL-G + https://supabase.com/blog/continuous-postgresql-backup-walg + Have you ever wanted to restore your database's state to a particular moment in time? This post explains how, using WAL-G. + Sun, 02 Aug 2020 02:02:30 +0000 + + + https://supabase.com/blog/postgresql-templates + What are PostgreSQL Templates? + https://supabase.com/blog/postgresql-templates + What are PostgreSQL templates and what are they used for? + Thu, 09 Jul 2020 02:02:30 +0000 + + + https://supabase.com/blog/postgresql-physical-logical-backups + Physical vs Logical Backups in PostgreSQL + https://supabase.com/blog/postgresql-physical-logical-backups + What are physical and logical backups in Postgres? + Tue, 07 Jul 2020 02:02:30 +0000 + + + + From 8d4717814bdac7f7c502e0d5df911f89df9e5802 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Mon, 9 Jan 2023 12:35:59 -0330 Subject: [PATCH 20/53] You get a type, and you get a type, and you get a type --- .../reference/CLICommandSection.tsx | 2 +- .../reference/RefFunctionSection.tsx | 18 +- .../reference/RefSectionHandler.tsx | 17 +- .../components/reference/Reference.types.ts | 109 +++++++ apps/docs/lib/refGenerator/helpers.ts | 9 + apps/docs/pages/reference/api/[...slug].tsx | 1 + apps/docs/pages/reference/dart/[...slug].tsx | 2 +- .../reference/dart/crawlers/[...slug].tsx | 1 + .../pages/reference/dart/v0/[...slug].tsx | 2 +- .../reference/dart/v0/crawlers/[...slug].tsx | 1 + .../pages/reference/javascript/[...slug].tsx | 10 +- .../javascript/crawlers/[...slug].tsx | 1 + .../reference/javascript/v1/[...slug].tsx | 10 +- .../javascript/v1/crawlers/[...slug].tsx | 1 + .../reference/self-hosting-auth/[...slug].tsx | 2 +- .../self-hosting-realtime/[...slug].tsx | 2 +- .../self-hosting-storage/[...slug].tsx | 2 +- apps/docs/public/sitemap.xml | 300 ++++++++++-------- 18 files changed, 330 insertions(+), 160 deletions(-) create mode 100644 apps/docs/components/reference/Reference.types.ts diff --git a/apps/docs/components/reference/CLICommandSection.tsx b/apps/docs/components/reference/CLICommandSection.tsx index 9f685157482..f7e86190b4e 100644 --- a/apps/docs/components/reference/CLICommandSection.tsx +++ b/apps/docs/components/reference/CLICommandSection.tsx @@ -16,7 +16,7 @@ interface ICommonFunc { } interface IRefFunctionSection { - funcData: any + funcData: ICommonFunc commonFuncData: ICommonFunc spec: any } diff --git a/apps/docs/components/reference/RefFunctionSection.tsx b/apps/docs/components/reference/RefFunctionSection.tsx index 5cdacd0d458..14f74a45c44 100644 --- a/apps/docs/components/reference/RefFunctionSection.tsx +++ b/apps/docs/components/reference/RefFunctionSection.tsx @@ -10,22 +10,7 @@ import { extractTsDocNode, generateParameters } from '~/lib/refGenerator/helpers import RefDetailCollapse from '~/components/reference/RefDetailCollapse' import { Fragment } from 'react' - -interface ICommonFunc { - id: string - title: string - slug: string - product: string - libs: string - items: ICommonFunc[] -} - -interface IRefFunctionSection { - funcData: any - commonFuncData: ICommonFunc - spec: any - typeSpec?: any -} +import { IRefFunctionSection } from './Reference.types' const RefFunctionSection: React.FC = (props) => { const item = props.spec.functions.find((x: any) => x.id === props.funcData.id) @@ -204,7 +189,6 @@ const RefFunctionSection: React.FC = (props) => { )} - { +const RefSectionHandler = (props: RefSectionHandlerProps) => { + console.log('props', props) const router = useRouter() const slug = router.query.slug[0] diff --git a/apps/docs/components/reference/Reference.types.ts b/apps/docs/components/reference/Reference.types.ts new file mode 100644 index 00000000000..663f633ebd2 --- /dev/null +++ b/apps/docs/components/reference/Reference.types.ts @@ -0,0 +1,109 @@ +import { enrichedOperation } from '~/lib/refGenerator/helpers' + +export interface ISpec { + openref: any + info: { + id: string + title: string + description: string + definition: string + libraries: any + slugPrefix: string + specUrl: string + } + functions: IFunctionDefinition[] +} + +export interface IAPISpec { + info: { + title: string + description?: string + version: string + contact?: {} + } + operations: enrichedOperation[] + sections: any +} + +export interface IFunctionDefinition { + title: string + id: string + $ref: string + description: string + examples?: [] +} + +export interface ICommonFunc { + id: string + title: string + slug: string + product: string + type: string + parent?: string + items: ICommonFunc[] +} + +export interface IRefFunctionSection { + funcData: any + commonFuncData: ICommonFunc + spec: any + typeSpec?: TypeSpec +} + +export interface IRefStaticDoc { + id: string + title: string + meta: { + id: string + title: string + hideTitle: boolean + } + content: { + compiledSource: string + frontmatter: {} + scope: {} + } +} + +export type TypeSpec = { + name: string + children: TypeSpecChild[] +} + +export type TypeSpecChild = { + id: number + name: string + kind: number + kindString?: string + flags?: {} + originalName?: string + children?: TypeSpecChild[] + defaultValue?: string + default?: any + groups?: any + sources?: any + target?: any + comment?: TypeSpecChildComment + typeParameter?: any + implementedTypes?: any + extendedTypes?: any + dereferenced?: TypeSpecChildComment + extendedBy?: any + indexSignature?: any + extendsType?: any + objectType?: any + trueType?: any + falseType?: any + type?: any + signatures?: any + overwrites?: any + inheritedFrom?: any + implementationOf?: any +} + +export interface TypeSpecChildComment { + shortText?: string + text?: string | null + returns?: string | null + tags?: any +} diff --git a/apps/docs/lib/refGenerator/helpers.ts b/apps/docs/lib/refGenerator/helpers.ts index 9c14a80167f..251a101add0 100644 --- a/apps/docs/lib/refGenerator/helpers.ts +++ b/apps/docs/lib/refGenerator/helpers.ts @@ -23,6 +23,9 @@ export function extractTsDocNode(nodeToFind: string, definition: any) { } export function generateParameters(tsDefinition: any) { + if (!tsDefinition.signatures) { + console.log('tsDefinition', tsDefinition.signatures) + } let functionDeclaration = null if (tsDefinition.kindString == 'Method') { functionDeclaration = tsDefinition @@ -218,6 +221,12 @@ export type enrichedOperation = OpenAPIV3.OperationObject & { operationId: string operation: string responseList: [] + description?: string + parameters?: [] + responses?: {} + security?: [] + summary?: string + tags?: [] } export function gen_v3(spec: OpenAPIV3.Document, dest: string, { apiUrl }: { apiUrl: string }) { diff --git a/apps/docs/pages/reference/api/[...slug].tsx b/apps/docs/pages/reference/api/[...slug].tsx index 382c882a190..859c3af9e0b 100644 --- a/apps/docs/pages/reference/api/[...slug].tsx +++ b/apps/docs/pages/reference/api/[...slug].tsx @@ -12,6 +12,7 @@ const generatedSpec = gen_v3(specFile, 'wat', { apiUrl: 'apiv0' }) const sections = flattenSections(apiCommonSections) export default function Config(props) { + console.log('generatedSpec', generatedSpec) return } diff --git a/apps/docs/pages/reference/dart/[...slug].tsx b/apps/docs/pages/reference/dart/[...slug].tsx index 735ae57f35f..f35f74c6120 100644 --- a/apps/docs/pages/reference/dart/[...slug].tsx +++ b/apps/docs/pages/reference/dart/[...slug].tsx @@ -9,7 +9,7 @@ import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps' const sections = flattenSections(clientLibsCommonSections) export default function JSReference(props) { - return + return } export async function getStaticProps() { diff --git a/apps/docs/pages/reference/dart/crawlers/[...slug].tsx b/apps/docs/pages/reference/dart/crawlers/[...slug].tsx index 0b62b1ca55b..036933a1682 100644 --- a/apps/docs/pages/reference/dart/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/dart/crawlers/[...slug].tsx @@ -29,6 +29,7 @@ export default function JSReference(props) { spec={spec} typeSpec={typeSpec} pageProps={props} + type="client-lib" /> ) diff --git a/apps/docs/pages/reference/dart/v0/[...slug].tsx b/apps/docs/pages/reference/dart/v0/[...slug].tsx index 9a74ea2583d..4b6a485d9c6 100644 --- a/apps/docs/pages/reference/dart/v0/[...slug].tsx +++ b/apps/docs/pages/reference/dart/v0/[...slug].tsx @@ -9,7 +9,7 @@ import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps' const sections = flattenSections(clientLibsCommonSections) export default function JSReference(props) { - return + return } export async function getStaticProps() { diff --git a/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx b/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx index 18d7c8cac37..8539659431d 100644 --- a/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/dart/v0/crawlers/[...slug].tsx @@ -28,6 +28,7 @@ export default function JSReference(props) { spec={spec} typeSpec={typeSpec} pageProps={props} + type="client-lib" /> ) diff --git a/apps/docs/pages/reference/javascript/[...slug].tsx b/apps/docs/pages/reference/javascript/[...slug].tsx index 31e44d594aa..3cbbcc08694 100644 --- a/apps/docs/pages/reference/javascript/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/[...slug].tsx @@ -10,7 +10,15 @@ import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps' const sections = flattenSections(clientLibsCommonSections) export default function JSReference(props) { - return + return ( + + ) } export async function getStaticProps() { diff --git a/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx b/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx index feebcf6998e..67c72c5151c 100644 --- a/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/crawlers/[...slug].tsx @@ -29,6 +29,7 @@ export default function JSReference(props) { spec={spec} typeSpec={typeSpec} pageProps={props} + type="client-lib" /> ) diff --git a/apps/docs/pages/reference/javascript/v1/[...slug].tsx b/apps/docs/pages/reference/javascript/v1/[...slug].tsx index 1eeb40044f1..4dd32c156ca 100644 --- a/apps/docs/pages/reference/javascript/v1/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/v1/[...slug].tsx @@ -10,7 +10,15 @@ import handleRefStaticProps from '~/lib/mdx/handleRefStaticProps' const sections = flattenSections(clientLibsCommonSections) export default function JSReference(props) { - return + return ( + + ) } export async function getStaticProps() { diff --git a/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx b/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx index 3f59baad46e..18c498125ef 100644 --- a/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx +++ b/apps/docs/pages/reference/javascript/v1/crawlers/[...slug].tsx @@ -28,6 +28,7 @@ export default function JSReference(props) { spec={spec} typeSpec={typeSpec} pageProps={props} + type="client-lib" /> ) diff --git a/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx b/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx index 64c91fb4f5e..c7b2382af16 100644 --- a/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx +++ b/apps/docs/pages/reference/self-hosting-auth/[...slug].tsx @@ -12,7 +12,7 @@ const sections = flattenSections(selfHostingAuthCommonSections) const spec = gen_v3(authSpec, 'wat', { apiUrl: 'apiv0' }) export default function JSReference(props) { - return + return } export async function getStaticProps() { diff --git a/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx b/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx index beb4f192715..49e91894a06 100644 --- a/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx +++ b/apps/docs/pages/reference/self-hosting-realtime/[...slug].tsx @@ -9,7 +9,7 @@ import { gen_v3 } from '~/lib/refGenerator/helpers' const sections = flattenSections(selfHostingRealtimeCommonSections) export default function JSReference(props) { - return + return } export async function getStaticProps() { diff --git a/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx b/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx index ea76596b3f8..1b4b99fb9c8 100644 --- a/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx +++ b/apps/docs/pages/reference/self-hosting-storage/[...slug].tsx @@ -12,7 +12,7 @@ const sections = flattenSections(selfHostingStorageCommonSections) const spec = gen_v3(storageSpec, 'wat', { apiUrl: 'apiv0' }) export default function JSReference(props) { - return + return } export async function getStaticProps() { diff --git a/apps/docs/public/sitemap.xml b/apps/docs/public/sitemap.xml index 38b0e06220a..2e86001d252 100644 --- a/apps/docs/public/sitemap.xml +++ b/apps/docs/public/sitemap.xml @@ -78,6 +78,12 @@ 0.5 + + https://supabase.com/docs/guides/self-hosting + weekly + 0.5 + + https://supabase.com/docs/guides/storage weekly @@ -126,6 +132,78 @@ 0.5 + + https://supabase.com/docs/guides/auth/auth-captcha + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/auth-email-templates + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/auth-email + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/auth-helpers + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/auth-magic-link + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/auth-mfa + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/managing-user-data + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/overview + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/phone-login + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/row-level-security + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/server-side-rendering + weekly + 0.5 + + + + https://supabase.com/docs/guides/auth/social-login + weekly + 0.5 + + https://supabase.com/docs/guides/database/arrays weekly @@ -216,78 +294,6 @@ 0.5 - - https://supabase.com/docs/guides/auth/auth-captcha - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/auth-email-templates - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/auth-email - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/auth-helpers - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/auth-magic-link - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/auth-mfa - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/managing-user-data - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/overview - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/phone-login - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/row-level-security - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/server-side-rendering - weekly - 0.5 - - - - https://supabase.com/docs/guides/auth/social-login - weekly - 0.5 - - https://supabase.com/docs/guides/functions/auth weekly @@ -570,12 +576,6 @@ 0.5 - - https://supabase.com/docs/guides/resources/self-hosting - weekly - 0.5 - - https://supabase.com/docs/guides/resources/supabase-cli weekly @@ -612,6 +612,12 @@ 0.5 + + https://supabase.com/docs/guides/self-hosting/docker + weekly + 0.5 + + https://supabase.com/docs/learn/auth-deep-dive/auth-deep-dive-jwts weekly @@ -642,42 +648,6 @@ 0.5 - - https://supabase.com/docs/guides/database/extensions/http - weekly - 0.5 - - - - https://supabase.com/docs/guides/database/extensions/pgcron - weekly - 0.5 - - - - https://supabase.com/docs/guides/database/extensions/pgnet - weekly - 0.5 - - - - https://supabase.com/docs/guides/database/extensions/pgtap - weekly - 0.5 - - - - https://supabase.com/docs/guides/database/extensions/plv8 - weekly - 0.5 - - - - https://supabase.com/docs/guides/database/extensions/uuid-ossp - weekly - 0.5 - - https://supabase.com/docs/guides/auth/auth-helpers/auth-ui weekly @@ -829,25 +799,43 @@ - https://supabase.com/docs/guides/functions/examples/og-image + https://supabase.com/docs/guides/database/extensions/http weekly 0.5 - https://supabase.com/docs/guides/getting-started/quickstarts/nextjs + https://supabase.com/docs/guides/database/extensions/pgcron weekly 0.5 - https://supabase.com/docs/guides/getting-started/quickstarts/nuxtjs + https://supabase.com/docs/guides/database/extensions/pgnet weekly 0.5 - https://supabase.com/docs/guides/getting-started/quickstarts/reactjs + https://supabase.com/docs/guides/database/extensions/pgtap + weekly + 0.5 + + + + https://supabase.com/docs/guides/database/extensions/plv8 + weekly + 0.5 + + + + https://supabase.com/docs/guides/database/extensions/postgis + weekly + 0.5 + + + + https://supabase.com/docs/guides/database/extensions/uuid-ossp weekly 0.5 @@ -936,6 +924,30 @@ 0.5 + + https://supabase.com/docs/guides/functions/examples/og-image + weekly + 0.5 + + + + https://supabase.com/docs/guides/getting-started/quickstarts/nextjs + weekly + 0.5 + + + + https://supabase.com/docs/guides/getting-started/quickstarts/nuxtjs + weekly + 0.5 + + + + https://supabase.com/docs/guides/getting-started/quickstarts/reactjs + weekly + 0.5 + + https://supabase.com/docs/guides/platform/sso/azure weekly @@ -954,6 +966,24 @@ 0.5 + + https://supabase.com/docs/guides/resources/supabase-cli/local-development + weekly + 0.5 + + + + https://supabase.com/docs/guides/resources/supabase-cli/managing-environments + weekly + 0.5 + + + + https://supabase.com/docs/guides/self-hosting/auth/config + weekly + 0.5 + + https://supabase.com/docs/guides/resources/migrating-to-supabase/firebase-auth weekly @@ -979,19 +1009,13 @@ - https://supabase.com/docs/guides/resources/self-hosting/docker + https://supabase.com/docs/guides/self-hosting/realtime/config weekly 0.5 - https://supabase.com/docs/guides/resources/supabase-cli/local-development - weekly - 0.5 - - - - https://supabase.com/docs/guides/resources/supabase-cli/managing-environments + https://supabase.com/docs/guides/self-hosting/storage/config weekly 0.5 @@ -3326,6 +3350,24 @@ 0.5 + + https://supabase.com/docs/reference/cli/supabase-network-bans + weekly + 0.5 + + + + https://supabase.com/docs/reference/cli/supabase-network-bans-remove + weekly + 0.5 + + + + https://supabase.com/docs/reference/cli/supabase-network-bans-get + weekly + 0.5 + + https://supabase.com/docs/reference/cli/supabase-migration weekly @@ -3488,6 +3530,12 @@ 0.5 + + https://supabase.com/docs/reference/cli/supabase-db-dump + weekly + 0.5 + + https://supabase.com/docs/reference/cli/supabase-db-diff weekly From fce82b0bdfaa00c8dcf509dd0dba6e2747e797c7 Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Mon, 9 Jan 2023 12:40:40 -0330 Subject: [PATCH 21/53] Cleanup --- apps/docs/components/reference/RefSectionHandler.tsx | 1 - apps/docs/lib/refGenerator/helpers.ts | 3 --- apps/docs/pages/reference/api/[...slug].tsx | 1 - 3 files changed, 5 deletions(-) diff --git a/apps/docs/components/reference/RefSectionHandler.tsx b/apps/docs/components/reference/RefSectionHandler.tsx index 70024788999..76f1e0cc3e1 100644 --- a/apps/docs/components/reference/RefSectionHandler.tsx +++ b/apps/docs/components/reference/RefSectionHandler.tsx @@ -18,7 +18,6 @@ interface RefSectionHandlerProps { } const RefSectionHandler = (props: RefSectionHandlerProps) => { - console.log('props', props) const router = useRouter() const slug = router.query.slug[0] diff --git a/apps/docs/lib/refGenerator/helpers.ts b/apps/docs/lib/refGenerator/helpers.ts index 251a101add0..83864fa5540 100644 --- a/apps/docs/lib/refGenerator/helpers.ts +++ b/apps/docs/lib/refGenerator/helpers.ts @@ -23,9 +23,6 @@ export function extractTsDocNode(nodeToFind: string, definition: any) { } export function generateParameters(tsDefinition: any) { - if (!tsDefinition.signatures) { - console.log('tsDefinition', tsDefinition.signatures) - } let functionDeclaration = null if (tsDefinition.kindString == 'Method') { functionDeclaration = tsDefinition diff --git a/apps/docs/pages/reference/api/[...slug].tsx b/apps/docs/pages/reference/api/[...slug].tsx index 859c3af9e0b..382c882a190 100644 --- a/apps/docs/pages/reference/api/[...slug].tsx +++ b/apps/docs/pages/reference/api/[...slug].tsx @@ -12,7 +12,6 @@ const generatedSpec = gen_v3(specFile, 'wat', { apiUrl: 'apiv0' }) const sections = flattenSections(apiCommonSections) export default function Config(props) { - console.log('generatedSpec', generatedSpec) return } From 8d6c0cff6fc891ee3f2c92c9a367cde5179fbeeb Mon Sep 17 00:00:00 2001 From: Ryan Peach Date: Mon, 9 Jan 2023 13:10:59 -0500 Subject: [PATCH 22/53] Update apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx Co-authored-by: dng --- .../pages/guides/getting-started/tutorials/with-sveltekit.mdx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx b/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx index 4ac787fd3c6..6385b19ee4c 100644 --- a/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx +++ b/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx @@ -56,8 +56,7 @@ import { env } from '$env/dynamic/public' export const supabase = createClient(env.PUBLIC_SUPABASE_URL, env.PUBLIC_SUPABASE_ANON_KEY) ``` -And one optional step is to update the CSS file `src/routes/style.css` to make the app look nice. -You can find the full contents of this file [here](https://raw.githubusercontent.com/supabase/supabase/master/examples/user-management/svelte-user-management/src/app.css). +Optionally, update `src/routes/style.css` with the [CSS from the example](https://raw.githubusercontent.com/supabase/supabase/master/examples/user-management/svelte-user-management/src/app.css). If you don't add this file, you will need to remove the import statement in `src/routes/+layout.svelte` (created later). ### Supabase Auth Helpers From c6e675decbb803e9afe6c125e07218b5113bb1c7 Mon Sep 17 00:00:00 2001 From: Ryan Peach Date: Mon, 9 Jan 2023 13:11:25 -0500 Subject: [PATCH 23/53] Update apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx Co-authored-by: dng --- .../pages/guides/getting-started/tutorials/with-sveltekit.mdx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx b/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx index 6385b19ee4c..971e33a2d49 100644 --- a/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx +++ b/apps/docs/pages/guides/getting-started/tutorials/with-sveltekit.mdx @@ -57,7 +57,6 @@ export const supabase = createClient(env.PUBLIC_SUPABASE_URL, env.PUBLIC_SUPABAS ``` Optionally, update `src/routes/style.css` with the [CSS from the example](https://raw.githubusercontent.com/supabase/supabase/master/examples/user-management/svelte-user-management/src/app.css). -If you don't add this file, you will need to remove the import statement in `src/routes/+layout.svelte` (created later). ### Supabase Auth Helpers From a9c84cac8df8f380dbdb5897ad29384c227758da Mon Sep 17 00:00:00 2001 From: Terry Sutton Date: Mon, 9 Jan 2023 15:24:39 -0330 Subject: [PATCH 24/53] Cleanup --- apps/docs/components/reference/Reference.types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/components/reference/Reference.types.ts b/apps/docs/components/reference/Reference.types.ts index 663f633ebd2..04a9c04b7da 100644 --- a/apps/docs/components/reference/Reference.types.ts +++ b/apps/docs/components/reference/Reference.types.ts @@ -87,7 +87,7 @@ export type TypeSpecChild = { typeParameter?: any implementedTypes?: any extendedTypes?: any - dereferenced?: TypeSpecChildComment + dereferenced?: TypeSpecChild extendedBy?: any indexSignature?: any extendsType?: any From 28d6f56913356ae2d0106e94a301e62ef4502e46 Mon Sep 17 00:00:00 2001 From: dng Date: Mon, 9 Jan 2023 11:46:01 -0800 Subject: [PATCH 25/53] Update apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx --- .../pages/guides/auth/auth-helpers/nextjs-server-components.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx index c4a14ba576b..35861d98c86 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx @@ -166,7 +166,7 @@ export const config = { -Create a new file at `app/middleware.ts` and populate with the following: +Create a new file at `/app/middleware.ts` and populate with the following: ```tsx title="middleware.ts" import { createMiddlewareSupabaseClient } from '@supabase/auth-helpers-nextjs' From c58e51b866e67c4eb143b53248ca24c2da42a53d Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Mon, 9 Jan 2023 13:57:58 -0800 Subject: [PATCH 26/53] Add Page export MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Thor 雷神 Schaeff <5748289+thorwebdev@users.noreply.github.com> --- apps/docs/pages/guides/integrations/picket.mdx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/docs/pages/guides/integrations/picket.mdx b/apps/docs/pages/guides/integrations/picket.mdx index 3f583b8a873..bfa478dc731 100644 --- a/apps/docs/pages/guides/integrations/picket.mdx +++ b/apps/docs/pages/guides/integrations/picket.mdx @@ -575,3 +575,7 @@ npm run dev - Leverage Supabase's awesome libraries and ecosystem while still enabling wallet login - Store app-specific data, like user preferences, about your user's wallet adress off-chain - Cache on-chain data to improve your DApp's performance + +export const Page = ({ children }) => + +export default Page From ec95a67e9ab83bfb16c5581e23fbd0e28058e8e5 Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Mon, 9 Jan 2023 13:59:00 -0800 Subject: [PATCH 27/53] fix: keep navigation alphabetized --- apps/docs/components/Navigation/Navigation.constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/components/Navigation/Navigation.constants.ts b/apps/docs/components/Navigation/Navigation.constants.ts index e473d753af3..5238843e34f 100644 --- a/apps/docs/components/Navigation/Navigation.constants.ts +++ b/apps/docs/components/Navigation/Navigation.constants.ts @@ -294,9 +294,9 @@ export const menuItems: NavMenu = { { name: 'Authsignal', url: '/guides/integrations/authsignal', items: [] }, { name: 'Clerk', url: '/guides/integrations/clerk', items: [] }, { name: 'keyri', url: '/guides/integrations/keyri', items: [] }, + { name: 'Picket', url: '/guides/integrations/picket', items: [] }, { name: 'Stytch', url: '/guides/integrations/stytch', items: [] }, { name: 'SuperTokens', url: '/guides/integrations/supertokens', items: [] }, - { name: 'Picket', url: '/guides/integrations/picket', items: [] }, ], }, { From 58a18cfe950fe9a80f121a24664b995f0c42ee6d Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Mon, 9 Jan 2023 23:05:49 +0000 Subject: [PATCH 28/53] adds new update fdw mutation --- .../Database/Wrappers/EditWrapper.tsx | 30 +++---- studio/data/fdw/fdw-create-mutation.ts | 9 +- studio/data/fdw/fdw-delete-mutation.ts | 7 +- studio/data/fdw/fdw-update-mutation.ts | 84 +++++++++++++++++++ studio/data/sql/utils/transaction.ts | 9 ++ 5 files changed, 109 insertions(+), 30 deletions(-) create mode 100644 studio/data/fdw/fdw-update-mutation.ts create mode 100644 studio/data/sql/utils/transaction.ts diff --git a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx index 2ba5ba6c170..7fc186b1552 100644 --- a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx @@ -18,8 +18,7 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' import { VaultSecret } from 'types' import { checkPermissions, useParams, useStore } from 'hooks' import { useFDWsQuery } from 'data/fdw/fdws-query' -import { useFDWCreateMutation } from 'data/fdw/fdw-create-mutation' -import { useFDWDeleteMutation } from 'data/fdw/fdw-delete-mutation' +import { useFDWUpdateMutation } from 'data/fdw/fdw-update-mutation' import InputField from './InputField' import { WRAPPERS } from './Wrappers.constants' @@ -55,8 +54,7 @@ const EditWrapper = () => { const wrapper = wrappers.find((w) => Number(w.id) === Number(id)) const wrapperMeta = WRAPPERS.find((w) => w.handlerName === wrapper?.handler) - const { mutateAsync: createFDW } = useFDWCreateMutation() - const { mutateAsync: deleteFDW } = useFDWDeleteMutation() + const { mutateAsync: updateFDW } = useFDWUpdateMutation() const [wrapperTables, setWrapperTables] = useState([]) const [isEditingTable, setIsEditingTable] = useState(false) @@ -83,7 +81,7 @@ const EditWrapper = () => { if (isLoading) { return ( -
+
) @@ -92,8 +90,8 @@ const EditWrapper = () => { if (wrapper === undefined || wrapperMeta === undefined) { if (isSaving) { return ( -
-
+
+

Updating wrapper

@@ -101,10 +99,10 @@ const EditWrapper = () => { ) } else { return ( -
+

Unknown wrapper

-

+

The wrapper ID {id} cannot be found in your project. Head back to select another wrapper.

@@ -147,17 +145,11 @@ const EditWrapper = () => { setIsSaving(true) setSubmitting(true) try { - await deleteFDW({ - projectRef: project?.ref, - connectionString: project?.connectionString, - wrapper, - wrapperMeta, - }) - - await createFDW({ + await updateFDW({ projectRef: project?.ref, connectionString: project?.connectionString, wrapper: wrapperMeta, + wrapperMeta, formState: { ...values, server_name: `${wrapper_name}_server` }, tables: wrapperTables, }) @@ -252,7 +244,7 @@ const EditWrapper = () => { +
{
)} {wrapperTables.length === 0 && formErrors.tables && ( -

{formErrors.tables}

+

{formErrors.tables}

)} diff --git a/studio/data/fdw/fdw-create-mutation.ts b/studio/data/fdw/fdw-create-mutation.ts index 4d56cf7d863..1cc30aaf0a1 100644 --- a/studio/data/fdw/fdw-create-mutation.ts +++ b/studio/data/fdw/fdw-create-mutation.ts @@ -2,6 +2,7 @@ import { useMutation, UseMutationOptions, useQueryClient } from '@tanstack/react import { AvailableColumn, Wrapper } from 'components/interfaces/Database/Wrappers/Wrappers.types' import { executeSql } from 'data/sql/execute-sql-query' import { sqlKeys } from 'data/sql/keys' +import { wrapWithTransaction } from 'data/sql/utils/transaction' import { useStore } from 'hooks' export type FDWCreateVariables = { @@ -14,7 +15,7 @@ export type FDWCreateVariables = { tables: any[] } -export function getFDWCreateSql({ +export function getCreateFDWSql({ wrapper, formState, tables, @@ -112,8 +113,6 @@ export function getFDWCreateSql({ .join('\n\n') const sql = /* SQL */ ` - begin; - ${newSchemasSql} ${createWrapperSql} @@ -123,8 +122,6 @@ export function getFDWCreateSql({ ${createServerSql} ${createTablesSql} - - commit; ` return sql @@ -137,7 +134,7 @@ export async function createFDW({ formState, tables, }: FDWCreateVariables) { - const sql = getFDWCreateSql({ wrapper, formState, tables }) + const sql = wrapWithTransaction(getCreateFDWSql({ wrapper, formState, tables })) const { result } = await executeSql({ projectRef, connectionString, sql }) diff --git a/studio/data/fdw/fdw-delete-mutation.ts b/studio/data/fdw/fdw-delete-mutation.ts index 4e7b98db373..c3d4940fc31 100644 --- a/studio/data/fdw/fdw-delete-mutation.ts +++ b/studio/data/fdw/fdw-delete-mutation.ts @@ -2,6 +2,7 @@ import { useMutation, UseMutationOptions, useQueryClient } from '@tanstack/react import { Wrapper } from 'components/interfaces/Database/Wrappers/Wrappers.types' import { executeSql } from 'data/sql/execute-sql-query' import { sqlKeys } from 'data/sql/keys' +import { wrapWithTransaction } from 'data/sql/utils/transaction' import { useStore } from 'hooks' export type FDWDeleteVariables = { @@ -30,13 +31,9 @@ export const getDeleteFDWSql = ({ const deleteEncryptedSecretsSql = deleteEncryptedSecretsSqlArray.join('\n') const sql = /* SQL */ ` - begin; - drop foreign data wrapper if exists ${wrapper.name} cascade; ${deleteEncryptedSecretsSql} - - commit; ` return sql @@ -52,7 +49,7 @@ export async function deleteFDW({ throw new Error('projectRef is required') } - const sql = getDeleteFDWSql({ wrapper, wrapperMeta }) + const sql = wrapWithTransaction(getDeleteFDWSql({ wrapper, wrapperMeta })) const { result } = await executeSql({ projectRef, connectionString, sql }) diff --git a/studio/data/fdw/fdw-update-mutation.ts b/studio/data/fdw/fdw-update-mutation.ts new file mode 100644 index 00000000000..d3e2fe130da --- /dev/null +++ b/studio/data/fdw/fdw-update-mutation.ts @@ -0,0 +1,84 @@ +import { useMutation, UseMutationOptions, useQueryClient } from '@tanstack/react-query' +import { Wrapper } from 'components/interfaces/Database/Wrappers/Wrappers.types' +import { executeSql } from 'data/sql/execute-sql-query' +import { sqlKeys } from 'data/sql/keys' +import { wrapWithTransaction } from 'data/sql/utils/transaction' +import { useStore } from 'hooks' +import { getCreateFDWSql } from './fdw-create-mutation' +import { getDeleteFDWSql } from './fdw-delete-mutation' + +export type FDWUpdateVariables = { + projectRef?: string + connectionString?: string + wrapper: Wrapper + wrapperMeta: Wrapper + formState: { + [k: string]: string + } + tables: any[] +} + +export const getUpdateFDWSql = ({ + wrapper, + wrapperMeta, + formState, + tables, +}: Pick) => { + const deleteWrapperSql = getDeleteFDWSql({ wrapper, wrapperMeta }) + const createWrapperSql = getCreateFDWSql({ + wrapper: wrapperMeta, + formState, + tables, + }) + + const sql = /* SQL */ ` + ${deleteWrapperSql} + + ${createWrapperSql} + ` + + return sql +} + +export async function updateFDW({ + projectRef, + connectionString, + wrapper, + wrapperMeta, + formState, + tables, +}: FDWUpdateVariables) { + if (!projectRef) { + throw new Error('projectRef is required') + } + + const sql = wrapWithTransaction(getUpdateFDWSql({ wrapper, wrapperMeta, formState, tables })) + + const { result } = await executeSql({ projectRef, connectionString, sql }) + + return result +} + +type FDWUpdateData = Awaited> + +export const useFDWUpdateMutation = ({ + onSuccess, + ...options +}: Omit, 'mutationFn'> = {}) => { + const queryClient = useQueryClient() + const { vault } = useStore() + + return useMutation((vars) => updateFDW(vars), { + async onSuccess(data, variables, context) { + const { projectRef } = variables + + await Promise.all([ + queryClient.invalidateQueries(sqlKeys.query(projectRef, ['fdws'])), + vault.load(), + ]) + + await onSuccess?.(data, variables, context) + }, + ...options, + }) +} diff --git a/studio/data/sql/utils/transaction.ts b/studio/data/sql/utils/transaction.ts new file mode 100644 index 00000000000..36fa24b2571 --- /dev/null +++ b/studio/data/sql/utils/transaction.ts @@ -0,0 +1,9 @@ +export function wrapWithTransaction(sql: string) { + return /* SQL */ ` + begin; + + ${sql} + + commit; + ` +} From d965f63674ba4cd98e8cd5624201dae4c5f62206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Gr=C3=BCneberg?= Date: Tue, 10 Jan 2023 00:21:45 +0100 Subject: [PATCH 29/53] feat: enable read-only/billing-only role (#11338) * feat: enable read-only/billing-only role * add team plan * remove feature toggle * the missing child --- .../RolesHelperModal/RolesHelperModal.tsx | 67 ++++++++++--------- .../TeamSettings/TeamSettings.tsx | 6 +- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/studio/components/interfaces/Organization/TeamSettings/RolesHelperModal/RolesHelperModal.tsx b/studio/components/interfaces/Organization/TeamSettings/RolesHelperModal/RolesHelperModal.tsx index c448c0334f3..6c322bf60f3 100644 --- a/studio/components/interfaces/Organization/TeamSettings/RolesHelperModal/RolesHelperModal.tsx +++ b/studio/components/interfaces/Organization/TeamSettings/RolesHelperModal/RolesHelperModal.tsx @@ -1,22 +1,35 @@ import { FC, Fragment, useState } from 'react' -import { IconCheck, IconHelpCircle, Modal } from 'ui' -import { useFlag } from 'hooks' +import { IconCheck, IconHelpCircle, IconInfo, Modal } from 'ui' import { PERMISSIONS_MAPPING } from './RolesHelperModal.constants' +import * as Tooltip from '@radix-ui/react-tooltip' interface Props {} const RolesHelperModal: FC = ({}) => { const [showModal, setShowModal] = useState(false) - const enableBillingOnlyReadOnlyRoles = useFlag('enableBillingOnlyReadOnlyRoles') - const permissionColumnClassName = [ - `${enableBillingOnlyReadOnlyRoles ? 'w-[40%]' : 'w-[49%]'}`, - 'text-sm pl-4 font-bold', - ].join(' ') - const roleColumnClassName = [ - `${enableBillingOnlyReadOnlyRoles ? 'w-[12%]' : 'w-[17%]'}`, - 'text-sm h-8 flex items-center justify-center border-l border-scale-600 font-bold', - ].join(' ') + const permissionColumnClassName = 'w-[40%] text-sm pl-4 font-bold' + const roleColumnClassName = + 'w-[12%] text-sm h-8 flex items-center justify-center border-l border-scale-600 font-bold' + + const accessTooltip = ( + + + + + + +
+ Only available in Team/Enterprise plan. +
+
+
+ ) return ( <> @@ -30,7 +43,7 @@ const RolesHelperModal: FC = ({}) => { closable hideFooter visible={showModal} - size={enableBillingOnlyReadOnlyRoles ? 'xxlarge' : 'xlarge'} + size={'xxlarge'} header="Permissions for each role" onCancel={() => setShowModal(!showModal)} > @@ -48,12 +61,8 @@ const RolesHelperModal: FC = ({}) => {
Owner
Adminstrator
Developer
- {enableBillingOnlyReadOnlyRoles && ( -
Read-only
- )} - {enableBillingOnlyReadOnlyRoles && ( -
Billing-only
- )} +
Read-only {accessTooltip}
+
Billing-only {accessTooltip}
@@ -77,20 +86,14 @@ const RolesHelperModal: FC = ({}) => {
{action.permissions.developer && }
- {enableBillingOnlyReadOnlyRoles && ( -
- {action.permissions.read_only && ( - - )} -
- )} - {enableBillingOnlyReadOnlyRoles && ( -
- {action.permissions.billing_only && ( - - )} -
- )} +
+ {action.permissions.read_only && } +
+
+ {action.permissions.billing_only && ( + + )} +
))} diff --git a/studio/components/interfaces/Organization/TeamSettings/TeamSettings.tsx b/studio/components/interfaces/Organization/TeamSettings/TeamSettings.tsx index 409c80f35de..e3df3e859c9 100644 --- a/studio/components/interfaces/Organization/TeamSettings/TeamSettings.tsx +++ b/studio/components/interfaces/Organization/TeamSettings/TeamSettings.tsx @@ -19,12 +19,8 @@ const TeamSettings = () => { const isOwner = ui.selectedOrganization?.is_owner const { members } = useOrganizationDetail(slug || '') - const { roles: allRoles } = useOrganizationRoles(slug) + const { roles } = useOrganizationRoles(slug) - const enableBillingOnlyReadOnly = useFlag('enableBillingOnlyReadOnlyRoles') - const roles = enableBillingOnlyReadOnly - ? allRoles - : (allRoles ?? []).filter((role) => ['Owner', 'Administrator', 'Developer'].includes(role.name)) const { rolesAddable } = getRolesManagementPermissions(roles) const [isLeaving, setIsLeaving] = useState(false) From 884b5d8edee965d15c832c749890fd108d81af89 Mon Sep 17 00:00:00 2001 From: dshukertjr <18113850+dshukertjr@users.noreply.github.com> Date: Tue, 10 Jan 2023 12:48:37 +0900 Subject: [PATCH 30/53] correct SQL syntax for creating seed data --- apps/docs/pages/guides/database/extensions/postgis.mdx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/docs/pages/guides/database/extensions/postgis.mdx b/apps/docs/pages/guides/database/extensions/postgis.mdx index f3be14956fd..6f241b0774e 100644 --- a/apps/docs/pages/guides/database/extensions/postgis.mdx +++ b/apps/docs/pages/guides/database/extensions/postgis.mdx @@ -95,9 +95,9 @@ You can insert geographical data through SQL or through our API. insert into public.restaurants (name, location) values - ('Supa Burger', st_point(-73.946823 40.807416)), - ('Supa Pizza', st_point(-73.94581 40.807475)), - ('Supa Taco', st_point(-73.945826 40.80629)); + ('Supa Burger', st_point(-73.946823, 40.807416)), + ('Supa Pizza', st_point(-73.94581, 40.807475)), + ('Supa Taco', st_point(-73.945826, 40.80629)); ``` @@ -143,7 +143,7 @@ await supabase.from('restaurants').insert([ -Notice the order in which you pass the latitude and longitude. Longitude comes first, and is because longitude represents the x-axis of the location. Another thing to watch for is that there is no comma between the two values, just a single space. +Notice the order in which you pass the latitude and longitude. Longitude comes first, and is because longitude represents the x-axis of the location. Another thing to watch for is when inserting data from the client library, there is no comma between the two values, just a single space. At this point, if you go into your Supabase dashboard and look at the data, you will notice that the value of the `location` column looks something like this. From 78854b06fa7c0652511c599a0d16f8eb11660604 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Tue, 10 Jan 2023 15:11:14 +0800 Subject: [PATCH 31/53] Small fixes --- .../Database/Wrappers/CreateWrapper.tsx | 2 +- .../Database/Wrappers/EditWrapper.tsx | 14 ++++++++--- .../Database/Wrappers/WrapperRow.tsx | 16 ++++++------ .../Database/Wrappers/Wrappers.constants.ts | 4 +-- .../Database/Wrappers/Wrappers.types.ts | 2 +- studio/data/fdw/fdw-create-mutation.ts | 25 +++++++++++-------- studio/data/fdw/fdw-delete-mutation.ts | 7 +++--- studio/data/fdw/fdw-update-mutation.ts | 13 ++++------ studio/data/fdw/fdws-query.ts | 2 +- 9 files changed, 46 insertions(+), 39 deletions(-) diff --git a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx index 4058fb2b0c2..e97ddf91e98 100644 --- a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx @@ -99,7 +99,7 @@ const CreateWrapper = () => { await createFDW({ projectRef: project?.ref, connectionString: project?.connectionString, - wrapper: wrapperMeta, + wrapperMeta, formState: { ...values, server_name: `${wrapper_name}_server` }, tables: newTables, }) diff --git a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx index 7fc186b1552..85519c91539 100644 --- a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx @@ -148,7 +148,7 @@ const EditWrapper = () => { await updateFDW({ projectRef: project?.ref, connectionString: project?.connectionString, - wrapper: wrapperMeta, + wrapper, wrapperMeta, formState: { ...values, server_name: `${wrapper_name}_server` }, tables: wrapperTables, @@ -206,7 +206,12 @@ const EditWrapper = () => {
{({ isSubmitting, handleReset, values, initialValues, resetForm }: any) => { const [loadingSecrets, setLoadingSecrets] = useState(false) - const hasChanges = JSON.stringify(values) !== JSON.stringify(initialValues) + + const initialTables = formatWrapperTables(wrapper?.tables ?? []) + const hasFormChanges = JSON.stringify(values) !== JSON.stringify(initialValues) + const hasTableChanges = JSON.stringify(initialTables) !== JSON.stringify(wrapperTables) + const hasChanges = hasFormChanges || hasTableChanges + const encryptedOptions = wrapperMeta.server.options.filter((option) => option.encrypted) useEffect(() => { @@ -249,7 +254,10 @@ const EditWrapper = () => { form={formId} isSubmitting={isSubmitting} hasChanges={hasChanges} - handleReset={handleReset} + handleReset={() => { + handleReset() + setWrapperTables(initialTables) + }} helper={ !canCreateWrapper ? 'You need additional permissions to create a foreign data wrapper' diff --git a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx index 0e336cdf86d..a79ca3d972b 100644 --- a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx +++ b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx @@ -1,6 +1,6 @@ import Link from 'next/link' import Image from 'next/image' -import { FC, useState } from 'react' +import { FC } from 'react' import { Collapsible, IconChevronUp, @@ -10,28 +10,28 @@ import { IconTrash, IconEdit, } from 'ui' +import { partition } from 'lodash' import { useParams, useStore } from 'hooks' -import { Wrapper } from './Wrappers.types' +import { WrapperMeta } from './Wrappers.types' +import { FDW } from 'data/fdw/fdws-query' import { useFDWDeleteMutation } from 'data/fdw/fdw-delete-mutation' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' import { confirmAlert } from 'components/to-be-cleaned/ModalsDeprecated/ConfirmModal' -import { partition } from 'lodash' interface Props { - wrapperMeta: Wrapper - wrappers: any[] + wrappers: FDW[] + wrapperMeta: WrapperMeta isOpen: boolean isLoading: boolean onOpen: (wrapper: string) => void } -const WrapperRow: FC = ({ wrapperMeta, wrappers = [], isOpen, isLoading, onOpen }) => { +const WrapperRow: FC = ({ wrappers = [], wrapperMeta, isOpen, isLoading, onOpen }) => { const { ui } = useStore() const { ref } = useParams() const { project } = useProjectContext() const { mutateAsync: deleteFDW } = useFDWDeleteMutation() - const [isSubmitting, setIsSubmitting] = useState(false) const onDeleteWrapper = (wrapper: any) => { confirmAlert({ @@ -176,7 +176,6 @@ const WrapperRow: FC = ({ wrapperMeta, wrappers = [], isOpen, isLoading, - + {isWrappersEnabled && }
{isLoadingExtensions ? ( -
+
diff --git a/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx b/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx index 88f6fd36404..b74c9a9fffb 100644 --- a/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx +++ b/studio/components/interfaces/Database/Wrappers/WrappersDropdown.tsx @@ -1,6 +1,6 @@ import Link from 'next/link' import Image from 'next/image' -import { FC } from 'react' +import { FC, Fragment } from 'react' import { observer } from 'mobx-react-lite' import { Button, Dropdown, IconPlus } from 'ui' @@ -23,7 +23,7 @@ const WrapperDropdown: FC = ({ buttonText = 'Add wrapper', align = 'end' overlay={ <> {WRAPPERS.map((wrapper, idx) => ( - <> + @@ -44,7 +44,7 @@ const WrapperDropdown: FC = ({ buttonText = 'Add wrapper', align = 'end' {idx !== WRAPPERS.length - 1 && } - + ))} } From 90a68435092c31369cbef928e9114ed4e265d340 Mon Sep 17 00:00:00 2001 From: Devin Stein Date: Tue, 10 Jan 2023 07:18:54 -0800 Subject: [PATCH 41/53] style: run prettier on picket.mdx --- .../docs/pages/guides/integrations/picket.mdx | 323 +++++++++--------- 1 file changed, 157 insertions(+), 166 deletions(-) diff --git a/apps/docs/pages/guides/integrations/picket.mdx b/apps/docs/pages/guides/integrations/picket.mdx index bfa478dc731..d33fa8f7988 100644 --- a/apps/docs/pages/guides/integrations/picket.mdx +++ b/apps/docs/pages/guides/integrations/picket.mdx @@ -24,7 +24,7 @@ The code for this guide is based of [this example repo](https://github.com/picke ## Step 1: Create a Picket Project -First, we'll create a new project in our [Picket dashboard](https://picketapi.com/dashboard). +First, we'll create a new project in our [Picket dashboard](https://picketapi.com/dashboard). Click the `Create New Project` button at the top of the Projects section on your [Picket dashboard](https://picketapi.com/dashboard). Edit the project to give it a memorable name. @@ -57,6 +57,7 @@ Enter `todos` as the `Name` field. Select `Enable Row Level Security (RLS)`. Create four columns: + - `name` as `text` - `wallet_address` as `text` - `completed` as `bool` with the default value `false` @@ -73,6 +74,7 @@ Now we want to make sure that only the `todos` owner, the user's `wallet_address ```sql ((jwt() ->> 'walletAddress'::text) = wallet_address) ``` + This expression checks that the wallet address in the requesting JWT access token is the same as the `wallet_address` in the `todos` table. ![RLS policy](/docs/img/guides/integrations/picket/rls_policy.png) @@ -88,11 +90,12 @@ npx create-next-app@latest --typescript ``` Create a `.env.local` file and enter the following values -- `NEXT_PUBLIC_PICKET_PUBLISHABLE_KEY` => Copy the publishable key from the Picket project you created in step 1 -- `PICKET_PROJECT_SECRET_KEY` => Copy the secret key from the Picket project you created in the step 1 -- `NEXT_PUBLIC_SUPABASE_URL` => You can find this URL under "Settings > API" in your Supabase project -- `NEXT_PUBLIC_SUPABASE_ANON_KEY` => You can find this project API key under "Settings > API" in your Supabase project -- `SUAPBASE_JWT_SECRET`=> You can find this secret under "Settings > API" in your Supabase project + +- `NEXT_PUBLIC_PICKET_PUBLISHABLE_KEY` => Copy the publishable key from the Picket project you created in step 1 +- `PICKET_PROJECT_SECRET_KEY` => Copy the secret key from the Picket project you created in the step 1 +- `NEXT_PUBLIC_SUPABASE_URL` => You can find this URL under "Settings > API" in your Supabase project +- `NEXT_PUBLIC_SUPABASE_ANON_KEY` => You can find this project API key under "Settings > API" in your Supabase project +- `SUAPBASE_JWT_SECRET`=> You can find this secret under "Settings > API" in your Supabase project ```txt NEXT_PUBLIC_PICKET_PUBLISHABLE_KEY="YOUR_PICKET_PUBLISHABLE_KEY" @@ -105,7 +108,7 @@ SUPABASE_JWT_SECRET="YOUR_SUPABASE_JWT_SECRET" ## Step 5: Setup Picket for Wallet Login > For more information on how to setup [Picket](https://picketapi.com) in your Next.js app, checkout the [Picket getting started guide](https://docs.picketapi.com/picket-docs/quick-start-guides/quick-start-guides/wallet-login) -After initializing our app, we can setup Picket. +> After initializing our app, we can setup Picket. Install the Picket [React](/picket-docs/reference/libraries-and-sdks/react-sdk-picket-react) and [Node](/picket-docs/reference/libraries-and-sdks/node.js-library-picket-node) libraries @@ -116,76 +119,76 @@ npm i @picketapi/picket-react @picketapi/picket-node Update `pages/_app.tsx` to setup the `PicketProvider` ```tsx -import "../styles/globals.css"; -import type { AppProps } from "next/app"; +import '../styles/globals.css' +import type { AppProps } from 'next/app' -import { PicketProvider } from "@picketapi/picket-react"; +import { PicketProvider } from '@picketapi/picket-react' export default function App({ Component, pageProps }: AppProps) { return ( - ); + ) } ``` Update `pages/index.tsx` to let users log in and out with their wallet ```tsx -import { GetServerSideProps } from "next"; -import { useRouter } from "next/router"; -import { useCallback } from "react"; +import { GetServerSideProps } from 'next' +import { useRouter } from 'next/router' +import { useCallback } from 'react' -import styles from "../styles/Home.module.css"; +import styles from '../styles/Home.module.css' -import { usePicket } from "@picketapi/picket-react"; -import { cookieName } from "../utils/supabase"; +import { usePicket } from '@picketapi/picket-react' +import { cookieName } from '../utils/supabase' type Props = { - loggedIn: boolean; -}; + loggedIn: boolean +} export default function Home(props: Props) { - const { loggedIn } = props; - const { login, logout, authState } = usePicket(); - const router = useRouter(); + const { loggedIn } = props + const { login, logout, authState } = usePicket() + const router = useRouter() const handleLogin = useCallback(async () => { - let auth = authState; + let auth = authState // no need to re-login if they've already connected with Picket if (!auth) { // login with Picket - auth = await login(); + auth = await login() } // login failed - if (!auth) return; + if (!auth) return // create a corresponding supabase access token - await fetch("/api/login", { - method: "POST", - headers: { "Content-Type": "application/json" }, + await fetch('/api/login', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ accessToken: auth.accessToken, }), - }); + }) // redirect to their todos page - router.push("/todos"); - }, [authState, login, router]); + router.push('/todos') + }, [authState, login, router]) const handleLogout = useCallback(async () => { // clear both picket and supabase session - await logout(); - await fetch("/api/logout", { - method: "POST", + await logout() + await fetch('/api/logout', { + method: 'POST', headers: { - "Content-Type": "application/json", + 'Content-Type': 'application/json', }, - }); + }) // refresh the page - router.push("/"); - }, [logout, router]); + router.push('/') + }, [logout, router]) return (
@@ -197,29 +200,27 @@ export default function Home(props: Props) { )}
- ); + ) } -export const getServerSideProps: GetServerSideProps = async ({ - req, -}) => { +export const getServerSideProps: GetServerSideProps = async ({ req }) => { // get supabase token server-side - const accessToken = req.cookies[cookieName]; + const accessToken = req.cookies[cookieName] if (!accessToken) { return { props: { loggedIn: false, }, - }; + } } return { props: { loggedIn: true, }, - }; -}; + } +} ``` ## Step 6: Issue a Supabase JWT on Wallet Login @@ -235,12 +236,12 @@ npm install @supabase/supabase-js jsonwebtoken cookie js-cookie Create a utility function to create a Supabase client with a custom access token in `utils/supabase.ts` ```ts -import { createClient, SupabaseClientOptions } from "@supabase/supabase-js"; +import { createClient, SupabaseClientOptions } from '@supabase/supabase-js' -export const cookieName = "sb-access-token"; +export const cookieName = 'sb-access-token' const getSupabase = (accessToken: string) => { - const options: SupabaseClientOptions<"public"> = {}; + const options: SupabaseClientOptions<'public'> = {} if (accessToken) { options.global = { @@ -248,44 +249,41 @@ const getSupabase = (accessToken: string) => { // This gives Supabase information about the user (wallet) making the request Authorization: `Bearer ${accessToken}`, }, - }; + } } const supabase = createClient( process.env.NEXT_PUBLIC_SUPABASE_URL!, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!, options - ); + ) - return supabase; -}; + return supabase +} -export { getSupabase }; +export { getSupabase } ``` Create new api route `pages/api/login.ts`. This route validates the Picket access token then issues another equivalent Supabase access token for us to use with the Supabase client. ```ts -import type { NextApiRequest, NextApiResponse } from "next"; -import jwt from "jsonwebtoken"; -import cookie from "cookie"; -import Picket from "@picketapi/picket-node"; +import type { NextApiRequest, NextApiResponse } from 'next' +import jwt from 'jsonwebtoken' +import cookie from 'cookie' +import Picket from '@picketapi/picket-node' -import { cookieName } from "../../utils/supabase"; +import { cookieName } from '../../utils/supabase' // create picket node client with your picket secret api key -const picket = new Picket(process.env.PICKET_PROJECT_SECRET_KEY!); +const picket = new Picket(process.env.PICKET_PROJECT_SECRET_KEY!) -const expToExpiresIn = (exp: number) => exp - Math.floor(Date.now() / 1000); +const expToExpiresIn = (exp: number) => exp - Math.floor(Date.now() / 1000) -export default async function handler( - req: NextApiRequest, - res: NextApiResponse -) { - const { accessToken } = req.body; +export default async function handler(req: NextApiRequest, res: NextApiResponse) { + const { accessToken } = req.body // omit expiration time,.it will conflict with jwt.sign - const { exp, ...payload } = await picket.validate(accessToken); - const expiresIn = expToExpiresIn(exp); + const { exp, ...payload } = await picket.validate(accessToken) + const expiresIn = expToExpiresIn(exp) const supabaseJWT = jwt.sign( { @@ -295,48 +293,46 @@ export default async function handler( { expiresIn, } - ); + ) // Set a new cookie with the name res.setHeader( - "Set-Cookie", + 'Set-Cookie', cookie.serialize(cookieName, supabaseJWT, { - path: "/", - secure: process.env.NODE_ENV !== "development", + path: '/', + secure: process.env.NODE_ENV !== 'development', // allow the cookie to be accessed client-side httpOnly: false, - sameSite: "strict", + sameSite: 'strict', maxAge: expiresIn, }) - ); - res.status(200).json({}); + ) + res.status(200).json({}) } ``` And now create an equivalent logout api route `/pages/api/logout.ts` to delete the Supabase access token cookie. ```ts -import type { NextApiRequest, NextApiResponse } from "next"; -import cookie from "cookie"; +import type { NextApiRequest, NextApiResponse } from 'next' +import cookie from 'cookie' -import { cookieName } from "../../utils/supabase"; +import { cookieName } from '../../utils/supabase' -export default async function handler( - _req: NextApiRequest, - res: NextApiResponse -) { +export default async function handler(_req: NextApiRequest, res: NextApiResponse) { // Clear the supabase cookie res.setHeader( - "Set-Cookie", - cookie.serialize(cookieName, "", { - path: "/", + 'Set-Cookie', + cookie.serialize(cookieName, '', { + path: '/', maxAge: -1, }) - ); + ) - res.status(200).json({}); + res.status(200).json({}) } ``` + We can now login and logout to the app with our wallet! ## Step 7: Interacting with Data in Supabase @@ -346,39 +342,39 @@ Now that we can login to the app, it's time to start interacting with Supabase. Create a new file `pages/todos.tsx` ```tsx -import { GetServerSideProps } from "next"; -import Head from "next/head"; -import Link from "next/link"; -import { useState, useMemo } from "react"; -import jwt from "jsonwebtoken"; -import Cookies from "js-cookie"; +import { GetServerSideProps } from 'next' +import Head from 'next/head' +import Link from 'next/link' +import { useState, useMemo } from 'react' +import jwt from 'jsonwebtoken' +import Cookies from 'js-cookie' -import styles from "../styles/Home.module.css"; +import styles from '../styles/Home.module.css' -import { getSupabase, cookieName } from "../utils/supabase"; +import { getSupabase, cookieName } from '../utils/supabase' type Todo = { - name: string; - completed: boolean; -}; + name: string + completed: boolean +} type Props = { - walletAddress: string; - todos: Todo[]; -}; + walletAddress: string + todos: Todo[] +} const displayWalletAddress = (walletAddress: string) => - `${walletAddress.slice(0, 6)}...${walletAddress.slice(-4)}`; + `${walletAddress.slice(0, 6)}...${walletAddress.slice(-4)}` export default function Todos(props: Props) { - const { walletAddress } = props; - const [todos, setTodos] = useState(props.todos); + const { walletAddress } = props + const [todos, setTodos] = useState(props.todos) // avoid re-creating supabase client every render const supabase = useMemo(() => { - const accessToken = Cookies.get(cookieName); - return getSupabase(accessToken || ""); - }, []); + const accessToken = Cookies.get(cookieName) + return getSupabase(accessToken || '') + }, []) return (
@@ -390,25 +386,24 @@ export default function Todos(props: Props) {

Your Personal Todo List

Welcome {displayWalletAddress(walletAddress)},

- Your todo list is stored in Supabase and are only accessible to you - and your wallet address. Picket + Supabase makes it easy to build - scalable, hybrid web2 and web3 apps. Use Supabase to store - non-critical or private data off-chain like user app preferences or - todo lists. + Your todo list is stored in Supabase and are only accessible to you and your wallet + address. Picket + Supabase makes it easy to build scalable, hybrid web2 and web3 apps. + Use Supabase to store non-critical or private data off-chain like user app preferences + or todo lists.

Todo List

@@ -416,32 +411,28 @@ export default function Todos(props: Props) {
{ - await supabase.from("todos").upsert({ + await supabase.from('todos').upsert({ wallet_address: walletAddress, name: todo.name, completed: !todo.completed, - }); + }) setTodos((todos) => - todos.map((t) => - t.name === todo.name - ? { ...t, completed: !t.completed } - : t - ) - ); + todos.map((t) => (t.name === todo.name ? { ...t, completed: !t.completed } : t)) + ) }} /> {todo.name} @@ -450,13 +441,13 @@ export default function Todos(props: Props) { ))}
Go back home → @@ -465,78 +456,76 @@ export default function Todos(props: Props) {
- ); + ) } -export const getServerSideProps: GetServerSideProps = async ({ - req, -}) => { +export const getServerSideProps: GetServerSideProps = async ({ req }) => { // example of fetching data server-side - const accessToken = req.cookies[cookieName]; + const accessToken = req.cookies[cookieName] // require authentication if (!accessToken) { return { redirect: { - destination: "/", + destination: '/', }, props: { - walletAddress: "", + walletAddress: '', todos: [], }, - }; + } } // check if logged in user has completed the tutorial - const supabase = getSupabase(accessToken); + const supabase = getSupabase(accessToken) const { walletAddress } = jwt.decode(accessToken) as { - walletAddress: string; - }; + walletAddress: string + } // get todos for the users // if none exist, create the default todos - let { data } = await supabase.from("todos").select("*"); + let { data } = await supabase.from('todos').select('*') if (!data || data.length === 0) { - let error = null; - ({ data, error } = await supabase - .from("todos") + let error = null + ;({ data, error } = await supabase + .from('todos') .insert([ { wallet_address: walletAddress, - name: "Complete the Picket + Supabase Tutorial", + name: 'Complete the Picket + Supabase Tutorial', completed: true, }, { wallet_address: walletAddress, - name: "Create a Picket Account (https://picketapi.com/)", + name: 'Create a Picket Account (https://picketapi.com/)', completed: false, }, { wallet_address: walletAddress, - name: "Read the Picket Docs (https://docs.picketapi.com/)", + name: 'Read the Picket Docs (https://docs.picketapi.com/)', completed: false, }, { wallet_address: walletAddress, - name: "Build an Awesome Web3 Experience", + name: 'Build an Awesome Web3 Experience', completed: false, }, ]) - .select("*")); + .select('*')) if (error) { // log error and redirect home - console.error(error); + console.error(error) return { redirect: { - destination: "/", + destination: '/', }, props: { - walletAddress: "", + walletAddress: '', todos: [], }, - }; + } } } @@ -545,14 +534,15 @@ export const getServerSideProps: GetServerSideProps = async ({ walletAddress, todos: data as Todo[], }, - }; -}; + } +} ``` This is a long file, but don't be intimidated. The page is actually straightforward. It - 1. Verifies server-side that the user is authenticated and if they are not redirects them to the homepage - 2. Checks to see if they already have `todos` . If so, it returns them. If not, it initializes them for the users - 3. We render the `todos` and when the user selects or deselects a todo, we update the data in the database + +1. Verifies server-side that the user is authenticated and if they are not redirects them to the homepage +2. Checks to see if they already have `todos` . If so, it returns them. If not, it initializes them for the users +3. We render the `todos` and when the user selects or deselects a todo, we update the data in the database ## Step 8: Try it Out! @@ -571,10 +561,11 @@ npm run dev - Checkout Picket's [example Github repositories](https://github.com/picketapi) ### Common Use-Case for Picket + Supabase -- Account linking. Allow users to associate their wallet address(es) with their existing web2 account in your app -- Leverage Supabase's awesome libraries and ecosystem while still enabling wallet login -- Store app-specific data, like user preferences, about your user's wallet adress off-chain -- Cache on-chain data to improve your DApp's performance + +- Account linking. Allow users to associate their wallet address(es) with their existing web2 account in your app +- Leverage Supabase's awesome libraries and ecosystem while still enabling wallet login +- Store app-specific data, like user preferences, about your user's wallet adress off-chain +- Cache on-chain data to improve your DApp's performance export const Page = ({ children }) => From ac3d086cd825ade40001c87fa3035bcd45fa4a2e Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Tue, 10 Jan 2023 15:58:53 +0000 Subject: [PATCH 42/53] removes intermediate saving screen on updating wrappers --- .../interfaces/Database/Wrappers/EditWrapper.tsx | 13 +++++++------ .../interfaces/Database/Wrappers/Wrappers.tsx | 4 ++-- studio/hooks/index.ts | 1 + studio/hooks/misc/useImmutableValue.tsx | 14 ++++++++++++++ 4 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 studio/hooks/misc/useImmutableValue.tsx diff --git a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx index 85519c91539..2286ec04c7f 100644 --- a/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/EditWrapper.tsx @@ -16,7 +16,7 @@ import { import { PermissionAction } from '@supabase/shared-types/out/constants' import { VaultSecret } from 'types' -import { checkPermissions, useParams, useStore } from 'hooks' +import { checkPermissions, useImmutableValue, useParams, useStore } from 'hooks' import { useFDWsQuery } from 'data/fdw/fdws-query' import { useFDWUpdateMutation } from 'data/fdw/fdw-update-mutation' @@ -50,15 +50,18 @@ const EditWrapper = () => { projectRef: project?.ref, connectionString: project?.connectionString, }) + const wrappers = data?.result ?? [] - const wrapper = wrappers.find((w) => Number(w.id) === Number(id)) + const foundWrapper = wrappers.find((w) => Number(w.id) === Number(id)) + // this call to useImmutableValue should be removed if the redirect after update is also removed + const wrapper = useImmutableValue(foundWrapper) + const wrapperMeta = WRAPPERS.find((w) => w.handlerName === wrapper?.handler) - const { mutateAsync: updateFDW } = useFDWUpdateMutation() + const { mutateAsync: updateFDW, isLoading: isSaving } = useFDWUpdateMutation() const [wrapperTables, setWrapperTables] = useState([]) const [isEditingTable, setIsEditingTable] = useState(false) - const [isSaving, setIsSaving] = useState(false) const [selectedTableToEdit, setSelectedTableToEdit] = useState() const [formErrors, setFormErrors] = useState<{ [k: string]: string }>({}) @@ -142,7 +145,6 @@ const EditWrapper = () => { if (wrapperTables.length === 0) errors.tables = 'Please add at least one table' if (!isEmpty(errors)) return setFormErrors(errors) - setIsSaving(true) setSubmitting(true) try { await updateFDW({ @@ -167,7 +169,6 @@ const EditWrapper = () => { message: `Failed to create ${wrapperMeta.label} foreign data wrapper: ${error.message}`, }) } finally { - setIsSaving(false) setSubmitting(false) } } diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx index 06ed9c800ed..92032b53870 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx @@ -56,7 +56,7 @@ const Wrappers = () => {
- {isLoadingExtensions ? ( + {isLoadingExtensions || isLoading ? (
@@ -94,7 +94,7 @@ const Wrappers = () => { /> ) } else { - return <> + return null } })} diff --git a/studio/hooks/index.ts b/studio/hooks/index.ts index 53628ed64e5..587af606a57 100644 --- a/studio/hooks/index.ts +++ b/studio/hooks/index.ts @@ -1,6 +1,7 @@ export * from './misc/useStore' export * from './misc/withAuth' export * from './misc/useOptimisticSqlSnippetCreate' +export * from './misc/useImmutableValue' export * from './misc/useNotifications' export * from './misc/usePlatformStatus' export * from './misc/useParams' diff --git a/studio/hooks/misc/useImmutableValue.tsx b/studio/hooks/misc/useImmutableValue.tsx new file mode 100644 index 00000000000..433e0099fef --- /dev/null +++ b/studio/hooks/misc/useImmutableValue.tsx @@ -0,0 +1,14 @@ +import { useRef } from 'react' + +/** + * Once a non-undefined value is passed, it will never change. + */ +export function useImmutableValue(value: T | undefined): T | undefined { + const ref = useRef(value) + + if (!ref.current && value) { + ref.current = value + } + + return ref.current +} From 2be9d05327c6ead846750985984f9d2b3899d3b6 Mon Sep 17 00:00:00 2001 From: Alaister Young Date: Tue, 10 Jan 2023 16:34:18 +0000 Subject: [PATCH 43/53] refetch fdw query on create --- package-lock.json | 212 +++++++++--------- .../Database/Wrappers/CreateWrapper.tsx | 8 +- studio/data/fdw/fdw-create-mutation.ts | 2 +- studio/package.json | 4 +- 4 files changed, 113 insertions(+), 113 deletions(-) diff --git a/package-lock.json b/package-lock.json index a623b4950f1..3c3c95cece7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9706,75 +9706,6 @@ "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" } }, - "node_modules/@tanstack/match-sorter-utils": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.1.1.tgz", - "integrity": "sha512-IdmEekEYxQsoLOR0XQyw3jD1GujBpRRYaGJYQUw1eOT1eUugWxdc7jomh1VQ1EKHcdwDLpLaCz/8y4KraU4T9A==", - "dependencies": { - "remove-accents": "0.4.2" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kentcdodds" - } - }, - "node_modules/@tanstack/query-core": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.15.1.tgz", - "integrity": "sha512-+UfqJsNbPIVo0a9ANW0ZxtjiMfGLaaoIaL9vZeVycvmBuWywJGtSi7fgPVMCPdZQFOzMsaXaOsDtSKQD5xLRVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.16.1.tgz", - "integrity": "sha512-PDE9u49wSDykPazlCoLFevUpceLjQ0Mm8i6038HgtTEKb/aoVnUZdlUP7C392ds3Cd75+EGlHU7qpEX06R7d9Q==", - "dependencies": { - "@tanstack/query-core": "4.15.1", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-native": "*" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/@tanstack/react-query-devtools": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.16.1.tgz", - "integrity": "sha512-VrDYLmG+OOcvGSZL5avG4R8jhqeMFP7pzW2sh2BWEV9UfI+aocG+CW8y8ygacxuKy48m8Tyo/xfe8H1z9BGb+g==", - "dependencies": { - "@tanstack/match-sorter-utils": "8.1.1", - "superjson": "^1.10.0", - "use-sync-external-store": "^1.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/react-query": "4.16.1", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/@testdeck/core": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.2.2.tgz", @@ -37583,8 +37514,8 @@ "@supabase/react-data-grid": "^7.1.0-beta.7", "@supabase/shared-types": "^0.1.29", "@supabase/supabase-js": "^2.1.1", - "@tanstack/react-query": "^4.16.1", - "@tanstack/react-query-devtools": "^4.16.1", + "@tanstack/react-query": "^4.22.0", + "@tanstack/react-query-devtools": "^4.22.0", "ajv": "^8.6.3", "analytics-node": "^3.5.0", "awesome-debounce-promise": "^2.1.0", @@ -37717,6 +37648,75 @@ "tailwindcss": ">=3.0.0 || insiders" } }, + "studio/node_modules/@tanstack/match-sorter-utils": { + "version": "8.7.6", + "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.7.6.tgz", + "integrity": "sha512-2AMpRiA6QivHOUiBpQAVxjiHAA68Ei23ZUMNaRJrN6omWiSFLoYrxGcT6BXtuzp0Jw4h6HZCmGGIM/gbwebO2A==", + "dependencies": { + "remove-accents": "0.4.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kentcdodds" + } + }, + "studio/node_modules/@tanstack/query-core": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.22.0.tgz", + "integrity": "sha512-OeLyBKBQoT265f5G9biReijeP8mBxNFwY7ZUu1dKL+YzqpG5q5z7J/N1eT8aWyKuhyDTiUHuKm5l+oIVzbtrjw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "studio/node_modules/@tanstack/react-query": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.22.0.tgz", + "integrity": "sha512-P9o+HjG42uB/xHR6dMsJaPhtZydSe4v0xdG5G/cEj1oHZAXelMlm67/rYJNQGKgBamKElKogj+HYGF+NY2yHYg==", + "dependencies": { + "@tanstack/query-core": "4.22.0", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "studio/node_modules/@tanstack/react-query-devtools": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.22.0.tgz", + "integrity": "sha512-YeYFBnfqvb+ZlA0IiJqiHNNSzepNhI1p2o9i8NlhQli9+Zrn230M47OBaBUs8qr3DD1dC2zGB1Dis50Ktz8gAA==", + "dependencies": { + "@tanstack/match-sorter-utils": "^8.7.0", + "superjson": "^1.10.0", + "use-sync-external-store": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/react-query": "4.22.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "studio/node_modules/@types/d3-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.2.tgz", @@ -44528,38 +44528,6 @@ "mini-svg-data-uri": "^1.2.3" } }, - "@tanstack/match-sorter-utils": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.1.1.tgz", - "integrity": "sha512-IdmEekEYxQsoLOR0XQyw3jD1GujBpRRYaGJYQUw1eOT1eUugWxdc7jomh1VQ1EKHcdwDLpLaCz/8y4KraU4T9A==", - "requires": { - "remove-accents": "0.4.2" - } - }, - "@tanstack/query-core": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.15.1.tgz", - "integrity": "sha512-+UfqJsNbPIVo0a9ANW0ZxtjiMfGLaaoIaL9vZeVycvmBuWywJGtSi7fgPVMCPdZQFOzMsaXaOsDtSKQD5xLRVQ==" - }, - "@tanstack/react-query": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.16.1.tgz", - "integrity": "sha512-PDE9u49wSDykPazlCoLFevUpceLjQ0Mm8i6038HgtTEKb/aoVnUZdlUP7C392ds3Cd75+EGlHU7qpEX06R7d9Q==", - "requires": { - "@tanstack/query-core": "4.15.1", - "use-sync-external-store": "^1.2.0" - } - }, - "@tanstack/react-query-devtools": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.16.1.tgz", - "integrity": "sha512-VrDYLmG+OOcvGSZL5avG4R8jhqeMFP7pzW2sh2BWEV9UfI+aocG+CW8y8ygacxuKy48m8Tyo/xfe8H1z9BGb+g==", - "requires": { - "@tanstack/match-sorter-utils": "8.1.1", - "superjson": "^1.10.0", - "use-sync-external-store": "^1.2.0" - } - }, "@testdeck/core": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@testdeck/core/-/core-0.2.2.tgz", @@ -63365,11 +63333,11 @@ "@supabase/shared-types": "^0.1.29", "@supabase/supabase-js": "^2.1.1", "@tailwindcss/typography": "^0.5.2", - "@tanstack/react-query": "^4.16.1", - "@tanstack/react-query-devtools": "^4.16.1", + "@tanstack/react-query": "^4.22.0", + "@tanstack/react-query-devtools": "^4.22.0", "@testing-library/dom": "^8.19.0", "@testing-library/react": "^12.1.5", - "@testing-library/react-hooks": "*", + "@testing-library/react-hooks": "^8.0.1", "@testing-library/user-event": "^13.5.0", "@types/blueimp-md5": "^2.18.0", "@types/file-saver": "^2.0.2", @@ -63484,6 +63452,38 @@ "postcss-selector-parser": "6.0.10" } }, + "@tanstack/match-sorter-utils": { + "version": "8.7.6", + "resolved": "https://registry.npmjs.org/@tanstack/match-sorter-utils/-/match-sorter-utils-8.7.6.tgz", + "integrity": "sha512-2AMpRiA6QivHOUiBpQAVxjiHAA68Ei23ZUMNaRJrN6omWiSFLoYrxGcT6BXtuzp0Jw4h6HZCmGGIM/gbwebO2A==", + "requires": { + "remove-accents": "0.4.2" + } + }, + "@tanstack/query-core": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.22.0.tgz", + "integrity": "sha512-OeLyBKBQoT265f5G9biReijeP8mBxNFwY7ZUu1dKL+YzqpG5q5z7J/N1eT8aWyKuhyDTiUHuKm5l+oIVzbtrjw==" + }, + "@tanstack/react-query": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.22.0.tgz", + "integrity": "sha512-P9o+HjG42uB/xHR6dMsJaPhtZydSe4v0xdG5G/cEj1oHZAXelMlm67/rYJNQGKgBamKElKogj+HYGF+NY2yHYg==", + "requires": { + "@tanstack/query-core": "4.22.0", + "use-sync-external-store": "^1.2.0" + } + }, + "@tanstack/react-query-devtools": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-4.22.0.tgz", + "integrity": "sha512-YeYFBnfqvb+ZlA0IiJqiHNNSzepNhI1p2o9i8NlhQli9+Zrn230M47OBaBUs8qr3DD1dC2zGB1Dis50Ktz8gAA==", + "requires": { + "@tanstack/match-sorter-utils": "^8.7.0", + "superjson": "^1.10.0", + "use-sync-external-store": "^1.2.0" + } + }, "@types/d3-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-2.0.2.tgz", diff --git a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx index e97ddf91e98..dbe8fe10c83 100644 --- a/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx +++ b/studio/components/interfaces/Database/Wrappers/CreateWrapper.tsx @@ -52,10 +52,10 @@ const CreateWrapper = () => { if (wrapperMeta === undefined) { return ( -
+

Unsupported wrapper type

-

+

The wrapper type {type} not supported by the dashboard. Head back to create a different wrapper.

@@ -158,7 +158,7 @@ const CreateWrapper = () => { +
{
)} {newTables.length === 0 && formErrors.tables && ( -

{formErrors.tables}

+

{formErrors.tables}

)} diff --git a/studio/data/fdw/fdw-create-mutation.ts b/studio/data/fdw/fdw-create-mutation.ts index 3611b08d305..5ebd1fb6893 100644 --- a/studio/data/fdw/fdw-create-mutation.ts +++ b/studio/data/fdw/fdw-create-mutation.ts @@ -158,7 +158,7 @@ export const useFDWCreateMutation = ({ const { projectRef } = variables await Promise.all([ - queryClient.invalidateQueries(sqlKeys.query(projectRef, ['fdws'])), + queryClient.invalidateQueries(sqlKeys.query(projectRef, ['fdws']), { refetchType: 'all' }), vault.load(), ]) diff --git a/studio/package.json b/studio/package.json index e35239fa471..400528424c4 100644 --- a/studio/package.json +++ b/studio/package.json @@ -30,8 +30,8 @@ "@supabase/react-data-grid": "^7.1.0-beta.7", "@supabase/shared-types": "^0.1.29", "@supabase/supabase-js": "^2.1.1", - "@tanstack/react-query": "^4.16.1", - "@tanstack/react-query-devtools": "^4.16.1", + "@tanstack/react-query": "^4.22.0", + "@tanstack/react-query-devtools": "^4.22.0", "ajv": "^8.6.3", "analytics-node": "^3.5.0", "awesome-debounce-promise": "^2.1.0", From c8fd1b7949d06b4d62de7dd27f3a4b3ca530f969 Mon Sep 17 00:00:00 2001 From: Gustavo Santos <53129852+gefgu@users.noreply.github.com> Date: Tue, 10 Jan 2023 17:56:15 +0000 Subject: [PATCH 44/53] fix(docs): more concise change --- .../guides/auth/auth-helpers/nextjs-server-components.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx index 9c1efcd155c..4f4fca14b1f 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx @@ -220,13 +220,13 @@ export default function SupabaseListener({ accessToken }) { const router = useRouter() useEffect(() => { - const event = supabase.auth.onAuthStateChange((event, session) => { + const { data: subscription } = supabase.auth.onAuthStateChange((event, session) => { if (session?.access_token !== accessToken) { router.refresh() } }) - return () => event.data.subscription.unsubscribe(); + return () => subscription.unsubscribe(); }, [accessToken]) return null From 68faefb07fe2bcef9125f3b8749ab0e314a03b8c Mon Sep 17 00:00:00 2001 From: Gustavo Santos <53129852+gefgu@users.noreply.github.com> Date: Tue, 10 Jan 2023 18:01:17 +0000 Subject: [PATCH 45/53] fix: remove semicolon --- .../pages/guides/auth/auth-helpers/nextjs-server-components.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx index 4f4fca14b1f..a49f6c3c2ca 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/nextjs-server-components.mdx @@ -226,7 +226,7 @@ export default function SupabaseListener({ accessToken }) { } }) - return () => subscription.unsubscribe(); + return () => subscription.unsubscribe() }, [accessToken]) return null From ff10cf167fa4835aa1229c7e6defe6b3b419a444 Mon Sep 17 00:00:00 2001 From: Wen Bo Xie Date: Tue, 10 Jan 2023 13:21:44 -0800 Subject: [PATCH 46/53] feat: version bump Realtime image to v2.1.0 --- docker/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 1f70d259a58..db91090408e 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -105,7 +105,7 @@ services: realtime: container_name: realtime-dev.supabase-realtime - image: supabase/realtime:v2.0.2 + image: supabase/realtime:v2.1.0 depends_on: db: # Disable this if you are using an external Postgres database condition: service_healthy From e22c340fb61d0e275e881b04646b086aa1fb2e47 Mon Sep 17 00:00:00 2001 From: Joshen Lim Date: Wed, 11 Jan 2023 12:27:24 +0800 Subject: [PATCH 47/53] Remove unnecessary isLoading prop --- .../Database/Wrappers/WrapperRow.tsx | 173 ++++++++---------- .../interfaces/Database/Wrappers/Wrappers.tsx | 1 - 2 files changed, 78 insertions(+), 96 deletions(-) diff --git a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx index a79ca3d972b..35b7efbed34 100644 --- a/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx +++ b/studio/components/interfaces/Database/Wrappers/WrapperRow.tsx @@ -1,15 +1,7 @@ import Link from 'next/link' import Image from 'next/image' import { FC } from 'react' -import { - Collapsible, - IconChevronUp, - Button, - IconExternalLink, - IconLoader, - IconTrash, - IconEdit, -} from 'ui' +import { Collapsible, IconChevronUp, Button, IconExternalLink, IconTrash, IconEdit } from 'ui' import { partition } from 'lodash' import { useParams, useStore } from 'hooks' @@ -23,11 +15,10 @@ interface Props { wrappers: FDW[] wrapperMeta: WrapperMeta isOpen: boolean - isLoading: boolean onOpen: (wrapper: string) => void } -const WrapperRow: FC = ({ wrappers = [], wrapperMeta, isOpen, isLoading, onOpen }) => { +const WrapperRow: FC = ({ wrappers = [], wrapperMeta, isOpen, onOpen }) => { const { ui } = useStore() const { ref } = useParams() const { project } = useProjectContext() @@ -99,101 +90,93 @@ const WrapperRow: FC = ({ wrappers = [], wrapperMeta, isOpen, isLoading, {wrapperMeta.label}
- {isLoading ? ( -
- -
- ) : ( -
- {wrappers.length} wrapper{wrappers.length > 1 ? 's' : ''} -
- )} +
+ {wrappers.length} wrapper{wrappers.length > 1 ? 's' : ''} +
- {!isLoading && ( - -
- {wrappers.map((wrapper) => { - const serverOptions = Object.fromEntries( - wrapper.server_options.map((option: any) => option.split('=')) - ) - const [encryptedMetadata, visibleMetadata] = partition( - wrapperMeta.server.options, - 'hidden' - ) + +
+ {wrappers.map((wrapper) => { + const serverOptions = Object.fromEntries( + wrapper.server_options.map((option: any) => option.split('=')) + ) + const [encryptedMetadata, visibleMetadata] = partition( + wrapperMeta.server.options, + 'hidden' + ) - return ( -
-
-
-

{wrapper.name}

+ return ( +
+
+
+

{wrapper.name}

+
+ {visibleMetadata.map((metadata) => ( +
+

{metadata.label}:

+

{serverOptions[metadata.name]}

- {visibleMetadata.map((metadata) => ( -
( +
+

{metadata.label}:

+ -

{metadata.label}:

-

{serverOptions[metadata.name]}

-
- ))} - {encryptedMetadata.map((metadata) => ( - + ))} +
+

+ Foreign tables: ({wrapper.tables.length}) +

+
+ {wrapper.tables.map((table: any) => ( + + +
+ {table.name} +
-
- ))} -
-

- Foreign tables: ({wrapper.tables.length}) -

-
- {wrapper.tables.map((table: any) => ( - - -
- {table.name} -
-
- - ))} -
+ ))}
-
- - -
- ) - })} -
- - )} +
+ + +
+
+ ) + })} +
+ ) diff --git a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx index 92032b53870..d05146b786d 100644 --- a/studio/components/interfaces/Database/Wrappers/Wrappers.tsx +++ b/studio/components/interfaces/Database/Wrappers/Wrappers.tsx @@ -85,7 +85,6 @@ const Wrappers = () => { key={i} wrapperMeta={wrapper} wrappers={createdWrappers} - isLoading={isLoading} isOpen={open === wrapper.name} onOpen={(wrapperName) => { if (open !== wrapperName) setOpen(wrapperName) From c8a08e936bd644c8815b708b220258847aa910d2 Mon Sep 17 00:00:00 2001 From: Inian Date: Wed, 11 Jan 2023 14:14:11 +0800 Subject: [PATCH 48/53] update storage docs --- spec/enrichments/tsdoc_v2/combined.json | 2 +- spec/enrichments/tsdoc_v2/storage.json | 2 +- spec/enrichments/tsdoc_v2/storage_dereferenced.json | 2 +- spec/gotrue_v1_config.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/enrichments/tsdoc_v2/combined.json b/spec/enrichments/tsdoc_v2/combined.json index 0467e800000..0c72523e032 100644 --- a/spec/enrichments/tsdoc_v2/combined.json +++ b/spec/enrichments/tsdoc_v2/combined.json @@ -79271,7 +79271,7 @@ "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Downloads a file." + "shortText": "Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead." }, "parameters": [ { diff --git a/spec/enrichments/tsdoc_v2/storage.json b/spec/enrichments/tsdoc_v2/storage.json index d94d2aadde8..475ba699fc3 100644 --- a/spec/enrichments/tsdoc_v2/storage.json +++ b/spec/enrichments/tsdoc_v2/storage.json @@ -5251,7 +5251,7 @@ "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Downloads a file." + "shortText": "Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead." }, "parameters": [ { diff --git a/spec/enrichments/tsdoc_v2/storage_dereferenced.json b/spec/enrichments/tsdoc_v2/storage_dereferenced.json index 2074da33442..634dd23b469 100644 --- a/spec/enrichments/tsdoc_v2/storage_dereferenced.json +++ b/spec/enrichments/tsdoc_v2/storage_dereferenced.json @@ -5550,7 +5550,7 @@ "kindString": "Call signature", "flags": {}, "comment": { - "shortText": "Downloads a file." + "shortText": "Downloads a file from a private bucket. For public buckets, make a request to the URL returned from `getPublicUrl` instead." }, "parameters": [ { diff --git a/spec/gotrue_v1_config.yaml b/spec/gotrue_v1_config.yaml index fd7e88431b2..31827802154 100644 --- a/spec/gotrue_v1_config.yaml +++ b/spec/gotrue_v1_config.yaml @@ -40,7 +40,7 @@ parameters: tags: ['general'] # {string[]} These tags are useful for grouping parameters required: true description: | - The base URL of your website. Used as an allow-list for redirects and for constructing URLs used in emails. + The base URL of your website. Used as an allow-list for redirects and for constructing URLs used in emails. - id: 'GOTRUE_URI_ALLOW_LIST' # {string} A unique identifier for this param. title: 'auth.additional_redirect_urls' # {string} Any name. tags: ['general'] # {string[]} These tags are useful for grouping parameters From 35ae4f8a942a59f2da785c33d09199fea18db627 Mon Sep 17 00:00:00 2001 From: dshukertjr <18113850+dshukertjr@users.noreply.github.com> Date: Thu, 12 Jan 2023 00:00:18 +0900 Subject: [PATCH 49/53] remove execute() from dart code --- apps/docs/pages/guides/database/functions.mdx | 15 ++++++--------- apps/docs/pages/guides/database/tables.mdx | 4 ++-- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/apps/docs/pages/guides/database/functions.mdx b/apps/docs/pages/guides/database/functions.mdx index 0204ef78eac..3c547cf93fd 100644 --- a/apps/docs/pages/guides/database/functions.mdx +++ b/apps/docs/pages/guides/database/functions.mdx @@ -88,9 +88,8 @@ Reference: [rpc()](../../reference/javascript/rpc) ```dart -final res = await supabase - .rpc('hello_world') - .execute(); +final data = await supabase + .rpc('hello_world'); ``` Reference: [rpc()](../../reference/dart/rpc) @@ -199,10 +198,9 @@ const { data, error } = supabase.rpc('get_planets').eq('id', 1) ```dart -final res = await supabase +final data = await supabase .rpc('get_planets') - .eq('id', 1) - .execute(); + .eq('id', 1); ``` @@ -254,9 +252,8 @@ const { data, error } = await supabase.rpc('add_planet', { name: 'Jakku' }) ```dart -final res = await supabase - .rpc('add_planet', params: { 'name': 'Jakku' }) - .execute(); +final data = await supabase + .rpc('add_planet', params: { 'name': 'Jakku' }); ``` diff --git a/apps/docs/pages/guides/database/tables.mdx b/apps/docs/pages/guides/database/tables.mdx index 78d1b62115a..3a8caa24c19 100644 --- a/apps/docs/pages/guides/database/tables.mdx +++ b/apps/docs/pages/guides/database/tables.mdx @@ -206,7 +206,7 @@ const { data, error } = await supabase ```sql -final res = await supabase +await supabase .from('movies') .insert([{ name: 'The Empire Strikes Back', @@ -214,7 +214,7 @@ final res = await supabase }, { name: 'Return of the Jedi', description: 'After a daring mission to rescue Han Solo from Jabba the Hutt, the Rebels dispatch to Endor to destroy the second Death Star.' - }]).execute(); + }]); ``` From f7f781749e5bcff076088119fb5b2c292abae9eb Mon Sep 17 00:00:00 2001 From: Peter Ibidapo-Obe Date: Wed, 11 Jan 2023 16:10:10 +0100 Subject: [PATCH 50/53] Fix documentation descriptions --- apps/docs/pages/guides/getting-started.mdx | 16 ++++++++-------- apps/docs/pages/guides/tutorials.mdx | 18 +++++++++--------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/apps/docs/pages/guides/getting-started.mdx b/apps/docs/pages/guides/getting-started.mdx index 5cb4efb70e2..535ee897ec6 100644 --- a/apps/docs/pages/guides/getting-started.mdx +++ b/apps/docs/pages/guides/getting-started.mdx @@ -85,28 +85,28 @@ export const webapps = [ title: 'Angular', href: '/guides/getting-started/tutorials/with-angular', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Angular and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/angular-icon', }, { title: 'RedwoodJS', href: '/guides/getting-started/tutorials/with-redwoodjs', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with RedwoodJS and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/redwood-icon', }, { title: 'Svelte', href: '/guides/getting-started/tutorials/with-svelte', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Svelte and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/svelte-icon', }, { title: 'SvelteKit', href: '/guides/getting-started/tutorials/with-sveltekit', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with SvelteKit and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/svelte-icon', }, { @@ -120,28 +120,28 @@ export const webapps = [ title: 'Expo', href: '/guides/getting-started/tutorials/with-expo', description: - 'Learn how to build a user management app with React and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Expo and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/expo-icon', }, { title: 'Ionic React', href: '/guides/getting-started/tutorials/with-ionic-react', description: - 'Learn how to build a user management app with React and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Ionic React and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/ionic-icon', }, { title: 'Ionic Vue', href: '/guides/getting-started/tutorials/with-ionic-vue', description: - 'Learn how to build a user management app with Flutter and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Ionic Vue and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/ionic-icon', }, { title: 'Ionic Angular', href: '/guides/getting-started/tutorials/with-ionic-angular', description: - 'Learn how to build a user management app with NextJS and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Ionic Angular and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/ionic-icon', }, ] diff --git a/apps/docs/pages/guides/tutorials.mdx b/apps/docs/pages/guides/tutorials.mdx index 39f553feea8..887788bdb39 100644 --- a/apps/docs/pages/guides/tutorials.mdx +++ b/apps/docs/pages/guides/tutorials.mdx @@ -84,31 +84,31 @@ export const webapps = [ icon: '/docs/img/icons/nuxt-icon', }, { - title: 'Anglular', + title: 'Angular', href: '/guides/tutorials/with-angular', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Angular and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/angular-icon', }, { title: 'RedwoodJS', href: '/guides/tutorials/with-redwoodjs', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with RedwoodJS and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/redwood-icon', }, { title: 'Svelte', href: '/guides/tutorials/with-svelte', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Svelte and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/svelte-icon', }, { title: 'SvelteKit', href: '/guides/tutorials/with-sveltekit', description: - 'Learn how to build a user management app with Nuxt 3 and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with SvelteKit and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/svelte-icon', }, ] @@ -125,7 +125,7 @@ export const mobile = [ title: 'Expo', href: '/guides/tutorials/with-expo', description: - 'Learn how to build a user management app with React and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Expo and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/expo-icon', }, ] @@ -135,21 +135,21 @@ export const lowCode = [ title: 'Ionic React', href: '/guides/tutorials/with-ionic-react', description: - 'Learn how to build a user management app with React and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Ionic React and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/ionic-icon', }, { title: 'Ionic Vue', href: '/guides/tutorials/with-ionic-vue', description: - 'Learn how to build a user management app with Flutter and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Ionic Vue and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/ionic-icon', }, { title: 'Ionic Angular', href: '/guides/tutorials/with-ionic-angular', description: - 'Learn how to build a user management app with NextJS and Supabase Database, Auth, and Storage functionality.', + 'Learn how to build a user management app with Ionic Angular and Supabase Database, Auth, and Storage functionality.', icon: '/docs/img/icons/ionic-icon', }, ] From d0196ece8b6c4696e381146b071f5d72b53e00a3 Mon Sep 17 00:00:00 2001 From: yayza <80866371+yayza@users.noreply.github.com> Date: Wed, 11 Jan 2023 17:38:39 -0800 Subject: [PATCH 51/53] Update sveltekit.mdx Tiny spelling mistake --- apps/docs/pages/guides/auth/auth-helpers/sveltekit.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/pages/guides/auth/auth-helpers/sveltekit.mdx b/apps/docs/pages/guides/auth/auth-helpers/sveltekit.mdx index e6d1d141100..bcdcef28fc2 100644 --- a/apps/docs/pages/guides/auth/auth-helpers/sveltekit.mdx +++ b/apps/docs/pages/guides/auth/auth-helpers/sveltekit.mdx @@ -39,7 +39,7 @@ yarn add @supabase/auth-helpers-sveltekit ### Configuration -Set up the fillowing env vars. For local development you can set them in a `.env` file. See an [example](https://github.com/supabase/auth-helpers/blob/main/examples/sveltekit/.env.example). +Set up the following env vars. For local development you can set them in a `.env` file. See an [example](https://github.com/supabase/auth-helpers/blob/main/examples/sveltekit/.env.example). ```bash # Find these in your Supabase project settings > API From 2d2ba85af51eb2a3dafa6b4f6bf6d82face289a1 Mon Sep 17 00:00:00 2001 From: Inian Date: Thu, 12 Jan 2023 11:49:30 +0800 Subject: [PATCH 52/53] add origin image clarification for storage pricing --- apps/www/data/Pricing.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/www/data/Pricing.json b/apps/www/data/Pricing.json index 7d2dd4e24ae..dd2589b08f3 100644 --- a/apps/www/data/Pricing.json +++ b/apps/www/data/Pricing.json @@ -194,6 +194,7 @@ }, { "title": "Asset transformations", + "tooltip": "Origin images are only relevant for image transformations. Images in the bucket which are not transformed do not count towards this limit.", "tiers": { "free": false, "pro": "Unlimited transformations for 100 origin images, then 5$ per 1000 origin images", From caa7220bcd197f5cafe0bdc482cc49ada243a877 Mon Sep 17 00:00:00 2001 From: Kevin Brolly Date: Thu, 12 Jan 2023 07:36:57 +0000 Subject: [PATCH 53/53] Add note to local development docs for NPM users Some [users had trouble](https://www.reddit.com/r/Supabase/comments/zl8zgz/trying_to_install_supabase_cli/) when installing the Supabase CLI via NPM, this note may provide some guidance in these cases. --- .../guides/resources/supabase-cli/local-development.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/apps/docs/pages/guides/resources/supabase-cli/local-development.mdx b/apps/docs/pages/guides/resources/supabase-cli/local-development.mdx index eb4d4572a8b..b0f45364b52 100644 --- a/apps/docs/pages/guides/resources/supabase-cli/local-development.mdx +++ b/apps/docs/pages/guides/resources/supabase-cli/local-development.mdx @@ -31,6 +31,13 @@ Make sure you have these installed on your local machine: supabase login ``` + + +If you installed the Supabase CLI via NPM you may have to use `npx supabase login`. + + + + ## Initialize your project Create a new folder for your project and start a new git repository: