@antlur/backstage 1.12.13 → 1.12.15

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.
Files changed (72) hide show
  1. package/dist/cli/actions/sync-blueprints.d.ts +3 -0
  2. package/dist/cli/actions/sync-blueprints.d.ts.map +1 -0
  3. package/dist/cli/actions/sync-blueprints.js +42 -0
  4. package/dist/cli/cli.js +8 -2
  5. package/dist/client.d.ts +4 -0
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +11 -2
  8. package/dist/config.d.ts +26 -0
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/endpoints/blueprints.d.ts +62 -0
  11. package/dist/endpoints/blueprints.d.ts.map +1 -0
  12. package/dist/endpoints/blueprints.js +27 -0
  13. package/dist/endpoints/events.d.ts +35 -0
  14. package/dist/endpoints/events.d.ts.map +1 -1
  15. package/dist/endpoints/events.js +16 -3
  16. package/dist/endpoints/locations.d.ts +35 -0
  17. package/dist/endpoints/locations.d.ts.map +1 -1
  18. package/dist/endpoints/locations.js +20 -0
  19. package/dist/endpoints/media.d.ts +15 -0
  20. package/dist/endpoints/media.d.ts.map +1 -1
  21. package/dist/endpoints/media.js +32 -0
  22. package/dist/endpoints/menu-items.d.ts +30 -0
  23. package/dist/endpoints/menu-items.d.ts.map +1 -0
  24. package/dist/endpoints/menu-items.js +27 -0
  25. package/dist/endpoints/press.d.ts +36 -0
  26. package/dist/endpoints/press.d.ts.map +1 -1
  27. package/dist/endpoints/press.js +20 -0
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/studio/define-blueprint.d.ts +3 -0
  32. package/dist/studio/define-blueprint.d.ts.map +1 -0
  33. package/dist/studio/define-blueprint.js +3 -0
  34. package/dist/studio/index.d.ts +1 -0
  35. package/dist/studio/index.d.ts.map +1 -1
  36. package/dist/studio/index.js +1 -0
  37. package/dist/studio/types/field.d.ts +13 -0
  38. package/dist/studio/types/field.d.ts.map +1 -1
  39. package/dist/types/blueprint.d.ts +25 -1
  40. package/dist/types/blueprint.d.ts.map +1 -1
  41. package/dist/types/event.d.ts +7 -7
  42. package/dist/types/event.d.ts.map +1 -1
  43. package/dist/types/media-item.d.ts +1 -1
  44. package/dist/types/media-item.d.ts.map +1 -1
  45. package/dist/types/menu-item.d.ts +14 -5
  46. package/dist/types/menu-item.d.ts.map +1 -1
  47. package/dist/types/press.d.ts +3 -3
  48. package/dist/types/press.d.ts.map +1 -1
  49. package/dist/util/event.d.ts.map +1 -1
  50. package/dist/util/event.js +32 -14
  51. package/package.json +1 -1
  52. package/readme.md +144 -4
  53. package/src/cli/actions/sync-blueprints.ts +45 -0
  54. package/src/cli/cli.ts +9 -2
  55. package/src/client.ts +13 -2
  56. package/src/config.ts +24 -0
  57. package/src/endpoints/blueprints.ts +81 -0
  58. package/src/endpoints/events.ts +54 -4
  59. package/src/endpoints/locations.ts +56 -1
  60. package/src/endpoints/media.ts +45 -2
  61. package/src/endpoints/menu-items.ts +50 -0
  62. package/src/endpoints/press.ts +59 -1
  63. package/src/index.ts +2 -0
  64. package/src/studio/define-blueprint.ts +5 -0
  65. package/src/studio/index.ts +1 -0
  66. package/src/studio/types/field.ts +13 -0
  67. package/src/types/blueprint.ts +23 -1
  68. package/src/types/event.ts +7 -7
  69. package/src/types/media-item.ts +1 -1
  70. package/src/types/menu-item.ts +12 -5
  71. package/src/types/press.ts +3 -3
  72. package/src/util/event.ts +38 -15
