From f0702109edad7ce00d22edb9ebbfbec723ab81d1 Mon Sep 17 00:00:00 2001 From: Marcos Candeia Date: Fri, 8 Sep 2023 13:56:10 -0300 Subject: [PATCH] Depend on state Signed-off-by: Marcos Candeia --- admin/fsStorage.ts | 6 +++--- admin/loaders/blocks/listRevisions.ts | 4 +++- admin/loaders/state.ts | 5 +++-- admin/mod.ts | 9 +++++++-- vtex/utils/batch.ts | 2 +- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/admin/fsStorage.ts b/admin/fsStorage.ts index cbfbc8de1..e9e397811 100644 --- a/admin/fsStorage.ts +++ b/admin/fsStorage.ts @@ -1,9 +1,9 @@ import { Resolvable } from "deco/engine/core/resolver.ts"; import { newFsProvider } from "deco/engine/releases/fs.ts"; import { - OnChangeCallback, - ReadOptions, - Release, + OnChangeCallback, + ReadOptions, + Release, } from "deco/engine/releases/provider.ts"; import { join } from "std/path/mod.ts"; import { BlockStore } from "./mod.ts"; diff --git a/admin/loaders/blocks/listRevisions.ts b/admin/loaders/blocks/listRevisions.ts index 36ab89fc5..ff128a6d4 100644 --- a/admin/loaders/blocks/listRevisions.ts +++ b/admin/loaders/blocks/listRevisions.ts @@ -16,7 +16,9 @@ export default async function ListRevisions( _req: Request, ctx: AppContext, ): Promise> { - const block = await ctx.invoke["deco-sites/admin"].loaders.blocks.latest(props); + const block = await ctx.invoke["deco-sites/admin"].loaders.blocks.latest( + props, + ); if (!block) { return { data: [], diff --git a/admin/loaders/state.ts b/admin/loaders/state.ts index dd5ad420f..f4d5dfe9b 100644 --- a/admin/loaders/state.ts +++ b/admin/loaders/state.ts @@ -1,4 +1,3 @@ -import { Resolvable } from "deco/engine/core/resolver.ts"; import { AppContext } from "../mod.ts"; export interface Props { @@ -6,10 +5,12 @@ export interface Props { blockId: string; } +export type State = Record; + export default async function Latest( _props: unknown, _req: Request, ctx: AppContext, -): Promise> { +): Promise { return await ctx.storage.state(); } diff --git a/admin/mod.ts b/admin/mod.ts index 841ee2c44..36cf4f486 100644 --- a/admin/mod.ts +++ b/admin/mod.ts @@ -2,6 +2,7 @@ import { Resolvable } from "deco/engine/core/resolver.ts"; import { Release } from "deco/engine/releases/provider.ts"; import type { App, AppContext as AC } from "deco/mod.ts"; import { FsBlockStorage } from "./fsStorage.ts"; +import { State as Resolvables } from "./loaders/state.ts"; import manifest, { Manifest } from "./manifest.gen.ts"; export const ANONYMOUS = "Anonymous"; @@ -24,13 +25,17 @@ export interface BlockState { revision: string; } +export interface Props { + resolvables: Resolvables; +} + /** * @title Admin */ export default function App( - _props: unknown, + { resolvables }: Props, ): App { - return { manifest, state: { storage: new FsBlockStorage() } }; + return { manifest, state: { storage: new FsBlockStorage() }, resolvables }; } export type AppContext = AC>; diff --git a/vtex/utils/batch.ts b/vtex/utils/batch.ts index 05aa9596a..19481e0b6 100644 --- a/vtex/utils/batch.ts +++ b/vtex/utils/batch.ts @@ -6,4 +6,4 @@ export const batch = (array: T[], size: number): T[][] => { } return batched; -}; \ No newline at end of file +};