Database Adapters

AirBadge uses Auth.js’s database adapters.

It requires some extra fields to the User schema.

Extra fields

Name Type Description
subscriptionId String The id of the Stripe subscription.
subscriptionStatus String The status of the Stripe subscription.
customerId String The customerId of the user in Stripe.
priceId String The priceId of the subscription.
plan String The plan the user is on. Maps to Price’s lookup_key.

Prisma

Follow the Auth.js setup instructions.

Then adjust the User schema in prisma/schema.prisma:

model User {
  // existing fields, id, name etc...

  // add these fields
  customerId         String?
  subscriptionId     String?
  subscriptionStatus SubscriptionStatus?
  plan               String?
  priceId            String?
}

// add this enum
enum SubscriptionStatus {
  INCOMPLETE
  INCOMPLETE_EXPIRED
  TRIALING
  ACTIVE
  PAST_DUE
  CANCELED
  UNPAID
}

Then, run prisma db push to sync the database.

Mongo

The Mongo adapter works without any changes. See Auth.js setup instructions.

Drizzle

Coming soon.

Others

All others should work by adding the extra fields.