Skip to content

Commit

Permalink
feat(main: db): map old languages during migration
Browse files Browse the repository at this point in the history
  • Loading branch information
antonreshetov committed Apr 4, 2022
1 parent 34c340d commit 9e91d5a
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 20 deletions.
45 changes: 29 additions & 16 deletions src/main/services/db/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import readline from 'readline'
import { nestedToFlat } from '../../utils'
import { nanoid } from 'nanoid'
import type { DB, Folder, Snippet, Tag } from '../../types/db'
import { oldLanguageMap } from '../../../renderer/components/editor/languages'

const fileDb = store.preferences.get('storagePath') + '/db.json'

Expand Down Expand Up @@ -110,24 +111,27 @@ export const migrate = async (path: string) => {

folders.push(...DEFAULT_SYSTEM_FOLDERS)

masscodeJSONList.forEach(({ id, open, parentId, ...rest }) => {
const newId = nanoid(8)
masscodeJSONList.forEach(
({ id, open, parentId, defaultLanguage, ...rest }) => {
const newId = nanoid(8)

folders.push({
id: newId,
isOpen: open,
...rest,
parentId: parentId ?? null,
createdAt: new Date().valueOf(),
updatedAt: new Date().valueOf()
})
folders.push({
id: newId,
isOpen: open,
parentId: parentId ?? null,
defaultLanguage: oldLanguageMap[defaultLanguage] || defaultLanguage,
...rest,
createdAt: new Date().valueOf(),
updatedAt: new Date().valueOf()
})

folderIdsMap.push([id, newId])
folderIdsMap.forEach(([oldId, newId]) => {
const item = folders.find(i => i.parentId === oldId)
if (item) item.parentId = newId
})
})
folderIdsMap.push([id, newId])
folderIdsMap.forEach(([oldId, newId]) => {
const item = folders.find(i => i.parentId === oldId)
if (item) item.parentId = newId
})
}
)

tagsJSON.forEach(({ _id, ...rest }) => {
const newId = nanoid(8)
Expand All @@ -152,6 +156,7 @@ export const migrate = async (path: string) => {
tagsPopulated,
createdAt,
updatedAt,
content,
...rest
}) => {
const newId = nanoid(8)
Expand All @@ -164,10 +169,18 @@ export const migrate = async (path: string) => {
if (newId) tagsIds.push(newId)
})

content = content.map((i: any) => {
return {
...i,
language: oldLanguageMap[i.language] || i.language
}
})

snippets.push({
id: newId,
folderId: newFolderId ?? null,
tagsIds,
content,
...rest,
createdAt: createdAt.$$date,
updatedAt: updatedAt.$$date
Expand Down
2 changes: 0 additions & 2 deletions src/main/services/ipc/context-menu.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,6 @@ export const subscribeToContextMenu = () => {
async (event, payload) => {
const { name, type, data } = payload

console.log(data.defaultLanguage)

return new Promise(resolve => {
const createLanguageMenu = () => {
return languages.map(i => {
Expand Down
2 changes: 1 addition & 1 deletion src/renderer/components/editor/TheEditor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ const cursorPosition = reactive({
let editor: Ace.Editor
const localLang = computed({
get: () => oldLanguageMap[props.lang] || props.lang,
get: () => props.lang,
set: v => emit('update:lang', v)
})
Expand Down
1 change: 0 additions & 1 deletion src/renderer/components/editor/languages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ export const languages: LanguageOption[] = [
{ name: 'Zeek', value: 'zeek' }
]

// TODO: убрать в будущих релизах
export const oldLanguageMap: Record<any, Language> = {
azcli: 'plain_text',
bat: 'sh',
Expand Down

0 comments on commit 9e91d5a

Please sign in to comment.