@antlur/backstage 1.0.10 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client.js +18 -5
- package/dist/cjs/endpoints/alerts.js +8 -5
- package/dist/cjs/endpoints/base.js +9 -0
- package/dist/cjs/endpoints/events.js +16 -18
- package/dist/cjs/endpoints/locations.js +21 -19
- package/dist/cjs/endpoints/menus.js +23 -22
- package/dist/cjs/endpoints/navigation.js +26 -25
- package/dist/cjs/endpoints/pages.js +20 -20
- package/dist/cjs/endpoints/press.js +8 -5
- package/dist/cjs/endpoints/website.js +8 -5
- package/dist/cjs/studio/define-block.js +6 -0
- package/dist/cjs/studio/define-field.js +6 -0
- package/dist/cjs/studio/define-schema.js +6 -0
- package/dist/cjs/studio/index.js +20 -0
- package/dist/cjs/studio/types/block.js +2 -0
- package/dist/cjs/studio/types/field-values.js +2 -0
- package/dist/cjs/studio/types/field.js +2 -0
- package/dist/cjs/studio/types/index.js +19 -0
- package/dist/cjs/types/index.js +1 -0
- package/dist/esm/client.d.ts +16 -1
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +17 -3
- package/dist/esm/config.d.ts +2 -0
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/endpoints/alerts.d.ts +4 -1
- package/dist/esm/endpoints/alerts.d.ts.map +1 -1
- package/dist/esm/endpoints/alerts.js +6 -4
- package/dist/esm/endpoints/base.d.ts +6 -0
- package/dist/esm/endpoints/base.d.ts.map +1 -0
- package/dist/esm/endpoints/base.js +5 -0
- package/dist/esm/endpoints/events.d.ts +6 -3
- package/dist/esm/endpoints/events.d.ts.map +1 -1
- package/dist/esm/endpoints/events.js +14 -15
- package/dist/esm/endpoints/locations.d.ts +5 -2
- package/dist/esm/endpoints/locations.d.ts.map +1 -1
- package/dist/esm/endpoints/locations.js +19 -17
- package/dist/esm/endpoints/menus.d.ts +6 -3
- package/dist/esm/endpoints/menus.d.ts.map +1 -1
- package/dist/esm/endpoints/menus.js +21 -19
- package/dist/esm/endpoints/navigation.d.ts +6 -3
- package/dist/esm/endpoints/navigation.d.ts.map +1 -1
- package/dist/esm/endpoints/navigation.js +24 -22
- package/dist/esm/endpoints/pages.d.ts +8 -5
- package/dist/esm/endpoints/pages.d.ts.map +1 -1
- package/dist/esm/endpoints/pages.js +18 -16
- package/dist/esm/endpoints/press.d.ts +4 -1
- package/dist/esm/endpoints/press.d.ts.map +1 -1
- package/dist/esm/endpoints/press.js +6 -4
- package/dist/esm/endpoints/website.d.ts +4 -1
- package/dist/esm/endpoints/website.d.ts.map +1 -1
- package/dist/esm/endpoints/website.js +6 -4
- package/dist/esm/studio/define-block.d.ts +11 -0
- package/dist/esm/studio/define-block.d.ts.map +1 -0
- package/dist/esm/studio/define-block.js +3 -0
- package/dist/esm/studio/define-field.d.ts +3 -0
- package/dist/esm/studio/define-field.d.ts.map +1 -0
- package/dist/esm/studio/define-field.js +3 -0
- package/dist/esm/studio/define-schema.d.ts +3 -0
- package/dist/esm/studio/define-schema.d.ts.map +1 -0
- package/dist/esm/studio/define-schema.js +3 -0
- package/dist/esm/studio/index.d.ts +5 -0
- package/dist/esm/studio/index.d.ts.map +1 -0
- package/dist/esm/studio/index.js +4 -0
- package/dist/esm/studio/types/block.d.ts +25 -0
- package/dist/esm/studio/types/block.d.ts.map +1 -0
- package/dist/esm/studio/types/block.js +1 -0
- package/dist/esm/studio/types/field-values.d.ts +8 -0
- package/dist/esm/studio/types/field-values.d.ts.map +1 -0
- package/dist/esm/studio/types/field-values.js +1 -0
- package/dist/esm/studio/types/field.d.ts +14 -0
- package/dist/esm/studio/types/field.d.ts.map +1 -0
- package/dist/esm/studio/types/field.js +1 -0
- package/dist/esm/studio/types/index.d.ts +4 -0
- package/dist/esm/studio/types/index.d.ts.map +1 -0
- package/dist/esm/studio/types/index.js +3 -0
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/types/client.d.ts +16 -1
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/endpoints/alerts.d.ts +4 -1
- package/dist/types/endpoints/alerts.d.ts.map +1 -1
- package/dist/types/endpoints/base.d.ts +6 -0
- package/dist/types/endpoints/base.d.ts.map +1 -0
- package/dist/types/endpoints/events.d.ts +6 -3
- package/dist/types/endpoints/events.d.ts.map +1 -1
- package/dist/types/endpoints/locations.d.ts +5 -2
- package/dist/types/endpoints/locations.d.ts.map +1 -1
- package/dist/types/endpoints/menus.d.ts +6 -3
- package/dist/types/endpoints/menus.d.ts.map +1 -1
- package/dist/types/endpoints/navigation.d.ts +6 -3
- package/dist/types/endpoints/navigation.d.ts.map +1 -1
- package/dist/types/endpoints/pages.d.ts +8 -5
- package/dist/types/endpoints/pages.d.ts.map +1 -1
- package/dist/types/endpoints/press.d.ts +4 -1
- package/dist/types/endpoints/press.d.ts.map +1 -1
- package/dist/types/endpoints/website.d.ts +4 -1
- package/dist/types/endpoints/website.d.ts.map +1 -1
- package/dist/types/studio/define-block.d.ts +11 -0
- package/dist/types/studio/define-block.d.ts.map +1 -0
- package/dist/types/studio/define-field.d.ts +3 -0
- package/dist/types/studio/define-field.d.ts.map +1 -0
- package/dist/types/studio/define-schema.d.ts +3 -0
- package/dist/types/studio/define-schema.d.ts.map +1 -0
- package/dist/types/studio/index.d.ts +5 -0
- package/dist/types/studio/index.d.ts.map +1 -0
- package/dist/types/studio/types/block.d.ts +25 -0
- package/dist/types/studio/types/block.d.ts.map +1 -0
- package/dist/types/studio/types/field-values.d.ts +8 -0
- package/dist/types/studio/types/field-values.d.ts.map +1 -0
- package/dist/types/studio/types/field.d.ts +14 -0
- package/dist/types/studio/types/field.d.ts.map +1 -0
- package/dist/types/studio/types/index.d.ts +4 -0
- package/dist/types/studio/types/index.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/package.json +6 -1
- package/src/client.ts +28 -4
- package/src/config.ts +2 -0
- package/src/endpoints/alerts.ts +6 -4
- package/src/endpoints/base.ts +5 -0
- package/src/endpoints/events.ts +14 -15
- package/src/endpoints/locations.ts +21 -19
- package/src/endpoints/menus.ts +24 -20
- package/src/endpoints/navigation.ts +26 -24
- package/src/endpoints/pages.ts +19 -18
- package/src/endpoints/press.ts +6 -4
- package/src/endpoints/website.ts +6 -4
- package/src/studio/define-block.ts +14 -0
- package/src/studio/define-field.ts +5 -0
- package/src/studio/define-schema.ts +5 -0
- package/src/studio/index.ts +5 -0
- package/src/studio/types/block.ts +29 -0
- package/src/studio/types/field-values.ts +7 -0
- package/src/studio/types/field.ts +28 -0
- package/src/studio/types/index.ts +4 -0
- package/src/types/index.ts +2 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Menu } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare
|
|
4
|
-
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
|
+
export declare class MenuService extends BaseService {
|
|
4
|
+
getMenus(): Promise<Menu[]>;
|
|
5
|
+
getMenu(id: string): Promise<Menu | Menu[]>;
|
|
6
|
+
getMenuBySlug(slug: string): Promise<Menu | Menu[]>;
|
|
7
|
+
}
|
|
5
8
|
//# sourceMappingURL=menus.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menus.d.ts","sourceRoot":"","sources":["../../../src/endpoints/menus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"menus.d.ts","sourceRoot":"","sources":["../../../src/endpoints/menus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,WAAY,SAAQ,WAAW;IACpC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAM3B,OAAO,CAAC,EAAE,EAAE,MAAM;IAWlB,aAAa,CAAC,IAAI,EAAE,MAAM;CAYjC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Navigation } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare
|
|
4
|
-
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
|
+
export declare class NavigationService extends BaseService {
|
|
4
|
+
getNavigations(): Promise<Navigation[]>;
|
|
5
|
+
getDefaultNavigation(): Promise<Navigation>;
|
|
6
|
+
getNavigation(id: string): Promise<Navigation>;
|
|
7
|
+
}
|
|
5
8
|
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/endpoints/navigation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/endpoints/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,UAAU,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,iBAAkB,SAAQ,WAAW;IAC1C,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAYvC,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC;IAK3C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;CAcrD"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { Page } from "../types
|
|
2
|
-
|
|
3
|
-
export declare
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { Page } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
|
+
export declare class PageService extends BaseService {
|
|
4
|
+
getPages(): Promise<Page[]>;
|
|
5
|
+
getPage(id: string): Promise<Page>;
|
|
6
|
+
getPageBySlug(slug: string): Promise<Page>;
|
|
7
|
+
getHomePage(): Promise<Page>;
|
|
8
|
+
}
|
|
6
9
|
//# sourceMappingURL=pages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/endpoints/pages.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/endpoints/pages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,IAAI,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,WAAY,SAAQ,WAAW;IACpC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAK3B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAInC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"press.d.ts","sourceRoot":"","sources":["../../../src/endpoints/press.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"press.d.ts","sourceRoot":"","sources":["../../../src/endpoints/press.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,YAAa,SAAQ,WAAW;IACrC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;CAInC"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Website } from "../types";
|
|
2
|
-
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
|
+
export declare class WebsiteService extends BaseService {
|
|
4
|
+
getWebsite(): Promise<Website>;
|
|
5
|
+
}
|
|
3
6
|
//# sourceMappingURL=website.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/endpoints/website.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"website.d.ts","sourceRoot":"","sources":["../../../src/endpoints/website.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,cAAe,SAAQ,WAAW;IACvC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAIrC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BlockSchema, BlockDefinition, BlockComponentProps, Field } from "./types";
|
|
2
|
+
export type FieldValues<TFields extends Record<string, Field<any>>> = {
|
|
3
|
+
[K in keyof TFields]: TFields[K]["value"];
|
|
4
|
+
};
|
|
5
|
+
export declare function defineBlock<TFields extends Record<string, Field<any>>>(options: {
|
|
6
|
+
name: string;
|
|
7
|
+
slug: string;
|
|
8
|
+
schema: BlockSchema<TFields>;
|
|
9
|
+
component: React.ComponentType<BlockComponentProps<FieldValues<TFields>>>;
|
|
10
|
+
}): BlockDefinition<TFields>;
|
|
11
|
+
//# sourceMappingURL=define-block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-block.d.ts","sourceRoot":"","sources":["../../../src/studio/define-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEnF,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI;KACnE,CAAC,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3E,GAAG,eAAe,CAAC,OAAO,CAAC,CAE3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-field.d.ts","sourceRoot":"","sources":["../../../src/studio/define-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAEvE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-schema.d.ts","sourceRoot":"","sources":["../../../src/studio/define-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,wBAEpG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/studio/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AAExB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FieldValues } from "../define-block";
|
|
2
|
+
import { Field } from "./field";
|
|
3
|
+
export interface BlockSchema<TFields extends Record<string, Field<any>>> {
|
|
4
|
+
fields: TFields;
|
|
5
|
+
properties?: BlockProperties;
|
|
6
|
+
}
|
|
7
|
+
export interface BlockDefinition<TFields extends Record<string, Field<any>>> {
|
|
8
|
+
name: string;
|
|
9
|
+
schema: BlockSchema<TFields>;
|
|
10
|
+
component: React.ComponentType<BlockComponentProps<FieldValues<TFields>>>;
|
|
11
|
+
}
|
|
12
|
+
export interface BuilderBlock<TFields extends Record<string, Field<any>>> {
|
|
13
|
+
id: string;
|
|
14
|
+
type: string;
|
|
15
|
+
fields: TFields;
|
|
16
|
+
properties?: BlockProperties;
|
|
17
|
+
}
|
|
18
|
+
export interface BlockProperties {
|
|
19
|
+
customClassName?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface BlockComponentProps<TFieldValues extends Record<string, any>> {
|
|
22
|
+
block: BuilderBlock<TFieldValues>;
|
|
23
|
+
onFieldChange: (blockId: string, fieldName: keyof TFieldValues, value: any) => void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=block.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/studio/types/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC3E;AAED,MAAM,WAAW,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB,CAAC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3E,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;IAClC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CACrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-values.d.ts","sourceRoot":"","sources":["../../../../src/studio/types/field-values.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type FieldType = "boolean" | "event_select" | "form_select" | "image" | "image_list" | "list_array" | "media" | "menu_select" | "number" | "press_select" | "repeater" | "rich_text" | "separator" | "spacer" | "text" | "textarea" | "url";
|
|
2
|
+
export interface Field<TValue = any> {
|
|
3
|
+
name: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
type: FieldType;
|
|
6
|
+
value?: TValue;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
options?: Array<{
|
|
10
|
+
label: string;
|
|
11
|
+
value: any;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/studio/types/field.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,cAAc,GACd,aAAa,GACb,OAAO,GACP,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,aAAa,GACb,QAAQ,GACR,cAAc,GACd,UAAU,GACV,WAAW,GACX,WAAW,GACX,QAAQ,GACR,MAAM,GACN,UAAU,GACV,KAAK,CAAC;AAEV,MAAM,WAAW,KAAK,CAAC,MAAM,GAAG,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAChD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/studio/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AAExB,cAAc,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAE1B,cAAc,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antlur/backstage",
|
|
3
3
|
"author": "Anthony Holmes",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.2.0",
|
|
5
5
|
"description": "A simple client for Backstage CMS",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
7
7
|
"module": "./dist/esm/index.js",
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"import": "./dist/esm/types/index.js",
|
|
18
18
|
"types": "./dist/types/types/*.d.ts"
|
|
19
19
|
},
|
|
20
|
+
"./studio": {
|
|
21
|
+
"require": "./dist/cjs/studio/index.js",
|
|
22
|
+
"import": "./dist/esm/studio/index.js",
|
|
23
|
+
"types": "./dist/types/studio/*.d.ts"
|
|
24
|
+
},
|
|
20
25
|
"./*": {
|
|
21
26
|
"require": "./dist/cjs/*.js",
|
|
22
27
|
"import": "./dist/esm/*.js",
|
package/src/client.ts
CHANGED
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosError } from "axios";
|
|
2
2
|
import { getGlobalConfig, BackstageUserConfig } from "./config";
|
|
3
|
+
import { AlertService } from "./endpoints/alerts";
|
|
4
|
+
import { EventService } from "./endpoints/events";
|
|
5
|
+
import { LocationService } from "./endpoints/locations";
|
|
6
|
+
import { MenuService } from "./endpoints/menus";
|
|
7
|
+
import { NavigationService } from "./endpoints/navigation";
|
|
8
|
+
import { PageService } from "./endpoints/pages";
|
|
9
|
+
import { PressService } from "./endpoints/press";
|
|
10
|
+
import { WebsiteService } from "./endpoints/website";
|
|
3
11
|
|
|
4
12
|
export class BackstageClient {
|
|
5
13
|
private instance: AxiosInstance;
|
|
6
14
|
|
|
15
|
+
// Service Instances
|
|
16
|
+
public readonly alerts: AlertService;
|
|
17
|
+
public readonly events: EventService;
|
|
18
|
+
public readonly locations: LocationService;
|
|
19
|
+
public readonly menus: MenuService;
|
|
20
|
+
public readonly navigation: NavigationService;
|
|
21
|
+
public readonly pages: PageService;
|
|
22
|
+
public readonly press: PressService;
|
|
23
|
+
public readonly website: WebsiteService;
|
|
24
|
+
|
|
7
25
|
constructor(config?: BackstageUserConfig) {
|
|
8
26
|
// If no config is passed, try to get from the global config
|
|
9
27
|
const globalConfig = getGlobalConfig();
|
|
@@ -60,6 +78,16 @@ export class BackstageClient {
|
|
|
60
78
|
return Promise.reject(error);
|
|
61
79
|
}
|
|
62
80
|
);
|
|
81
|
+
|
|
82
|
+
// Initialize service instances
|
|
83
|
+
this.alerts = new AlertService(this);
|
|
84
|
+
this.events = new EventService(this);
|
|
85
|
+
this.locations = new LocationService(this);
|
|
86
|
+
this.menus = new MenuService(this);
|
|
87
|
+
this.navigation = new NavigationService(this);
|
|
88
|
+
this.pages = new PageService(this);
|
|
89
|
+
this.press = new PressService(this);
|
|
90
|
+
this.website = new WebsiteService(this);
|
|
63
91
|
}
|
|
64
92
|
|
|
65
93
|
public async get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T> {
|
|
@@ -91,7 +119,3 @@ export class BackstageClient {
|
|
|
91
119
|
return this.instance;
|
|
92
120
|
}
|
|
93
121
|
}
|
|
94
|
-
|
|
95
|
-
export const client = function (config?: BackstageUserConfig): BackstageClient {
|
|
96
|
-
return new BackstageClient(config);
|
|
97
|
-
};
|
package/src/config.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AxiosError } from "axios";
|
|
2
|
+
import type { BlockDefinition } from "./studio/types";
|
|
2
3
|
|
|
3
4
|
const ROOT = process.cwd();
|
|
4
5
|
const CONFIG_PATH = process.env.BACKSTAGE_CONFIG_PATH || "./backstage.config";
|
|
@@ -8,6 +9,7 @@ export interface BackstageUserConfig {
|
|
|
8
9
|
accountId?: string | undefined;
|
|
9
10
|
token?: string | undefined;
|
|
10
11
|
baseURL?: string;
|
|
12
|
+
blocks?: BlockDefinition<any>[] | undefined;
|
|
11
13
|
onError?: (error: AxiosError) => void;
|
|
12
14
|
}
|
|
13
15
|
|
package/src/endpoints/alerts.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiCollectionResponse, Alert } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export class AlertService extends BaseService {
|
|
5
|
+
async getAlerts(): Promise<Alert[]> {
|
|
6
|
+
const { data } = await this.client.get<ApiCollectionResponse<Alert>>("/alerts");
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
7
9
|
}
|
package/src/endpoints/events.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiCollectionResponse, Event } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
4
|
+
export class EventService extends BaseService {
|
|
5
|
+
async getEvents(): Promise<Event[]> {
|
|
6
|
+
const { data } = await this.client.get<ApiCollectionResponse<Event>>("/events");
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
10
|
+
async getEvent(id: string): Promise<Event> {
|
|
11
|
+
const { data } = await this.client.get<ApiCollectionResponse<Event>>("/events" + "?filter[id]=" + id);
|
|
12
|
+
return data?.[0];
|
|
13
|
+
}
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
async getEventBySlug(slug: string): Promise<Event> {
|
|
16
|
+
const { data } = await this.client.get<ApiCollectionResponse<Event>>("/events" + "?filter[slug]=" + slug);
|
|
17
|
+
return data?.[0];
|
|
18
|
+
}
|
|
20
19
|
}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiCollectionResponse, Location } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
export class LocationService extends BaseService {
|
|
5
|
+
async getLocations(): Promise<Location[]> {
|
|
6
|
+
const res = await this.client.get<ApiCollectionResponse<Location>>("/locations");
|
|
7
|
+
let locations = res.data;
|
|
8
|
+
locations = locations.sort((a: any, b: any) => {
|
|
9
|
+
if (a.name < b.name) {
|
|
10
|
+
return -1;
|
|
11
|
+
}
|
|
12
|
+
return 1;
|
|
13
|
+
});
|
|
14
|
+
return locations;
|
|
15
|
+
}
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
async getLocationBySlug(slug: string) {
|
|
18
|
+
const res = await this.client.get<ApiCollectionResponse<Location>>(`/locations?filter[slug]=${slug}`);
|
|
19
|
+
const data = res.data;
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
22
|
+
return data[0];
|
|
23
|
+
}
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
return data;
|
|
26
|
+
}
|
|
25
27
|
}
|
package/src/endpoints/menus.ts
CHANGED
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiCollectionResponse, Menu } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
export class MenuService extends BaseService {
|
|
5
|
+
async getMenus(): Promise<Menu[]> {
|
|
6
|
+
const res = await this.client.get<ApiCollectionResponse<Menu>>("/menus");
|
|
7
|
+
const menus = res.data;
|
|
8
|
+
return menus;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async getMenu(id: string) {
|
|
12
|
+
const res = await this.client.get<ApiCollectionResponse<Menu>>(`/menus?filter[id]=${id}&include=categories.items`);
|
|
13
|
+
const data = res.data;
|
|
9
14
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
16
|
+
return data[0];
|
|
17
|
+
}
|
|
13
18
|
|
|
14
|
-
|
|
15
|
-
return data[0];
|
|
19
|
+
return data;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
async getMenuBySlug(slug: string) {
|
|
23
|
+
const res = await this.client.get<ApiCollectionResponse<Menu>>(
|
|
24
|
+
`/menus?filter[slug]=${slug}&include=categories.items`
|
|
25
|
+
);
|
|
26
|
+
const data = res.data;
|
|
20
27
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
if (Array.isArray(data) && data.length > 0) {
|
|
29
|
+
return data[0];
|
|
30
|
+
}
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
return data[0];
|
|
32
|
+
return data;
|
|
27
33
|
}
|
|
28
|
-
|
|
29
|
-
return data;
|
|
30
34
|
}
|
|
@@ -1,34 +1,36 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiSingleResponse, ApiCollectionResponse, Navigation } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
export class NavigationService extends BaseService {
|
|
5
|
+
async getNavigations(): Promise<Navigation[]> {
|
|
6
|
+
const res = await this.client.get<ApiCollectionResponse<Navigation>>("/navigations");
|
|
7
|
+
const navigations = res.data;
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
return Promise.all(
|
|
10
|
+
navigations.map(async (navigation: any) => {
|
|
11
|
+
const res = await this.client.get<ApiCollectionResponse<Navigation>>("/navigations/" + navigation.id);
|
|
12
|
+
return res.data[0];
|
|
13
|
+
})
|
|
14
|
+
);
|
|
15
|
+
}
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
navigations.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
})
|
|
18
|
-
);
|
|
19
|
-
}
|
|
17
|
+
async getDefaultNavigation(): Promise<Navigation> {
|
|
18
|
+
const navigations = await this.getNavigations();
|
|
19
|
+
return navigations[0];
|
|
20
|
+
}
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
async getNavigation(id: string): Promise<Navigation> {
|
|
23
|
+
const res = await this.client.get<ApiSingleResponse<Navigation>>(`/navigations/${id}`);
|
|
24
|
+
const navigation = res.data;
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
const topLevelItems = navigation.items.filter((item: any) => item.parent_id === null);
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
topLevelItems.forEach((item: any) => {
|
|
29
|
+
item.children = navigation.items.filter((child: any) => child.parent_id === item.id);
|
|
30
|
+
});
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
navigation.items = topLevelItems;
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
return navigation;
|
|
35
|
+
}
|
|
34
36
|
}
|
package/src/endpoints/pages.ts
CHANGED
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ApiCollectionResponse } from "../types/api";
|
|
1
|
+
import { ApiCollectionResponse, Page } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
4
3
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
export class PageService extends BaseService {
|
|
5
|
+
async getPages(): Promise<Page[]> {
|
|
6
|
+
const res = await this.client.get<ApiCollectionResponse<Page>>("/pages");
|
|
7
|
+
return res.data;
|
|
8
|
+
}
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
10
|
+
async getPage(id: string): Promise<Page> {
|
|
11
|
+
const res = await this.client.get<ApiCollectionResponse<Page>>(`/pages/${id}`);
|
|
12
|
+
return res.data[0];
|
|
13
|
+
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
15
|
+
async getPageBySlug(slug: string): Promise<Page> {
|
|
16
|
+
const res = await this.client.get<ApiCollectionResponse<Page>>(`/pages?filter[slug]=${slug}`);
|
|
17
|
+
return res.data[0];
|
|
18
|
+
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
async getHomePage(): Promise<Page> {
|
|
21
|
+
const res = await this.client.get<ApiCollectionResponse<Page>>("/pages?filter[slug]=/");
|
|
22
|
+
return res.data[0];
|
|
23
|
+
}
|
|
23
24
|
}
|
package/src/endpoints/press.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiCollectionResponse, Press } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export class PressService extends BaseService {
|
|
5
|
+
async getPress(): Promise<Press[]> {
|
|
6
|
+
const { data } = await this.client.get<ApiCollectionResponse<Press>>("/press");
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
7
9
|
}
|
package/src/endpoints/website.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { client } from "../client";
|
|
2
1
|
import { ApiCollectionResponse, Website } from "../types";
|
|
2
|
+
import { BaseService } from "./base";
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export class WebsiteService extends BaseService {
|
|
5
|
+
async getWebsite(): Promise<Website> {
|
|
6
|
+
const res = await this.client.get<ApiCollectionResponse<Website>>("/websites");
|
|
7
|
+
return res.data[0];
|
|
8
|
+
}
|
|
7
9
|
}
|