Добавление и использование новых моделей баз данных с NextAuth

Я использую NextAuth для создания веб-службы и подключения ее к базе данных MongoDB. Теперь я могу войти в систему с помощью Google Auth, и записи правильно сохраняются в моей базе данных. Теперь мне нужно добавить новые модели в мою базу данных и добавить к ним через маршруты API.

Я выполнил эти инструкции, чтобы добавить собственную модель Test.

Test.js

export default class Test {
  constructor(name) {
    if (name) {
      this.name = name;
    }
  }
}

export const TestSchema = {
  name: 'Test',
  target: Test,
  columns: {
    id: {
      // This property has `objectId: true` instead of `type: int` in MongoDB
      primary: true,
      type: 'int',
      generated: true,
    },
    name: {
      type: 'varchar',
      nullable: true,
    },
    createdAt: {
      type: 'timestamp',
      createDate: true,
    },
    updatedAt: {
      type: 'timestamp',
      updateDate: true,
    },
  },
};

index.js

import Test, { TestSchema } from './Test';

export default {
  Test: {
    model: Test,
    schema: TestSchema,
  },
};

Я обновил [... nextauth.js], чтобы добавить Test к моему адаптеру

adapter: Adapters.TypeORM.Adapter(
  process.env.DATABASE_URL,
  {
    models: {
      Test: Models.Test,
    },
  }
)

На данный момент я не вижу ошибок, но не уверен, что они добавлены правильно. Итак, я хочу попробовать создать тест Testдокумент. Однако я не могу найти никакой документации о том, как это сделать. Мне нужен доступ к соединению с базой данных, но я пробовал регистрировать все, что импортировано из 'next-auth / adapters', 'next-auth / client', 'next-auth', req и т. Д. И нигде не могу найти что это соединение сохраняется. Я думаю, мне нужно позвонить в getAdapter()функция хранится в классе адаптера TypeORM, но я не могу получить к ней доступ. Я также попытался получить доступ к любому из встроенных методов, например setUserи не могу их получить. Поэтому я не могу найти способ вручную изменить записи базы данных.

0 ответов

Другие вопросы по тегам