Co-authored-by: sealday <sealday@gmail.com> Reviewed-on: daoyoucloud/tachybase#1045
35 lines
869 B
TypeScript
35 lines
869 B
TypeScript
import { Migration } from '@tachybase/server';
|
|
|
|
import { authType } from '../../constants';
|
|
|
|
export default class UpdateAutoSignupMigration extends Migration {
|
|
appVersion = '<0.14.0-alpha.8';
|
|
async up() {
|
|
const result = await this.app.version.satisfies('<=0.14.0-alpha.8');
|
|
|
|
if (!result) {
|
|
return;
|
|
}
|
|
|
|
const r = this.db.getRepository('authenticators');
|
|
const items = await r.find({
|
|
filter: {
|
|
authType,
|
|
},
|
|
});
|
|
await this.db.sequelize.transaction(async (transaction) => {
|
|
for (const item of items) {
|
|
let options = item.options;
|
|
options = {
|
|
public: { autoSignup: true, ...options.public },
|
|
saml: { userBindField: 'email', ...options.saml },
|
|
};
|
|
item.set('options', options);
|
|
await item.save({ transaction });
|
|
}
|
|
});
|
|
}
|
|
|
|
async down() {}
|
|
}
|