backend: add room member migrations and update migration registry
This commit is contained in:
parent
7f784af12b
commit
a69c8d0239
@ -2,5 +2,6 @@ export * from './api-key-migrations.js';
|
||||
export * from './global-config-migrations.js';
|
||||
export * from './migration-registry.js';
|
||||
export * from './recording-migrations.js';
|
||||
export * from './room-member-migrations.js';
|
||||
export * from './room-migrations.js';
|
||||
export * from './user-migrations.js';
|
||||
|
||||
@ -15,11 +15,17 @@ import {
|
||||
MeetRecordingDocument,
|
||||
MeetRecordingModel
|
||||
} from '../models/mongoose-schemas/recording.schema.js';
|
||||
import {
|
||||
meetRoomMemberCollectionName,
|
||||
MeetRoomMemberDocument,
|
||||
MeetRoomMemberModel
|
||||
} from '../models/mongoose-schemas/room-member.schema.js';
|
||||
import { meetRoomCollectionName, MeetRoomDocument, MeetRoomModel } from '../models/mongoose-schemas/room.schema.js';
|
||||
import { meetUserCollectionName, MeetUserDocument, MeetUserModel } from '../models/mongoose-schemas/user.schema.js';
|
||||
import { apiKeyMigrations } from './api-key-migrations.js';
|
||||
import { globalConfigMigrations } from './global-config-migrations.js';
|
||||
import { recordingMigrations } from './recording-migrations.js';
|
||||
import { roomMemberMigrations } from './room-member-migrations.js';
|
||||
import { roomMigrations } from './room-migrations.js';
|
||||
import { userMigrations } from './user-migrations.js';
|
||||
|
||||
@ -35,6 +41,7 @@ const migrationRegistry: [
|
||||
CollectionMigrationRegistry<MeetUserDocument>,
|
||||
CollectionMigrationRegistry<MeetApiKeyDocument>,
|
||||
CollectionMigrationRegistry<MeetRoomDocument>,
|
||||
CollectionMigrationRegistry<MeetRoomMemberDocument>,
|
||||
CollectionMigrationRegistry<MeetRecordingDocument>
|
||||
] = [
|
||||
// GlobalConfig - no dependencies, can run first
|
||||
@ -65,8 +72,14 @@ const migrationRegistry: [
|
||||
currentVersion: INTERNAL_CONFIG.ROOM_SCHEMA_VERSION,
|
||||
migrations: roomMigrations
|
||||
},
|
||||
// RoomMember - depends on Room (references roomId)
|
||||
{
|
||||
collectionName: meetRoomMemberCollectionName,
|
||||
model: MeetRoomMemberModel,
|
||||
currentVersion: INTERNAL_CONFIG.ROOM_MEMBER_SCHEMA_VERSION,
|
||||
migrations: roomMemberMigrations
|
||||
},
|
||||
// Recording - depends on Room (references roomId)
|
||||
// Should be migrated after rooms
|
||||
{
|
||||
collectionName: meetRecordingCollectionName,
|
||||
model: MeetRecordingModel,
|
||||
|
||||
19
meet-ce/backend/src/migrations/room-member-migrations.ts
Normal file
19
meet-ce/backend/src/migrations/room-member-migrations.ts
Normal file
@ -0,0 +1,19 @@
|
||||
import { SchemaMigrationMap } from '../models/migration.model.js';
|
||||
import { MeetRoomMemberDocument } from '../models/mongoose-schemas/room-member.schema.js';
|
||||
|
||||
/**
|
||||
* Schema migrations for MeetRoomMember.
|
||||
* Key format: schema_{collection}_v{from}_to_v{to}
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* const roomMemberMigrationV1ToV2Name = generateSchemaMigrationName(meetRoomMemberCollectionName, 1, 2);
|
||||
*
|
||||
* const roomMemberMigrationV1ToV2Transform: SchemaTransform<MeetRoomMemberDocument> = (roomMember) => {
|
||||
* roomMember.permissionsUpdatedAt = Date.now();
|
||||
* return roomMember;
|
||||
* };
|
||||
*/
|
||||
export const roomMemberMigrations: SchemaMigrationMap<MeetRoomMemberDocument> = new Map([
|
||||
// [roomMemberMigrationV1ToV2Name, roomMemberMigrationV1ToV2Transform]
|
||||
]);
|
||||
Loading…
x
Reference in New Issue
Block a user