[go: nahoru, domu]

Skip to content

Commit

Permalink
UBERF-7308: Upgrade model improvements (hcengineering#5847)
Browse files Browse the repository at this point in the history
Signed-off-by: Andrey Sobolev <haiodo@gmail.com>
  • Loading branch information
haiodo committed Jun 18, 2024
1 parent bb6f9d7 commit b3db302
Show file tree
Hide file tree
Showing 35 changed files with 178 additions and 142 deletions.
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

0 comments on commit b3db302

Please sign in to comment.