rename base

This commit is contained in:
Mads Rasmussen
2024-01-30 12:35:47 +01:00
parent c05c7af0b5
commit 46c57bcc16
13 changed files with 55 additions and 63 deletions

View File

@@ -1,15 +0,0 @@
export class UmbData<T> {
protected data: Array<T> = [];
constructor(data: Array<T>) {
this.data = data;
}
getData() {
return this.data;
}
get total() {
return this.data.length;
}
}

View File

@@ -1,20 +1,13 @@
import { UmbData } from './data.js';
import { UmbMockDBBase } from './utils/mock-db-base.js';
import { UmbId } from '@umbraco-cms/backoffice/id';
import type { UmbEntityBase } from '@umbraco-cms/backoffice/models';
// Temp mocked database
export class UmbEntityData<T extends UmbEntityBase> extends UmbData<T> {
export class UmbEntityData<T extends UmbEntityBase> extends UmbMockDBBase<T> {
constructor(data: Array<T>) {
super(data);
}
getAll() {
return {
total: this.data.length,
items: this.data,
};
}
getList(skip: number, take: number) {
return this.data.slice(skip, skip + take);
}

View File

@@ -1,8 +1,8 @@
import { UmbData } from './data.js';
import { UmbMockDBBase } from './utils/mock-db-base.js';
import type { LanguageResponseModel } from '@umbraco-cms/backoffice/backend-api';
// Temp mocked database
class UmbLanguagesData extends UmbData<LanguageResponseModel> {
class UmbLanguagesData extends UmbMockDBBase<LanguageResponseModel> {
constructor(data: LanguageResponseModel[]) {
super(data);
}

View File

@@ -1,5 +1,5 @@
import { logs } from './logs.data.js';
import { UmbData } from './data.js';
import { UmbMockDBBase } from './utils/mock-db-base.js';
import type {
LogMessageResponseModel,
LogTemplateResponseModel,
@@ -7,7 +7,7 @@ import type {
} from '@umbraco-cms/backoffice/backend-api';
// Temp mocked database
class UmbLogViewerSearchesData extends UmbData<SavedLogSearchResponseModel> {
class UmbLogViewerSearchesData extends UmbMockDBBase<SavedLogSearchResponseModel> {
constructor(data: SavedLogSearchResponseModel[]) {
super(data);
}
@@ -22,7 +22,7 @@ class UmbLogViewerSearchesData extends UmbData<SavedLogSearchResponseModel> {
}
}
class UmbLogViewerTemplatesData extends UmbData<LogTemplateResponseModel> {
class UmbLogViewerTemplatesData extends UmbMockDBBase<LogTemplateResponseModel> {
constructor(data: LogTemplateResponseModel[]) {
super(data);
}
@@ -33,7 +33,7 @@ class UmbLogViewerTemplatesData extends UmbData<LogTemplateResponseModel> {
}
}
class UmbLogViewerMessagesData extends UmbData<LogMessageResponseModel> {
class UmbLogViewerMessagesData extends UmbMockDBBase<LogMessageResponseModel> {
constructor(data: LogMessageResponseModel[]) {
super(data);
}

View File

@@ -1,5 +1,5 @@
import type { MemberTypeDetails } from '../../packages/members/member-types/types.js';
import { UmbData } from './data.js';
import { UmbMockDBBase } from './utils/mock-db-base.js';
import { createEntityTreeItem } from './utils.js';
import type {
NamedEntityTreeItemResponseModel,
@@ -20,7 +20,7 @@ export const data: Array<MemberTypeDetails> = [
];
// Temp mocked database
class UmbMemberTypeData extends UmbData<MemberTypeDetails> {
class UmbMemberTypeData extends UmbMockDBBase<MemberTypeDetails> {
constructor() {
super(data);
}

View File

@@ -165,7 +165,7 @@ class UmbUserData extends UmbEntityData<UserResponseModel> {
}
filter(options: any): PagedUserResponseModel {
const { items: allItems } = this.getAll();
const allItems = this.getAll();
const filterOptions = {
skip: options.skip || 0,

View File

@@ -1,6 +1,6 @@
import { UmbData } from '../../data.js';
import { UmbMockDBBase } from '../mock-db-base.js';
export abstract class UmbEntityMockDbBase<MockItemType extends { id: string }> extends UmbData<MockItemType> {
export abstract class UmbEntityMockDbBase<MockItemType extends { id: string }> extends UmbMockDBBase<MockItemType> {
constructor(data: Array<MockItemType>) {
super(data);
}
@@ -21,14 +21,4 @@ export abstract class UmbEntityMockDbBase<MockItemType extends { id: string }> e
delete(id: string) {
this.data = this.data.filter((item) => item.id !== id);
}
get(options: { skip: number | undefined; take: number | undefined }) {
const skip = options.skip ? options.skip : 0;
const take = options.take ? options.take : 100;
const mockItems = this.data;
const paginatedItems = mockItems.slice(skip, skip + take);
return { items: paginatedItems, total: mockItems.length };
}
}

View File

@@ -1,16 +1,16 @@
import type { UmbData } from '../../data.js';
import type { UmbMockDBBase } from '../mock-db-base.js';
export class UmbMockEntityItemManager<T extends { id: string }> {
#db: UmbData<T>;
#db: UmbMockDBBase<T>;
#itemReadMapper: (item: T) => any;
constructor(db: UmbData<T>, itemReadMapper: (item: T) => any) {
constructor(db: UmbMockDBBase<T>, itemReadMapper: (item: T) => any) {
this.#db = db;
this.#itemReadMapper = itemReadMapper;
}
getItems(ids: Array<string>) {
const items = this.#db.getData().filter((item) => ids.includes(item.id));
const items = this.#db.getAll().filter((item) => ids.includes(item.id));
return items.map((item) => this.#itemReadMapper(item));
}
}

View File

@@ -12,14 +12,14 @@ export class UmbMockEntityTreeManager<T extends Omit<EntityTreeItemResponseModel
}
getRoot() {
const items = this.#db.getData().filter((item) => item.parent === null);
const items = this.#db.getAll().filter((item) => item.parent === null);
const treeItems = items.map((item) => this.#treeItemMapper(item));
const total = items.length;
return { items: treeItems, total };
}
getChildrenOf(parentId: string) {
const items = this.#db.getData().filter((item) => item.parent?.id === parentId);
const items = this.#db.getAll().filter((item) => item.parent?.id === parentId);
const treeItems = items.map((item) => this.#treeItemMapper(item));
const total = items.length;
return { items: treeItems, total };

View File

@@ -1,9 +1,9 @@
import { UmbData } from '../../data.js';
import { UmbMockDBBase } from '../mock-db-base.js';
import type { FileSystemResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
export abstract class UmbFileSystemMockDbBase<
MockItemType extends FileSystemResponseModelBaseModel,
> extends UmbData<MockItemType> {
> extends UmbMockDBBase<MockItemType> {
constructor(data: Array<MockItemType>) {
super(data);
}

View File

@@ -1,15 +1,15 @@
import type { UmbData } from '../../data.js';
import type { UmbMockDBBase } from '../mock-db-base.js';
import type { FileSystemItemResponseModelBaseModel } from '@umbraco-cms/backoffice/backend-api';
export class UmbMockFileSystemItemManager<T extends FileSystemItemResponseModelBaseModel> {
#db: UmbData<T>;
#db: UmbMockDBBase<T>;
constructor(db: UmbData<T>) {
constructor(db: UmbMockDBBase<T>) {
this.#db = db;
}
getItems(paths: Array<string>) {
const items = this.#db.getData().filter((item) => paths.includes(item.path));
const items = this.#db.getAll().filter((item) => paths.includes(item.path));
return items.map((item) => createFileItemResponseModelBaseModel(item));
}
}

View File

@@ -1,17 +1,16 @@
import type { UmbData } from '../../data.js';
import type { UmbMockDBBase } from '../mock-db-base.js';
import { createFileSystemTreeItem } from '../../utils.js';
import type { FileSystemTreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
import { PagedFileSystemTreeItemPresentationModel } from '@umbraco-cms/backoffice/backend-api';
export class UmbMockFileSystemTreeManager<T extends Omit<FileSystemTreeItemPresentationModel, 'type'>> {
#db: UmbData<T>;
#db: UmbMockDBBase<T>;
constructor(mockDb: UmbData<T>) {
constructor(mockDb: UmbMockDBBase<T>) {
this.#db = mockDb;
}
getRoot(): { items: Array<Omit<FileSystemTreeItemPresentationModel, 'type'>>; total: number } {
const items = this.#db.getData().filter((item) => item.parent === null);
const items = this.#db.getAll().filter((item) => item.parent === null);
const treeItems = items.map((item) => createFileSystemTreeItem(item));
const total = items.length;
return { items: treeItems, total };
@@ -21,7 +20,7 @@ export class UmbMockFileSystemTreeManager<T extends Omit<FileSystemTreeItemPrese
items: Array<Omit<FileSystemTreeItemPresentationModel, 'type'>>;
total: number;
} {
const items = this.#db.getData().filter((item) => item.parent?.path === parentPath);
const items = this.#db.getAll().filter((item) => item.parent?.path === parentPath);
const treeItems = items.map((item) => createFileSystemTreeItem(item));
const total = items.length;
return { items: treeItems, total };

View File

@@ -0,0 +1,25 @@
export abstract class UmbMockDBBase<T> {
protected data: Array<T> = [];
constructor(data: Array<T>) {
this.data = data;
}
getAll() {
return this.data;
}
get total() {
return this.data.length;
}
get(options: { skip: number | undefined; take: number | undefined }) {
const skip = options.skip ? options.skip : 0;
const take = options.take ? options.take : 100;
const mockItems = this.getAll();
const paginatedItems = mockItems.slice(skip, skip + take);
return { items: paginatedItems, total: mockItems.length };
}
}