@nestixis/nestjs-supabase
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

nestjs-supabase

Installation

To install the package, run:

npm i @nestixis/nestjs-supabase

Registration

To register the module in your application, you can use the SupabaseSdkModule.registerAsync method with a factory pattern:

import { SupabaseSdkModule } from "@nestixis/nestjs-supabase";
import { ConfigModule, ConfigService } from "@nestjs/config";

SupabaseSdkModule.registerAsync({
  imports: [ConfigModule],
  useFactory: (configService: ConfigService) => ({
    auth: {
      url: configService.get<string>('SUPABASE_AUTH_URL'),
      key: configService.get<string>('SUPABASE_SERVICE_ROLE_KEY'),
    },
  }),
  inject: [ConfigService],
});

Usage

To use the Supabase client in your service, inject it using the SUPABASE_SDK_CLIENT token:

import { SupabaseClient } from '@supabase/supabase-js';
import { Inject } from '@nestjs/common';
import { SUPABASE_SDK_CLIENT } from '@nestixis/nestjs-supabase';

@Injectable()
export class YourService {
  constructor(
    @Inject(SUPABASE_SDK_CLIENT) private readonly supabaseClient: SupabaseClient
  ) {}

  async yourMethod() {
    const { data, error } = await this.supabaseClient
      .from('your_table')
      .select('*');
    if (error) {
      throw error;
    }
    return data;
  }
}

/@nestixis/nestjs-supabase/

    Package Sidebar

    Install

    npm i @nestixis/nestjs-supabase

    Weekly Downloads

    0

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    113 kB

    Total Files

    18

    Last publish

    Collaborators

    • karol_kawalec
    • axotion