Files
DiceCloud/app/imports/migrations/methods/migrateTo.js
2023-09-28 21:27:05 +02:00

30 lines
767 B
JavaScript

import { ValidatedMethod } from 'meteor/mdg:validated-method';
import { RateLimiterMixin } from 'ddp-rate-limiter-mixin';
import SimpleSchema from 'simpl-schema';
import { assertAdmin } from '/imports/api/sharing/sharingPermissions';
import { Migrations } from 'meteor/percolate:migrations';
const migrateTo = new ValidatedMethod({
name: 'admin.migrateTo',
validate: new SimpleSchema({
version: {
type: SimpleSchema.oneOf(
SimpleSchema.Integer,
String
),
},
}).validator(),
mixins: [RateLimiterMixin],
rateLimit: {
numRequests: 1,
timeInterval: 10000,
},
run({ version }) {
if (Meteor.isClient) return;
assertAdmin(this.userId);
Migrations.migrateTo(version);
},
});
export default migrateTo;