@@ -0,0 +1,3 @@
1
+ import type { BackstageUserConfig } from "../../config.js";
2
+ export declare function syncBlueprints(config: BackstageUserConfig): Promise<void>;
3
+ //# sourceMappingURL=sync-blueprints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-blueprints.d.ts","sourceRoot":"","sources":["../../../src/cli/actions/sync-blueprints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,wBAAsB,cAAc,CAAC,MAAM,EAAE,mBAAmB,iBAyC/D"}
@@ -0,0 +1,42 @@
1
+ import { BackstageClient } from "../../client.js";
2
+ export async function syncBlueprints(config) {
3
+ const client = new BackstageClient(config);
4
+ if (!config.blueprints || !config.blueprints.length) {
5
+ console.log("No blueprints found in config");
6
+ return;
7
+ }
8
+ const syncPromises = config.blueprints.map(async (blueprint) => {
9
+ const blueprintData = {
10
+ name: blueprint.name,
11
+ slug: blueprint.slug,
12
+ slug_single: blueprint.slug_single,
13
+ description: blueprint.description,
14
+ is_routable: blueprint.is_routable,
15
+ has_location: blueprint.has_location,
16
+ has_route_index: blueprint.has_route_index,
17
+ fields: blueprint.fields,
18
+ };
19
+ try {
20
+ await client.blueprints.create(blueprintData);
21
+ console.log(`✓ Blueprint ${blueprint.slug} created`);
22
+ }
23
+ catch (err) {
24
+ if (err?.response?.status === 409) {
25
+ const id = err.response.data;
26
+ console.log(`⚠ Blueprint ${blueprint.slug} already exists with id ${id}. Updating...`);
27
+ try {
28
+ await client.blueprints.update(id, blueprintData);
29
+ console.log(`✓ Blueprint ${blueprint.slug} updated`);
30
+ }
31
+ catch (updateErr) {
32
+ console.error(`✗ Failed to update blueprint ${blueprint.slug}:`, updateErr?.message || updateErr);
33
+ }
34
+ }
35
+ else {
36
+ console.error(`✗ Failed to create blueprint ${blueprint.slug}:`, err?.message || err);
37
+ }
38
+ }
39
+ });
40
+ await Promise.all(syncPromises);
41
+ console.log(`\nSync complete: ${config.blueprints.length} blueprint(s) processed`);
42
+ }
package/dist/cli/cli.js CHANGED
@@ -4,6 +4,7 @@ import { resolve } from "path";
4
4
  import { program } from "commander";
5
5
  import { loadBackstageConfig } from "./load-config.js";
6
6
  import { syncBlocks } from "./actions/sync-blocks.js";
7
+ import { syncBlueprints } from "./actions/sync-blueprints.js";
7
8
  import { syncLayouts } from "./actions/sync-layouts.js";
8
9
  config({ path: resolve(process.cwd(), ".env") });
9
10
  program
@@ -12,7 +13,7 @@ program
12
13
  .version(process.env.npm_package_version || "1.0.0");
13
14
  program
14
15
  .command("sync <type>")
15
- .description("Sync blocks and layouts with the Backstage CMS")
16
+ .description("Sync blocks, blueprints, and layouts with the Backstage CMS")
16
17
  .action(async (type) => {
17
18
  const backstageConfig = await loadBackstageConfig();
18
19
  if (!backstageConfig) {
@@ -23,16 +24,21 @@ program
23
24
  await syncBlocks(backstageConfig);
24
25
  return;
25
26
  }
27
+ if (type === "blueprints") {
28
+ await syncBlueprints(backstageConfig);
29
+ return;
30
+ }
26
31
  if (type === "layouts") {
27
32
  await syncLayouts(backstageConfig);
28
33
  return;
29
34
  }
30
35
  if (type === "all") {
31
36
  await syncBlocks(backstageConfig);
37
+ await syncBlueprints(backstageConfig);
32
38
  await syncLayouts(backstageConfig);
33
39
  return;
34
40
  }
35
- console.error(`Unknown type: ${type}. Valid types are: blocks, layouts, all`);
41
+ console.error(`Unknown type: ${type}. Valid types are: blocks, blueprints, layouts, all`);
36
42
  process.exit(1);
37
43
  });
38
44
  program.parse();
package/dist/client.d.ts CHANGED
@@ -2,6 +2,7 @@ import { BackstageUserConfig } from "./config.js";
2
2
  import { AlertService } from "./endpoints/alerts.js";
3
3
  import { AuthService } from "./endpoints/auth.js";
4
4
  import { BlocksService } from "./endpoints/blocks.js";
