Giter Club home page Giter Club logo

Comments (2)

grschafer avatar grschafer commented on July 4, 2024 2

Just saw this issue -- it's been a long time since you asked it so maybe you've found a way already, but I figured I'd share an idea.

Assuming you're using the normal supabase stack which includes postgrest, you could create a view in the public schema that exposes some of the data in the storage.objects table, for example:

create view public.objects as
select
    name,
    created_at,
    updated_at,
    last_accessed_at,
    (metadata->'size')::int as size
from storage.objects;

then you could make requests to /rest/v1/objects to get that info:

$ curl -s -X GET 'https://your-app-id.supabase.co/rest/v1/objects' \
    -H "apikey: <anon key>" \
    -H "Authorization: Bearer <api key>" | jq
[
  {
    "name": "myfile",
    "created_at": "2021-10-05T17:48:27.045129+00:00",
    "updated_at": "2021-10-05T17:48:27.045129+00:00",
    "last_accessed_at": "2021-10-05T17:48:27.045129+00:00",
    "size": 6
  }
]

I think this approach would apply RLS policies if you had them defined on your storage tables, but not 100% sure off the top of my head.

from storage.

fenos avatar fenos commented on July 4, 2024

Yes the above solution will work nicely, just don't forget to add the the authenticated owner to the view for RLS to work

create view public.objects as
select
    name,
    created_at,
    updated_at,
    last_accessed_at,
    (metadata->'size')::int as size
from storage.objects OWNER TO authenticated;

from storage.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.