28
設定が柔軟すぎる
const sequelizeRevision = new SequelizeRevision(sequelize, {
UUID: true,
useJsonDataType: true,
underscored: true,
underscoredAttributes: true,
revisionAttribute: "version",
revisionIDAttribute: "versionId",
// userModel: "User",
// userIdAttribute: "userId",
enableRevisionChangeModel: true,
});
const [Revision, RevisionChange] =
sequelizeRevision.defineModels();
interface Revision extends Model<...> {
id: string;
document: object;
document_id: string;
operation: string;
version: number;
// userId declaration is gone
created_at: Date;
updated_at: Date;
}
interface RevisionChange extends Model<...> {
id: string;
version_id: string;
path: object;
document: object;
diff: object;
created_at: Date;
updated_at: Date;
}
設定に応じて全く違う変更履歴モデル(Revision, RevisionChange)が定義される