diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/script/script.data.ts similarity index 54% rename from src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts rename to src/Umbraco.Web.UI.Client/src/mocks/data/script/script.data.ts index 9fec2eaf7a..e9e43d58c9 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/script/script.data.ts @@ -1,16 +1,6 @@ -import { UmbData } from './data.js'; -import { UmbMockFileSystemFolderManager } from './file-system/file-system-folder-manager.js'; -import { UmbMockFileSystemTreeManager } from './file-system/file-system-tree-manager.js'; -import { createFileItemResponseModelBaseModel, createTextFileItem } from './utils.js'; -import { - CreateTextFileViewModelBaseModel, - FileSystemTreeItemPresentationModel, - ScriptItemResponseModel, - ScriptResponseModel, - UpdateScriptRequestModel, -} from '@umbraco-cms/backoffice/backend-api'; +import { FileSystemTreeItemPresentationModel, ScriptResponseModel } from '@umbraco-cms/backoffice/backend-api'; -type UmbMockScriptModel = ScriptResponseModel & FileSystemTreeItemPresentationModel; +export type UmbMockScriptModel = ScriptResponseModel & FileSystemTreeItemPresentationModel; export const data: Array = [ { @@ -124,57 +114,3 @@ export const data: Array = [ content: `alert('hello file with dash');`, }, ]; - -class UmbScriptsData extends UmbData { - tree = new UmbMockFileSystemTreeManager(this); - folder = new UmbMockFileSystemFolderManager(this); - - constructor() { - super(data); - } - - getItem(paths: Array): Array { - const items = this.data.filter((item) => paths.includes(item.path ?? '')); - return items.map((item) => createFileItemResponseModelBaseModel(item)); - } - - create(item: CreateTextFileViewModelBaseModel) { - const newItem: UmbMockScriptModel = { - name: item.name, - content: item.content, - //parentPath: item.parentPath, - path: `${item.parentPath}` ? `${item.parentPath}/${item.name}}` : item.name, - isFolder: false, - hasChildren: false, - type: 'script', - }; - - this.data.push(newItem); - } - - read(path: string): ScriptResponseModel | undefined { - const item = this.data.find((item) => item.path === path); - return createTextFileItem(item); - } - - update(updateItem: UpdateScriptRequestModel) { - const itemIndex = this.data.findIndex((item) => item.path === updateItem.existingPath); - const item = this.data[itemIndex]; - if (!item) throw new Error('Item not found'); - - const updatedItem = { - path: item, - }; - - this.data[itemIndex] = newItem; - } - - delete(paths: Array) { - this.data = this.data.filter((item) => { - if (!item.path) throw new Error('Item has no path'); - return paths.indexOf(item.path) === -1; - }); - } -} - -export const umbScriptsData = new UmbScriptsData(); diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/script/script.db.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/script/script.db.ts new file mode 100644 index 0000000000..c325183d50 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/script/script.db.ts @@ -0,0 +1,65 @@ +import { UmbData } from '../data.js'; +import { UmbMockFileSystemFolderManager } from '../file-system/file-system-folder-manager.js'; +import { UmbMockFileSystemTreeManager } from '../file-system/file-system-tree-manager.js'; +import { createFileItemResponseModelBaseModel, createTextFileItem } from '../utils.js'; +import { UmbMockScriptModel, data as scriptData } from './script.data.js'; +import { + CreateTextFileViewModelBaseModel, + ScriptItemResponseModel, + ScriptResponseModel, + UpdateScriptRequestModel, +} from '@umbraco-cms/backoffice/backend-api'; + +class UmbScriptsData extends UmbData { + tree = new UmbMockFileSystemTreeManager(this); + folder = new UmbMockFileSystemFolderManager(this); + + constructor(data) { + super(data); + } + + getItem(paths: Array): Array { + const items = this.data.filter((item) => paths.includes(item.path ?? '')); + return items.map((item) => createFileItemResponseModelBaseModel(item)); + } + + create(item: CreateTextFileViewModelBaseModel) { + const newItem: UmbMockScriptModel = { + name: item.name, + content: item.content, + //parentPath: item.parentPath, + path: `${item.parentPath}` ? `${item.parentPath}/${item.name}}` : item.name, + isFolder: false, + hasChildren: false, + type: 'script', + }; + + this.data.push(newItem); + } + + read(path: string): ScriptResponseModel | undefined { + const item = this.data.find((item) => item.path === path); + return createTextFileItem(item); + } + + update(updateItem: UpdateScriptRequestModel) { + const itemIndex = this.data.findIndex((item) => item.path === updateItem.existingPath); + const item = this.data[itemIndex]; + if (!item) throw new Error('Item not found'); + + const updatedItem = { + path: item, + }; + + this.data[itemIndex] = newItem; + } + + delete(paths: Array) { + this.data = this.data.filter((item) => { + if (!item.path) throw new Error('Item has no path'); + return paths.indexOf(item.path) === -1; + }); + } +} + +export const umbScriptsData = new UmbScriptsData(scriptData);