Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UBERF-7308: Upgrade model improvements #5847

Merged
merged 2 commits into from
Jun 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion models/activity/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -200,5 +200,5 @@ export const activityOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
2 changes: 1 addition & 1 deletion models/attachment/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ import { type MigrateOperation, type MigrationClient, type MigrationUpgradeClien

export const attachmentOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
4 changes: 2 additions & 2 deletions models/bitrix/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import { bitrixId } from '@hcengineering/bitrix'

export const bitrixOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, bitrixId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, bitrixId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
16 changes: 8 additions & 8 deletions models/board/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@
// limitations under the License.
//

import { type Card, boardId } from '@hcengineering/board'
import { boardId, type Card } from '@hcengineering/board'
import { TxOperations } from '@hcengineering/core'
import {
type MigrateOperation,
type MigrationClient,
type MigrationUpgradeClient,
createOrUpdate,
tryMigrate,
tryUpgrade
tryUpgrade,
type MigrateOperation,
type MigrationClient,
type MigrationUpgradeClient
} from '@hcengineering/model'
import core from '@hcengineering/model-core'
import { DOMAIN_TASK, createSequence } from '@hcengineering/model-task'
Expand Down Expand Up @@ -90,11 +90,11 @@ export const boardOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, boardId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, boardId, [
{
state: 'board0001',
func: async () => {
func: async (client) => {
const ops = new TxOperations(client, core.account.System)
await createDefaults(ops)
}
Expand Down
7 changes: 4 additions & 3 deletions models/calendar/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,12 @@ export const calendarOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, calendarId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, calendarId, [
{
state: 'default-space',
func: () => createDefaultSpace(client, calendar.space.Calendar, { name: 'Space for all events and calendars' })
func: (client) =>
createDefaultSpace(client, calendar.space.Calendar, { name: 'Space for all events and calendars' })
}
])
}
Expand Down
4 changes: 2 additions & 2 deletions models/chunter/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -233,8 +233,8 @@ export const chunterOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, chunterId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, chunterId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
4 changes: 2 additions & 2 deletions models/contact/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,8 @@ export const contactOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, contactId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, contactId, [
{
state: 'createSpace-v2',
func: async (client) => {
Expand Down
28 changes: 18 additions & 10 deletions models/controlled-documents/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import {
createDefaultSpace,
createOrUpdate,
tryMigrate,
tryUpgrade,
type MigrateOperation,
type MigrationClient,
type MigrationUpgradeClient
Expand Down Expand Up @@ -293,15 +294,22 @@ export const documentsOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
const tx = new TxOperations(client, core.account.System)
await createDefaultSpace(client, documents.space.Documents, { name: 'Documents', description: 'Documents' })
await createQualityDocumentsSpace(tx)
await createTemplatesSpace(tx)
await createTemplateSequence(tx)
await createTagCategories(tx)
await createDocumentCategories(tx)
await fixChangeControlsForDocs(tx)
await createProductChangeControlTemplate(tx)
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, documentsId, [
{
state: 'init-documents',
func: async (client) => {
const tx = new TxOperations(client, core.account.System)
await createDefaultSpace(client, documents.space.Documents, { name: 'Documents', description: 'Documents' })
await createQualityDocumentsSpace(tx)
await createTemplatesSpace(tx)
await createTemplateSequence(tx)
await createTagCategories(tx)
await createDocumentCategories(tx)
await fixChangeControlsForDocs(tx)
await createProductChangeControlTemplate(tx)
}
}
])
}
}
4 changes: 2 additions & 2 deletions models/core/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -185,8 +185,8 @@ export const coreOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, coreId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, coreId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
2 changes: 1 addition & 1 deletion models/document/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -348,5 +348,5 @@ export const documentOperation: MigrateOperation = {
])
},

async upgrade (client: MigrationUpgradeClient): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
4 changes: 2 additions & 2 deletions models/gmail/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import gmail from './plugin'

export const gmailOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, gmailId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, gmailId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
4 changes: 2 additions & 2 deletions models/guest/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ export const guestOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, guestId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, guestId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
4 changes: 2 additions & 2 deletions models/hr/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ export const hrOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, hrId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, hrId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
4 changes: 2 additions & 2 deletions models/inventory/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ import inventory from './plugin'

export const inventoryOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, inventoryId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, inventoryId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
16 changes: 8 additions & 8 deletions models/lead/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@
// limitations under the License.
//

import { AccountRole, DOMAIN_TX, type Ref, type Status, TxOperations } from '@hcengineering/core'
import { type Lead, leadId } from '@hcengineering/lead'
import { AccountRole, DOMAIN_TX, TxOperations, type Ref, type Status } from '@hcengineering/core'
import { leadId, type Lead } from '@hcengineering/lead'
import {
type ModelLogger,
tryMigrate,
tryUpgrade,
type MigrateOperation,
type MigrationClient,
type MigrationUpgradeClient
type MigrationUpgradeClient,
type ModelLogger
} from '@hcengineering/model'
import core, { DOMAIN_SPACE } from '@hcengineering/model-core'

import task, { DOMAIN_TASK, createSequence, migrateDefaultStatusesBase } from '@hcengineering/model-task'
import contact from '@hcengineering/model-contact'
import task, { DOMAIN_TASK, createSequence, migrateDefaultStatusesBase } from '@hcengineering/model-task'

import lead from './plugin'
import { defaultLeadStatuses } from './spaceType'
Expand Down Expand Up @@ -194,11 +194,11 @@ export const leadOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, leadId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, leadId, [
{
state: 'u-default-funnel',
func: async () => {
func: async (client) => {
const ops = new TxOperations(client, core.account.System)
await createDefaults(ops)
}
Expand Down
36 changes: 20 additions & 16 deletions models/love/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import contact from '@hcengineering/contact'
import { TxOperations, type Ref } from '@hcengineering/core'
import drive from '@hcengineering/drive'
import { RoomAccess, RoomType, createDefaultRooms, isOffice, loveId, type Floor } from '@hcengineering/love'
import {
createDefaultSpace,
tryUpgrade,
Expand All @@ -24,7 +25,6 @@ import {
type MigrationUpgradeClient
} from '@hcengineering/model'
import core from '@hcengineering/model-core'
import { RoomAccess, RoomType, createDefaultRooms, isOffice, loveId, type Floor } from '@hcengineering/love'
import love from './plugin'

async function createDefaultFloor (tx: TxOperations): Promise<void> {
Expand Down Expand Up @@ -82,9 +82,8 @@ async function createReception (client: MigrationUpgradeClient): Promise<void> {

export const loveOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
const tx = new TxOperations(client, core.account.System)
await tryUpgrade(client, loveId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, loveId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand All @@ -94,6 +93,7 @@ export const loveOperation: MigrateOperation = {
{
state: 'initial-defaults',
func: async (client) => {
const tx = new TxOperations(client, core.account.System)
await createDefaultFloor(tx)
}
},
Expand All @@ -107,19 +107,23 @@ export const loveOperation: MigrateOperation = {
func: async (client) => {
await createReception(client)
}
},
{
state: 'create-drive',
func: async (client) => {
await createDefaultSpace(
client,
love.space.Drive,
{
name: 'Records',
description: 'Office records',
type: drive.spaceType.DefaultDrive,
autoJoin: true
},
drive.class.Drive
)
}
}
])

await createDefaultSpace(
client,
love.space.Drive,
{
name: 'Records',
description: 'Office records',
type: drive.spaceType.DefaultDrive,
autoJoin: true
},
drive.class.Drive
)
}
}
4 changes: 2 additions & 2 deletions models/notification/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ export const notificationOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, notificationId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, notificationId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
4 changes: 2 additions & 2 deletions models/preference/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ import preference, { preferenceId } from '@hcengineering/preference'

export const preferenceOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, preferenceId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, preferenceId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
2 changes: 1 addition & 1 deletion models/print/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ import { type MigrateOperation, type MigrationClient, type MigrationUpgradeClien

export const loveOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
2 changes: 1 addition & 1 deletion models/products/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@ import { type MigrateOperation, type MigrationClient, type MigrationUpgradeClien

export const productsOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},
async upgrade (client: MigrationUpgradeClient): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
2 changes: 1 addition & 1 deletion models/questions/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ import { type MigrateOperation, type MigrationClient, type MigrationUpgradeClien
export const questionsOperation: MigrateOperation = {
async migrate (client: MigrationClient): Promise<void> {},

async upgrade (client: MigrationUpgradeClient): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
4 changes: 2 additions & 2 deletions models/recruit/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ export const recruitOperation: MigrateOperation = {
}
])
},
async upgrade (client: MigrationUpgradeClient): Promise<void> {
await tryUpgrade(client, recruitId, [
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {
await tryUpgrade(state, client, recruitId, [
{
state: 'create-defaults-v2',
func: async (client) => {
Expand Down
10 changes: 8 additions & 2 deletions models/server-activity/src/migration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,13 @@ import core, {
type TxCollectionCUD,
type TxCreateDoc
} from '@hcengineering/core'
import { tryMigrate, type MigrateOperation, type MigrationClient, type MigrationIterator } from '@hcengineering/model'
import {
tryMigrate,
type MigrateOperation,
type MigrationClient,
type MigrationIterator,
type MigrationUpgradeClient
} from '@hcengineering/model'
import { DOMAIN_ACTIVITY } from '@hcengineering/model-activity'
import {
getAllObjectTransactions,
Expand Down Expand Up @@ -275,5 +281,5 @@ export const activityServerOperation: MigrateOperation = {
}
])
},
async upgrade (): Promise<void> {}
async upgrade (state: Map<string, Set<string>>, client: () => Promise<MigrationUpgradeClient>): Promise<void> {}
}
Loading