5
+ import { BlueprintsService } from "./endpoints/blueprints.js";
5
6
  import { EntryService } from "./endpoints/entries.js";
6
7
  import { EventService } from "./endpoints/events.js";
7
8
  import { FormService } from "./endpoints/forms.js";
@@ -9,6 +10,7 @@ import { InstagramService } from "./endpoints/instagram.js";
9
10
  import { LayoutService } from "./endpoints/layouts.js";
10
11
  import { LocationService } from "./endpoints/locations.js";
11
12
  import { MenuService } from "./endpoints/menus.js";
13
+ import { MenuItemService } from "./endpoints/menu-items.js";
12
14
  import { NavigationService } from "./endpoints/navigation.js";
13
15
  import { PageService } from "./endpoints/pages.js";
14
16
  import { PressService } from "./endpoints/press.js";
@@ -24,6 +26,7 @@ export declare class BackstageClient {
24
26
  readonly alerts: AlertService;
25
27
  readonly auth: AuthService;
26
28
  readonly blocks: BlocksService;
29
+ readonly blueprints: BlueprintsService;
27
30
  readonly entries: EntryService;
28
31
  readonly events: EventService;
29
32
  readonly forms: FormService;
@@ -32,6 +35,7 @@ export declare class BackstageClient {
32
35
  readonly locations: LocationService;
33
36
  readonly media: MediaService;
34
37
  readonly menus: MenuService;
38
+ readonly menuItems: MenuItemService;
35
39
  readonly navigation: NavigationService;
36
40
  readonly pages: PageService;
37
41
  readonly press: PressService;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -2,6 +2,7 @@ import { getGlobalConfig } from "./config.js";
2
2
  import { AlertService } from "./endpoints/alerts.js";
3
3
  import { AuthService } from "./endpoints/auth.js";
4
4
  import { BlocksService } from "./endpoints/blocks.js";
5
+ import { BlueprintsService } from "./endpoints/blueprints.js";
5
6
  import { EntryService } from "./endpoints/entries.js";
6
7
  import { EventService } from "./endpoints/events.js";
7
8
  import { FormService } from "./endpoints/forms.js";
@@ -9,6 +10,7 @@ import { InstagramService } from "./endpoints/instagram.js";
9
10
  import { LayoutService } from "./endpoints/layouts.js";
10
11
  import { LocationService } from "./endpoints/locations.js";
11
12
  import { MenuService } from "./endpoints/menus.js";
13
+ import { MenuItemService } from "./endpoints/menu-items.js";
12
14
  import { NavigationService } from "./endpoints/navigation.js";
13
15
  import { PageService } from "./endpoints/pages.js";
14
16
  import { PressService } from "./endpoints/press.js";
@@ -25,6 +27,7 @@ export class BackstageClient {
25
27
  alerts;
26
28
  auth;
27
29
  blocks;
30
+ blueprints;
28
31
  entries;
29
32
  events;
30
33
  forms;
@@ -33,6 +36,7 @@ export class BackstageClient {
33
36
  locations;
34
37
  media;
35
38
  menus;
39
+ menuItems;
36
40
  navigation;
37
41
  pages;
38
42
  press;
@@ -61,6 +65,7 @@ export class BackstageClient {
61
65
  this.alerts = new AlertService(this);
62
66
  this.auth = new AuthService(this);
63
67
  this.blocks = new BlocksService(this);
68
+ this.blueprints = new BlueprintsService(this);
64
69
  this.entries = new EntryService(this);
65
70
  this.events = new EventService(this);
66
71
  this.forms = new FormService(this);
@@ -69,6 +74,7 @@ export class BackstageClient {
69
74
  this.locations = new LocationService(this);
70
75
  this.media = new MediaService(this);
71
76
  this.menus = new MenuService(this);
77
+ this.menuItems = new MenuItemService(this);
72
78
  this.navigation = new NavigationService(this);
73
79
  this.pages = new PageService(this);
74
80
  this.press = new PressService(this);
@@ -82,15 +88,18 @@ export class BackstageClient {
82
88
  Authorization: `Bearer ${this.token}`,
83
89
  "X-Account-ID": this.accountId,
84
90
  Accept: "application/json",
85
- "Content-Type": "application/json",
86
91
  };
92
+ const isFormData = typeof FormData !== "undefined" && data instanceof FormData;
93
+ if (!isFormData) {
94
+ defaultHeaders["Content-Type"] = "application/json";
95
+ }
87
96
  const fetchOptions = {
88
97
  method,
89
98
  headers: { ...defaultHeaders, ...options?.headers },
90
99
  ...options,
91
100
  };
92
101
  if (data && !fetchOptions.body && (method === "POST" || method === "PUT" || method === "PATCH")) {
93
- fetchOptions.body = JSON.stringify(data);
102
+ fetchOptions.body = isFormData ? data : JSON.stringify(data);
94
103
  }
95
104
  try {
96
105
  const response = await fetch(fullUrl, fetchOptions);
package/dist/config.d.ts CHANGED
@@ -1,9 +1,35 @@
1
1
  import type { BlockDefinition } from "./studio/types/index.js";
2
+ export interface BlueprintDefinition {
3
+ name: string;
4
+ slug: string;
5
+ slug_single?: string;
6
+ description?: string;
7
+ is_routable?: boolean;
8
+ has_location?: boolean;
9
+ has_route_index?: boolean;
10
+ fields: Array<{
11
+ name: string;
12
+ slug: string;
13
+ type: string;
14
+ type_id?: string | null;
15
+ is_primary?: boolean;
16
+ is_multiple?: boolean;
17
+ show_in_list?: boolean;
18
+ order: number;
19
+ allowed_references?: string[];
20
+ options?: Array<{
21
+ label: string;
22
+ value: any;
23
+ }>;
24
+ placeholder?: string;
25
+ }>;
26
+ }
2
27
  export interface BackstageUserConfig {
3
28
  accountId?: string | undefined;
4
29
  token?: string | undefined;
5
30
  baseURL?: string;
6
31
  blocks?: BlockDefinition<any>[] | undefined;
32
+ blueprints?: BlueprintDefinition[] | undefined;
7
33
  layouts?: any[] | undefined;
8
34
  onError?: (error: Error) => void;
9
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAQD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAM7E;AAED,wBAAgB,eAAe,IAAI,mBAAmB,CAGrD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;IAC5C,UAAU,CAAC,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAQD,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,mBAAmB,CAM7E;AAED,wBAAgB,eAAe,IAAI,mBAAmB,CAGrD"}
@@ -0,0 +1,62 @@
1
+ import type { Blueprint } from "../types/blueprint";
2
+ import { BaseService } from "./base.js";
3
+ export interface CreateBlueprintParams {
4
+ name: string;
5
+ slug: string;
6
+ slug_single?: string;
7
+ description?: string;
8
+ is_routable?: boolean;
9
+ has_location?: boolean;
10
+ has_route_index?: boolean;
11
+ fields: Array<{
12
+ name: string;
13
+ slug: string;
14
+ type: string;
15
+ type_id?: string | null;
16
+ is_primary?: boolean;
17
+ is_multiple?: boolean;
18
+ show_in_list?: boolean;
19
+ order: number;
20
+ allowed_references?: string[];
21
+ options?: Array<{
22
+ label: string;
23
+ value: any;
24
+ }>;
25
+ placeholder?: string;
26
+ }>;
27
+ }
28
+ export interface UpdateBlueprintParams {
29
+ name: string;
30
+ slug: string;
31
+ slug_single?: string;
32
+ description?: string;
33
+ is_routable?: boolean;
34
+ has_location?: boolean;
35
+ has_route_index?: boolean;
36
+ fields: Array<{
37
+ id?: string;
38
+ name: string;
39
+ slug: string;
40
+ type: string;
41
+ type_id?: string | null;
42
+ repeater_type?: string | null;
43
+ is_primary?: boolean;
44
+ is_multiple?: boolean;
45
+ show_in_list?: boolean;
46
+ order: number;
47
+ allowed_references?: string[];
48
+ options?: Array<{
49
+ label: string;
50
+ value: any;
51
+ }>;
52
+ placeholder?: string;
53
+ }>;
54
+ }
55
+ export declare class BlueprintsService extends BaseService {
56
+ list(options?: RequestInit): Promise<Blueprint[]>;
57
+ get(id: string, options?: RequestInit): Promise<Blueprint | null>;
58
+ create(params: CreateBlueprintParams, options?: RequestInit): Promise<Blueprint>;
59
+ update(id: string, params: UpdateBlueprintParams, options?: RequestInit): Promise<Blueprint>;
60
+ delete(id: string, options?: RequestInit): Promise<void>;
61
+ }
62
+ //# sourceMappingURL=blueprints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprints.d.ts","sourceRoot":"","sources":["../../src/endpoints/blueprints.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,EAAE,KAAK,CAAC;QACZ,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;QAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAC1C,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKjD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IASjE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAKhF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAK5F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,27 @@
1
+ import { BaseService } from "./base.js";
2
+ export class BlueprintsService extends BaseService {
3
+ async list(options) {
4
+ const { data } = await this.client.get("/blueprints", options);
5
+ return data;
6
+ }
7
+ async get(id, options) {
8
+ try {
9
+ const { data } = await this.client.get(`/blueprints/${id}`, options);
10
+ return data;
11
+ }
12
+ catch (error) {
13
+ return null;
14
+ }
15
+ }
16
+ async create(params, options) {
17
+ const { data } = await this.client.post("/blueprints", params, options);
18
+ return data;
19
+ }
20
+ async update(id, params, options) {
21
+ const { data } = await this.client.put(`/blueprints/${id}`, params, options);
22
+ return data;
23
+ }
24
+ async delete(id, options) {
25
+ await this.client.delete(`/blueprints/${id}`, options);
26
+ }
27
+ }
@@ -1,8 +1,43 @@
1
1
  import type { Event } from "../types/index";
2
2
  import { BaseService } from "./base.js";
3
+ export interface EventSeoParams {
4
+ title?: string;
5
+ description?: string;
6
+ }
7
+ export interface CreateEventParams {
8
+ title: string;
9
+ start_time: string;
10
+ end_time?: string | null;
11
+ timezone?: string | null;
12
+ slug?: string | null;
13
+ short_description?: string | null;
14
+ description?: string | null;
15
+ is_featured?: boolean;
16
+ cover_media_id?: number | null;
17
+ ticket_uri?: string | null;
18
+ custom_fields?: Record<string, any> | null;
19
+ seo?: EventSeoParams;
20
+ }
21
+ export interface UpdateEventParams {
22
+ title: string;
23
+ start_time: string;
24
+ end_time?: string | null;
25
+ timezone?: string | null;
26
+ slug?: string | null;
27
+ short_description?: string | null;
28
+ description?: string | null;
29
+ is_featured?: boolean;
30
+ cover_media_id?: number | null;
31
+ ticket_uri?: string | null;
32
+ custom_fields?: Record<string, any> | null;
33
+ seo?: EventSeoParams;
34
+ }
3
35
  export declare class EventService extends BaseService {
4
36
  getEvents(options?: RequestInit): Promise<Event[]>;
5
37
  getEvent(id: string, options?: RequestInit): Promise<Event | null>;
6
38
  getEventBySlug(slug: string, options?: RequestInit): Promise<Event | null>;
39
+ createEvent(params: CreateEventParams, options?: RequestInit): Promise<Event>;
40
+ updateEvent(id: string, params: UpdateEventParams, options?: RequestInit): Promise<Event>;
41
+ deleteEvent(id: string, options?: RequestInit): Promise<void>;
7
42
  }
8
43
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/endpoints/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,qBAAa,YAAa,SAAQ,WAAW;IACrC,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAKlD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAQlE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAOjF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/endpoints/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4C,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;CACtB;AAED,qBAAa,YAAa,SAAQ,WAAW;IACrC,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAKlD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASlE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAQ1E,WAAW,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAK7E,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAKzF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpE"}
@@ -5,11 +5,13 @@ export class EventService extends BaseService {
5
5
  return data;
6
6
  }
7
7
  async getEvent(id, options) {
8
- const { data } = await this.client.get(`/events?filter[id]=${id}`, options);
9
- if (!data || data.length === 0) {
8
+ try {
9
+ const { data } = await this.client.get(`/events/${id}`, options);
10
+ return data;
11
+ }
12
+ catch (error) {
10
13
  return null;
11
14
  }
12
- return data[0];
13
15
  }
14
16
  async getEventBySlug(slug, options) {
15
17
  const { data } = await this.client.get(`/events?filter[slug]=${slug}`, options);
@@ -18,4 +20,15 @@ export class EventService extends BaseService {
18
20
  }
19
21
  return data[0];
20
22
  }
23
+ async createEvent(params, options) {
24
+ const { data } = await this.client.post("/events", params, options);
25
+ return data;
26
+ }
27
+ async updateEvent(id, params, options) {
28
+ const { data } = await this.client.put(`/events/${id}`, params, options);
29
+ return data;
30
+ }
31
+ async deleteEvent(id, options) {
32
+ await this.client.delete(`/events/${id}`, options);
33
+ }
21
34
  }
@@ -1,7 +1,42 @@
1
1
  import type { Location } from "../types/index";
2
2
  import { BaseService } from "./base.js";
3
+ export interface CreateLocationParams {
4
+ name: string;
5
+ address: string;
6
+ city: string;
7
+ state: string;
8
+ zip: string;
9
+ slug?: string | null;
10
+ description?: string | null;
11
+ status?: string | null;
12
+ featured_media_id?: number | null;
13
+ address2?: string | null;
14
+ phone?: string | null;
15
+ email?: string | null;
16
+ timezone?: string | null;
17
+ map_link?: string | null;
18
+ map_embed?: string | null;
19
+ map_embed_query?: string | null;
20
+ map_embed_zoom?: number | null;
21
+ latitude?: number | null;
22
+ longitude?: number | null;
23
+ hours?: any[];
24
+ special_hours?: any[];
25
+ ordering_links?: any[];
26
+ delivery_links?: any[];
27
+ reservation_links?: any[];
28
+ waitlist_links?: any[];
29
+ loyalty_url?: string | null;
30
+ custom_fields?: Record<string, any> | null;
31
+ }
32
+ export interface UpdateLocationParams extends Partial<CreateLocationParams> {
33
+ }
3
34
  export declare class LocationService extends BaseService {
4
35
  getLocations(options?: RequestInit): Promise<Location[]>;
5
36
  getLocationBySlug(slug: string, options?: RequestInit): Promise<Location | null>;
37
+ getLocation(id: string, options?: RequestInit): Promise<Location | null>;
38
+ createLocation(params: CreateLocationParams, options?: RequestInit): Promise<Location>;
39
+ updateLocation(id: string, params: UpdateLocationParams, options?: RequestInit): Promise<Location>;
40
+ deleteLocation(id: string, options?: RequestInit): Promise<void>;
6
41
  }
7
42
  //# sourceMappingURL=locations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../../src/endpoints/locations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,qBAAa,eAAgB,SAAQ,WAAW;IACxC,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAOxD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAUvF"}
1
+ {"version":3,"file":"locations.d.ts","sourceRoot":"","sources":["../../src/endpoints/locations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4C,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;CAAG;AAE9E,qBAAa,eAAgB,SAAQ,WAAW;IACxC,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAOxD,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAWhF,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IASxE,cAAc,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKtF,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKlG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAGvE"}
@@ -14,4 +14,24 @@ export class LocationService extends BaseService {
14
14
  }
15
15
  return data[0];
16
16
  }
17
+ async getLocation(id, options) {
18
+ try {
19
+ const { data } = await this.client.get(`/locations/${id}`, options);
20
+ return data;
21
+ }
22
+ catch (error) {
23
+ return null;
24
+ }
25
+ }
26
+ async createLocation(params, options) {
27
+ const { data } = await this.client.post("/locations", params, options);
28
+ return data;
29
+ }
30
+ async updateLocation(id, params, options) {
31
+ const { data } = await this.client.put(`/locations/${id}`, params, options);
32
+ return data;
33
+ }
34
+ async deleteLocation(id, options) {
35
+ await this.client.delete(`/locations/${id}`, options);
36
+ }
17
37
  }
@@ -2,5 +2,20 @@ import type { Media } from "../types/index";
2
2
  import { BaseService } from "./base.js";
3
3
  export declare class MediaService extends BaseService {
4
4
  all(options?: RequestInit): Promise<Media[]>;
5
+ get(id: string, options?: RequestInit): Promise<Media | null>;
6
+ createFromUrl(source_url: string, options?: RequestInit & {
7
+ name?: string;
8
+ alt?: string;
9
+ }): Promise<Media>;
10
+ upload(file: Blob, options?: {
11
+ name?: string;
12
+ alt?: string;
13
+ request?: RequestInit;
14
+ }): Promise<Media>;
15
+ update(id: string, params: {
16
+ name?: string;
17
+ alt?: string;
18
+ }, options?: RequestInit): Promise<Media>;
19
+ delete(id: string, options?: RequestInit): Promise<void>;
5
20
  }
6
21
  //# sourceMappingURL=media.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/endpoints/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,qBAAa,YAAa,SAAQ,WAAW;IACrC,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW;CAIhC"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/endpoints/media.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4C,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,qBAAa,YAAa,SAAQ,WAAW;IACrC,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAK5C,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAS7D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAS1G,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBpG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAKlG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -4,4 +4,36 @@ export class MediaService extends BaseService {
4
4
  const res = await this.client.get("/media", options);
5
5
  return res.data;
6
6
  }
7
+ async get(id, options) {
8
+ try {
9
+ const { data } = await this.client.get(`/media/${id}`, options);
10
+ return data;
11
+ }
12
+ catch (error) {
13
+ return null;
14
+ }
15
+ }
16
+ async createFromUrl(source_url, options) {
17
+ const { data } = await this.client.post("/media", { source_url, name: options?.name, alt: options?.alt }, options);
18
+ return data;
19
+ }
20
+ async upload(file, options) {
21
+ const formData = new FormData();
22
+ formData.append("file", file);
23
+ if (options?.name) {
24
+ formData.append("name", options.name);
25
+ }
26
+ if (options?.alt) {
27
+ formData.append("alt", options.alt);
28
+ }
29
+ const { data } = await this.client.post("/media", formData, options?.request);
30
+ return data;
31
+ }
32
+ async update(id, params, options) {
33
+ const { data } = await this.client.put(`/media/${id}`, params, options);
34
+ return data;
35
+ }
36
+ async delete(id, options) {
37
+ await this.client.delete(`/media/${id}`, options);
38
+ }
7
39
  }
@@ -0,0 +1,30 @@
1
+ import type { MenuItem } from "../types/index";
2
+ import { BaseService } from "./base.js";
3
+ export interface CreateMenuItemParams {
4
+ title: string;
5
+ nickname?: string | null;
6
+ post_title?: string | null;
7
+ subtitle?: string | null;
8
+ description?: string | null;
9
+ price?: string | null;
10
+ price2?: string | null;
11
+ prices?: Array<{
12
+ label?: string;
13
+ price?: string | number;
14
+ }> | null;
15
+ has_multiple_prices?: boolean;
16
+ has_hidden_price?: boolean;
17
+ price_type?: string | null;
18
+ image_id?: number | null;
19
+ dietary_tags?: string[] | null;
20
+ }
21
+ export interface UpdateMenuItemParams extends Partial<CreateMenuItemParams> {
22
+ }
23
+ export declare class MenuItemService extends BaseService {
24
+ list(options?: RequestInit): Promise<MenuItem[]>;
25
+ get(id: string, options?: RequestInit): Promise<MenuItem | null>;
26
+ create(params: CreateMenuItemParams, options?: RequestInit): Promise<MenuItem>;
27
+ update(id: string, params: UpdateMenuItemParams, options?: RequestInit): Promise<MenuItem>;
28
+ delete(id: string, options?: RequestInit): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=menu-items.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-items.d.ts","sourceRoot":"","sources":["../../src/endpoints/menu-items.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4C,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACnE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO,CAAC,oBAAoB,CAAC;CAAG;AAE9E,qBAAa,eAAgB,SAAQ,WAAW;IACxC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAKhD,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAShE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK9E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAK1F,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/D"}
@@ -0,0 +1,27 @@
1
+ import { BaseService } from "./base.js";
2
+ export class MenuItemService extends BaseService {
3
+ async list(options) {
4
+ const { data } = await this.client.get("/menu-items", options);
5
+ return data;
6
+ }
7
+ async get(id, options) {
8
+ try {
9
+ const { data } = await this.client.get(`/menu-items/${id}`, options);
10
+ return data;
11
+ }
12
+ catch (error) {
13
+ return null;
14
+ }
15
+ }
16
+ async create(params, options) {
17
+ const { data } = await this.client.post("/menu-items", params, options);
18
+ return data;
19
+ }
20
+ async update(id, params, options) {
21
+ const { data } = await this.client.put(`/menu-items/${id}`, params, options);
22
+ return data;
23
+ }
24
+ async delete(id, options) {
25
+ await this.client.delete(`/menu-items/${id}`, options);
26
+ }
27
+ }