mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
Merge pull request #31783 from overleaf/jel-mongo-domainVerification
[web] Add `domainVerifications` collection GitOrigin-RevId: 5a9fe9ea80ecf76af9802014149ae785cc4412d5
This commit is contained in:
@@ -38,6 +38,7 @@ export const db = {
|
|||||||
deletedProjects: internalDb.collection('deletedProjects'),
|
deletedProjects: internalDb.collection('deletedProjects'),
|
||||||
deletedSubscriptions: internalDb.collection('deletedSubscriptions'),
|
deletedSubscriptions: internalDb.collection('deletedSubscriptions'),
|
||||||
deletedUsers: internalDb.collection('deletedUsers'),
|
deletedUsers: internalDb.collection('deletedUsers'),
|
||||||
|
domainVerifications: internalDb.collection('domainVerifications'),
|
||||||
dropboxEntities: internalDb.collection('dropboxEntities'),
|
dropboxEntities: internalDb.collection('dropboxEntities'),
|
||||||
dropboxProjects: internalDb.collection('dropboxProjects'),
|
dropboxProjects: internalDb.collection('dropboxProjects'),
|
||||||
docSnapshots: internalDb.collection('docSnapshots'),
|
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,
|
||||||
|
}
|
||||||
@@ -20,6 +20,7 @@ export const db = {
|
|||||||
dropboxProjects: internalDb.collection('dropboxProjects'),
|
dropboxProjects: internalDb.collection('dropboxProjects'),
|
||||||
docSnapshots: internalDb.collection('docSnapshots'),
|
docSnapshots: internalDb.collection('docSnapshots'),
|
||||||
docs: internalDb.collection('docs'),
|
docs: internalDb.collection('docs'),
|
||||||
|
domainVerifications: internalDb.collection('domainVerifications'),
|
||||||
feedbacks: internalDb.collection('feedbacks'),
|
feedbacks: internalDb.collection('feedbacks'),
|
||||||
githubSyncEntityVersions: internalDb.collection('githubSyncEntityVersions'),
|
githubSyncEntityVersions: internalDb.collection('githubSyncEntityVersions'),
|
||||||
githubSyncProjectStates: internalDb.collection('githubSyncProjectStates'),
|
githubSyncProjectStates: internalDb.collection('githubSyncProjectStates'),
|
||||||
|
|||||||
Reference in New Issue
Block a user