Merge pull request #31783 from overleaf/jel-mongo-domainVerification

[web] Add `domainVerifications` collection

GitOrigin-RevId: 5a9fe9ea80ecf76af9802014149ae785cc4412d5
This commit is contained in:
Jessica Lawshe
2026-03-05 10:41:37 -06:00
committed by Copybot
parent 7daaba5af7
commit e89c9128c3
4 changed files with 67 additions and 0 deletions
@@ -38,6 +38,7 @@ export const db = {
deletedProjects: internalDb.collection('deletedProjects'),
deletedSubscriptions: internalDb.collection('deletedSubscriptions'),
deletedUsers: internalDb.collection('deletedUsers'),
domainVerifications: internalDb.collection('domainVerifications'),
dropboxEntities: internalDb.collection('dropboxEntities'),
dropboxProjects: internalDb.collection('dropboxProjects'),
docSnapshots: internalDb.collection('docSnapshots'),
@@ -0,0 +1,33 @@
import mongoose from '../infrastructure/Mongoose.mjs'
const { Schema } = mongoose
export const DomainVerificationSchema = new Schema(
{
domain: {
type: String,
required: true,
unique: true,
},
token: { type: String, required: true },
status: {
type: String,
enum: ['pending', 'verified', 'failed'],
default: 'pending',
},
createdAt: { type: Date, default: Date.now },
verifiedAt: Date,
reverifiedAt: Date,
verificationAttemptCount: { type: Number, default: 0 },
groupId: Schema.Types.ObjectId,
lastVerificationAttemptAt: Date,
},
{
collection: 'domainVerifications',
minimize: false,
}
)
export const DomainVerification = mongoose.model(
'DomainVerification',
DomainVerificationSchema
)
@@ -0,0 +1,32 @@
/* eslint-disable no-unused-vars */
import Helpers from './lib/helpers.mjs'
const tags = ['saas']
const indexes = [
{
key: { domain: 1 },
name: 'domain_1',
unique: true,
},
]
const migrate = async client => {
const { db } = client
await Helpers.addIndexesToCollection(db.domainVerifications, indexes)
}
const rollback = async client => {
const { db } = client
await Helpers.dropIndexesFromCollection(db.domainVerifications, [
{ name: 'domain_1' },
])
}
export default {
tags,
migrate,
rollback,
}
+1
View File
@@ -20,6 +20,7 @@ export const db = {
dropboxProjects: internalDb.collection('dropboxProjects'),
docSnapshots: internalDb.collection('docSnapshots'),
docs: internalDb.collection('docs'),
domainVerifications: internalDb.collection('domainVerifications'),
feedbacks: internalDb.collection('feedbacks'),
githubSyncEntityVersions: internalDb.collection('githubSyncEntityVersions'),
githubSyncProjectStates: internalDb.collection('githubSyncProjectStates'),