initial merge
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import type { ManifestBase } from './models';
|
||||
import type { UmbTreeRepositoryFactory } from '@umbraco-cms/models';
|
||||
import type { UmbRepositoryFactory } from '@umbraco-cms/models';
|
||||
|
||||
export interface ManifestTree extends ManifestBase {
|
||||
type: 'tree';
|
||||
@@ -8,5 +8,5 @@ export interface ManifestTree extends ManifestBase {
|
||||
|
||||
export interface MetaTree {
|
||||
storeAlias?: string;
|
||||
repository?: UmbTreeRepositoryFactory;
|
||||
repository?: UmbRepositoryFactory;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
PagedEntityTreeItem,
|
||||
ProblemDetails,
|
||||
} from '@umbraco-cms/backend-api';
|
||||
import { UmbTreeRepository } from 'libs/repositories/tree-repository.interface';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
// Extension Manifests
|
||||
@@ -159,24 +160,6 @@ export interface DataSourceResponse<T = undefined> {
|
||||
}
|
||||
|
||||
// TODO; figure out why we can't add UmbControllerHostInterface as host type
|
||||
export interface UmbTreeRepositoryFactory {
|
||||
export interface UmbRepositoryFactory {
|
||||
new (host: any): UmbTreeRepository;
|
||||
}
|
||||
|
||||
export interface UmbTreeRepository {
|
||||
requestRootItems: () => Promise<{
|
||||
data: PagedEntityTreeItem | undefined;
|
||||
error: ProblemDetails | undefined;
|
||||
}>;
|
||||
requestChildrenOf: (parentKey: string | null) => Promise<{
|
||||
data: PagedEntityTreeItem | undefined;
|
||||
error: ProblemDetails | undefined;
|
||||
}>;
|
||||
requestItems: (keys: string[]) => Promise<{
|
||||
data: Array<EntityTreeItem> | undefined;
|
||||
error: ProblemDetails | undefined;
|
||||
}>;
|
||||
rootItems: () => Promise<Observable<EntityTreeItem[]>>;
|
||||
childrenOf: (parentKey: string | null) => Promise<Observable<EntityTreeItem[]>>;
|
||||
items: (keys: string[]) => Promise<Observable<EntityTreeItem[]>>;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import type { ProblemDetails } from "@umbraco-cms/backend-api";
|
||||
|
||||
export interface UmbDetailRepository<DetailType> {
|
||||
|
||||
createDetailsScaffold(parentKey: string | null): Promise<{
|
||||
data?: DetailType;
|
||||
error?: ProblemDetails;
|
||||
}>
|
||||
|
||||
requestDetails(key: string): Promise<{
|
||||
data?: DetailType;
|
||||
error?: ProblemDetails;
|
||||
}>
|
||||
|
||||
create(data: DetailType): Promise<{
|
||||
error?: ProblemDetails;
|
||||
}>
|
||||
|
||||
save(data: DetailType): Promise<{
|
||||
error?: ProblemDetails;
|
||||
}>
|
||||
|
||||
delete(key: string): Promise<{
|
||||
error?: ProblemDetails;
|
||||
}>
|
||||
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
import type { Observable } from "rxjs";
|
||||
import { EntityTreeItem, PagedEntityTreeItem, ProblemDetails } from "@umbraco-cms/backend-api";
|
||||
|
||||
export interface UmbTreeRepository {
|
||||
requestRootItems: () => Promise<{
|
||||
data: PagedEntityTreeItem | undefined;
|
||||
error: ProblemDetails | undefined;
|
||||
}>;
|
||||
requestChildrenOf: (parentKey: string | null) => Promise<{
|
||||
data: PagedEntityTreeItem | undefined;
|
||||
error: ProblemDetails | undefined;
|
||||
}>;
|
||||
requestItems: (keys: string[]) => Promise<{
|
||||
data: Array<EntityTreeItem> | undefined;
|
||||
error: ProblemDetails | undefined;
|
||||
}>;
|
||||
rootItems: () => Promise<Observable<EntityTreeItem[]>>;
|
||||
childrenOf: (parentKey: string | null) => Promise<Observable<EntityTreeItem[]>>;
|
||||
items: (keys: string[]) => Promise<Observable<EntityTreeItem[]>>;
|
||||
}
|
||||
Reference in New Issue
Block a user