overleaf/services/web/migrations/20230502180757_server_pro_oauth_indexes.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

const Helpers = require('./lib/helpers')
exports.tags = ['server-pro']
const OAUTH_APPLICATIONS_INDEX = {
key: { id: 1 },
unique: true,
name: 'id_1',
}
const OAUTH_ACCESS_TOKENS_INDEX = {
key: { accessToken: 1 },
unique: true,
name: 'accessToken_1',
}
const OAUTH_AUTHORIZATION_CODES_INDEX = {
key: { authorizationCode: 1 },
unique: true,
name: 'authorizationCode_1',
}
exports.migrate = async client => {
const { db } = client
await Helpers.addIndexesToCollection(db.oauthApplications, [
OAUTH_APPLICATIONS_INDEX,
])
await Helpers.addIndexesToCollection(db.oauthAccessTokens, [
OAUTH_ACCESS_TOKENS_INDEX,
])
await Helpers.addIndexesToCollection(db.oauthAuthorizationCodes, [
OAUTH_AUTHORIZATION_CODES_INDEX,
])
}
exports.rollback = async client => {
const { db } = client
await Helpers.dropIndexesFromCollection(db.oauthApplications, [
OAUTH_APPLICATIONS_INDEX,
])
await Helpers.dropIndexesFromCollection(db.oauthAccessTokens, [
OAUTH_ACCESS_TOKENS_INDEX,
])
await Helpers.dropIndexesFromCollection(db.oauthAuthorizationCodes, [
OAUTH_AUTHORIZATION_CODES_INDEX,
])
}