1

NextAuthを使用して Web サービスを作成し、それを 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 などからインポートされたすべてをログに記録しようとしましたが、どこにも見つかりませんこの接続が保存されていること。TypeORM Adapter クラスに格納されている関数を呼び出す必要があると思いますがgetAdapter()、アクセスできないようです。また、組み込みのメソッドのいずれかにアクセスしようとしましたが、setUserそれらも取得できません。そのため、データベース レコードを手動で変更する方法が見つかりません。

4

0 に答える 0