supabaseEdgeFunctionStorage top-level property

StoragePlugin Function(SupabaseEdgeFunctionStorageConfig config, [StoragePluginHooks? hooks]) supabaseEdgeFunctionStorage
final

Edge-function variant of supabaseStorage: a runtime-only storage plugin (no node profile) backed by the Supabase client.

Implementation

final supabaseEdgeFunctionStorage =
    createRuntimeStoragePlugin<SupabaseEdgeFunctionStorageConfig>(
      name: 'supabaseEdgeFunctionStorage',
      supportedProtocol: 'supabase-storage',
      factory: (config) {
        final supabase = config.clientFactory(
          config.supabaseUrl,
          config.supabaseServiceRoleKey,
        );
        final resolveSignedUrl = createSupabaseSignedUrlBatcher(
          createSignedUrls: (bucketName, keys, expiresIn) => supabase.storage
              .from(bucketName)
              .createSignedUrls(keys, expiresIn),
          expiresIn: config.signedUrlExpiresIn ?? 3600,
          formatObjectPath: (bucketName, key) => '$bucketName/$key',
        );

        return RuntimeStorageProfileImplEdge(
          supabase: supabase,
          resolveSignedUrl: resolveSignedUrl,
        );
      },
    );