@omerlo/omerlo-webkit 0.0.23 → 0.0.24

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.
@@ -11,24 +11,21 @@ export declare const useReader: (f: typeof fetch) => {
11
11
  searchContents: (issueId: string, q: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").SectionContent[]>>;
12
12
  getSectionContents: (sectionId: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ContentSummary[]>>;
13
13
  };
14
+ listProjects: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ProjectSummary[]>>;
15
+ getProject: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Project>>;
16
+ listPeople: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").PersonSummary[]>>;
17
+ getPerson: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Person>>;
18
+ listEvents: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").EventSummary[]>>;
19
+ getEvent: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Event>>;
20
+ allEventBlocks: (id: string, params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ProfileBlockKind[]>>;
21
+ listOrganizations: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").OrganizationSummary[]>>;
22
+ getOrganization: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Organization>>;
23
+ listWebpages: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").WebpageSummary[]>>;
24
+ getWebpage: (slug: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").OrgWebpage>>;
14
25
  getMenu: (key: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Menu>>;
15
26
  listMenus: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").MenuSummary[]>>;
16
- listOrganizations: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").OrganizationSummary[]>>;
17
- getOrganization: () => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Organization>>;
18
- getOrgWebpage: (slug: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").OrgWebpage>>;
19
- listOrgWebpages: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").WebpageSummary[]>>;
20
27
  getMedia: () => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Media>>;
21
- getMediaOrganization: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Organization>>;
22
- listMediaOrganizations: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").OrganizationSummary[]>>;
23
- getMediaEvent: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Event>>;
24
- listMediaEvents: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").EventSummary[]>>;
25
- listMediaEventBlocks: (id: string, params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ProfileBlockKind[]>>;
26
- getMediaPerson: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Person>>;
27
- listMediaPersons: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").PersonSummary[]>>;
28
- getMediaProject: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Project>>;
29
- listMediaProjects: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ProjectSummary[]>>;
30
- getMediaProfileType: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ProfileType>>;
31
- listMediaProfileTypes: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ProfileTypeSummary[]>>;
28
+ getMediaSection: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").MediaSection>>;
32
29
  getContent: (id: string) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Content>>;
33
30
  listContents: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").ContentSummary[]>>;
34
31
  listCategories: (params?: Partial<import("./reader/utils/api").PagingParams>) => Promise<import("./reader/utils/api").ApiResponse<import("./reader").Category[]>>;
@@ -68,7 +68,7 @@ export type ContentBlockQuote = {
68
68
  kind: 'quote';
69
69
  quoteHtml: string;
70
70
  quoteText: string;
71
- author: string;
71
+ author: string | null;
72
72
  visual: Visual | null;
73
73
  template: ContentBlockTemplate | null;
74
74
  };
@@ -1,8 +1,16 @@
1
1
  import type { Category } from './categories';
2
- import { type ApiAssocs, type ApiData } from '../utils/api';
2
+ import { type ApiAssocs, type ApiData, type PagingParams } from '../utils/api';
3
3
  import type { LocalesMetadata } from '../utils/response';
4
4
  import type { ProfileType } from './profileType';
5
5
  import type { ProfileAddress, ProfileContact, ProfileDescription } from './profiles';
6
+ export declare const eventFetchers: (f: typeof fetch) => {
7
+ listEvents: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<EventSummary[]>>;
8
+ getEvent: (id: string) => Promise<import("../utils/api").ApiResponse<Event>>;
9
+ allEventBlocks: (id: string, params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./profiles").ProfileBlockKind[]>>;
10
+ };
11
+ export declare function listEvents(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<EventSummary[]>>;
12
+ export declare function getEvent(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<Event>>;
13
+ export declare function allEventBlocks(f: typeof fetch): (id: string, params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./profiles").ProfileBlockKind[]>>;
6
14
  export interface EventSummary {
7
15
  id: string;
8
16
  profileType: ProfileType;
@@ -1,8 +1,34 @@
1
- import {} from '../utils/api';
1
+ import { parseMany } from '../utils/api';
2
2
  import { getAssoc, getAssocs } from '../utils/assocs';
3
3
  import { parseDate } from '../utils/parseHelpers';
4
- import { parseProfileAddress, parseProfileContact, parseProfileDescription } from './profiles';
4
+ import { parseProfileAddress, parseProfileBlock, parseProfileContact, parseProfileDescription } from './profiles';
5
5
  import { buildMeta } from '../utils/parseHelpers';
6
+ import { requestPublisher } from '../utils/request';
7
+ export const eventFetchers = (f) => {
8
+ return {
9
+ listEvents: listEvents(f),
10
+ getEvent: getEvent(f),
11
+ allEventBlocks: allEventBlocks(f)
12
+ };
13
+ };
14
+ export function listEvents(f) {
15
+ return async (params) => {
16
+ const opts = { parser: parseMany(parseEventSummary), queryParams: params };
17
+ return requestPublisher(f, `media/events`, opts);
18
+ };
19
+ }
20
+ export function getEvent(f) {
21
+ return async (id) => {
22
+ const opts = { parser: parseEvent };
23
+ return requestPublisher(f, `media/events/${id}`, opts);
24
+ };
25
+ }
26
+ export function allEventBlocks(f) {
27
+ return async (id, params) => {
28
+ const opts = { parser: parseMany(parseProfileBlock), queryParams: params };
29
+ return requestPublisher(f, `media/events/${id}/blocks`, opts);
30
+ };
31
+ }
6
32
  export function parseEventSummary(data, assocs) {
7
33
  const name = data.localized?.name || null;
8
34
  const summaryHtml = data.localized?.summary_html || null;
@@ -41,9 +41,6 @@ export interface IssueSummary {
41
41
  meta: {
42
42
  locales: LocalesMetadata;
43
43
  };
44
- metadata: {
45
- [key: string]: string;
46
- };
47
44
  updatedAt: Date;
48
45
  }
49
46
  export interface Issue extends IssueSummary {
@@ -52,7 +52,6 @@ export function parseIssueSummary(data, assocs) {
52
52
  meta: {
53
53
  locales: parseLocalesMetadata(data.meta)
54
54
  },
55
- metadata: data.metadata,
56
55
  updatedAt: new Date(data.updated_at)
57
56
  };
58
57
  }
@@ -1,42 +1,26 @@
1
- import type { ApiAssocs, PagingParams } from '../utils/api';
2
- import { type ApiData } from '../utils/api';
1
+ import type { ApiAssocs } from '../utils/api';
2
+ import type { ApiData } from '../utils/api';
3
3
  import type { LocalesMetadata } from '../utils/response';
4
4
  import { type Visual } from './visuals';
5
5
  export declare const mediaFetchers: (f: typeof fetch) => {
6
6
  getMedia: () => Promise<import("../utils/api").ApiResponse<Media>>;
7
- getMediaOrganization: (id: string) => Promise<import("../utils/api").ApiResponse<import("./organizations").Organization>>;
8
- listMediaOrganizations: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./organizations").OrganizationSummary[]>>;
9
- getMediaEvent: (id: string) => Promise<import("../utils/api").ApiResponse<import("./events").Event>>;
10
- listMediaEvents: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./events").EventSummary[]>>;
11
- listMediaEventBlocks: (id: string, params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./profiles").ProfileBlockKind[]>>;
12
- getMediaPerson: (id: string) => Promise<import("../utils/api").ApiResponse<import("./person").Person>>;
13
- listMediaPersons: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./person").PersonSummary[]>>;
14
- getMediaProject: (id: string) => Promise<import("../utils/api").ApiResponse<import("./projects").Project>>;
15
- listMediaProjects: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./projects").ProjectSummary[]>>;
16
- getMediaProfileType: (id: string) => Promise<import("../utils/api").ApiResponse<import("./profileType").ProfileType>>;
17
- listMediaProfileTypes: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./profileType").ProfileTypeSummary[]>>;
7
+ getMediaSection: (id: string) => Promise<import("../utils/api").ApiResponse<MediaSection>>;
18
8
  };
19
- export interface MediaSummary {
20
- id: string;
21
- organization: string;
22
- name: string;
23
- key: string;
24
- sections: Section[];
25
- }
26
- export interface Media extends MediaSummary {
27
- contact: MediaContact | null;
28
- }
29
- export type Section = {
9
+ export declare function getMedia(f: typeof fetch): () => Promise<import("../utils/api").ApiResponse<Media>>;
10
+ export declare function getMediaSection(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<MediaSection>>;
11
+ export interface Media {
30
12
  id: string;
31
- color: string;
32
- position: number;
13
+ displayName: string | null;
33
14
  meta: {
34
15
  locales: LocalesMetadata;
35
16
  };
36
17
  name: string;
37
- slug: string;
38
- visual: Visual;
39
- };
18
+ key: string;
19
+ contact: MediaContact | null;
20
+ sections: MediaSectionSummary[];
21
+ metadata: Record<string, string>;
22
+ updatedAt: Date;
23
+ }
40
24
  export interface MediaContact {
41
25
  phone: string | null;
42
26
  email: string | null;
@@ -50,16 +34,43 @@ export interface MediaContact {
50
34
  locales: LocalesMetadata;
51
35
  };
52
36
  }
37
+ export interface MediaSectionSummary {
38
+ id: string;
39
+ name: string;
40
+ slug: string;
41
+ visual: Visual | null;
42
+ meta: {
43
+ locales: LocalesMetadata;
44
+ };
45
+ color: string;
46
+ updatedAt: Date;
47
+ }
48
+ export interface MediaSection extends MediaSectionSummary {
49
+ description: string | null;
50
+ parentId: string | null;
51
+ advertisingKey: string | null;
52
+ blocks: MediaBlockSummary[];
53
+ }
54
+ export interface MediaBlockConfigurationSummary {
55
+ id: string;
56
+ blockType: 'content' | 'distribution' | 'html' | 'media' | 'most_popular' | 'section';
57
+ name: string;
58
+ key: string;
59
+ }
60
+ export interface MediaBlockSummary {
61
+ id: string;
62
+ configuration: MediaBlockConfigurationSummary;
63
+ name: string;
64
+ description: string | null;
65
+ html: string | null;
66
+ visual: Visual | null;
67
+ meta: {
68
+ locales: LocalesMetadata;
69
+ };
70
+ textColor: string | null;
71
+ backgroundColor: string | null;
72
+ backgroundSVG: string | null;
73
+ updatedAt: Date;
74
+ }
53
75
  export declare function parseMedia(data: ApiData, assocs: ApiAssocs): Media;
54
- export declare function getMedia(f: typeof fetch): () => Promise<import("../utils/api").ApiResponse<Media>>;
55
- export declare function getMediaOrganization(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<import("./organizations").Organization>>;
56
- export declare function listMediaOrganizations(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./organizations").OrganizationSummary[]>>;
57
- export declare function getMediaEvent(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<import("./events").Event>>;
58
- export declare function listMediaEvents(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./events").EventSummary[]>>;
59
- export declare function listMediaEventBlocks(f: typeof fetch): (id: string, params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./profiles").ProfileBlockKind[]>>;
60
- export declare function getMediaPerson(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<import("./person").Person>>;
61
- export declare function listMediaPersons(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./person").PersonSummary[]>>;
62
- export declare function getMediaProject(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<import("./projects").Project>>;
63
- export declare function listMediaProjects(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./projects").ProjectSummary[]>>;
64
- export declare function getMediaProfileType(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<import("./profileType").ProfileType>>;
65
- export declare function listMediaProfileTypes(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./profileType").ProfileTypeSummary[]>>;
76
+ export declare function parseMediaBlockConfiguration(data: ApiData): MediaBlockConfigurationSummary;
@@ -1,29 +1,39 @@
1
- import { parseMany } from '../utils/api';
2
- import { requestPublisher } from '../utils/request';
1
+ import { request, requestPublisher } from '../utils/request';
3
2
  import { parseVisual } from './visuals';
4
3
  import { buildMeta } from '../utils/parseHelpers';
5
- import { parseOrganization, parseOrganizationSummary } from './organizations';
6
- import { parseEvent, parseEventSummary } from './events';
7
- import { parseProfileBlock } from './profiles';
8
- import { parsePerson, parsePersonSummary } from './person';
9
- import { parseProject, parseProjectSummary } from './projects';
10
- import { parseProfileType, parseProfileTypeSummary } from './profileType';
4
+ import { getAssoc } from '../utils/assocs';
11
5
  export const mediaFetchers = (f) => {
12
6
  return {
13
7
  getMedia: getMedia(f),
14
- getMediaOrganization: getMediaOrganization(f),
15
- listMediaOrganizations: listMediaOrganizations(f),
16
- getMediaEvent: getMediaEvent(f),
17
- listMediaEvents: listMediaEvents(f),
18
- listMediaEventBlocks: listMediaEventBlocks(f),
19
- getMediaPerson: getMediaPerson(f),
20
- listMediaPersons: listMediaPersons(f),
21
- getMediaProject: getMediaProject(f),
22
- listMediaProjects: listMediaProjects(f),
23
- getMediaProfileType: getMediaProfileType(f),
24
- listMediaProfileTypes: listMediaProfileTypes(f)
8
+ getMediaSection: getMediaSection(f)
25
9
  };
26
10
  };
11
+ export function getMedia(f) {
12
+ return async () => {
13
+ const opts = { parser: parseMedia };
14
+ return requestPublisher(f, 'media/', opts);
15
+ };
16
+ }
17
+ export function getMediaSection(f) {
18
+ return async (id) => {
19
+ const opts = { parser: parseSection };
20
+ return request(f, `media/sections/${id}`, opts);
21
+ };
22
+ }
23
+ export function parseMedia(data, assocs) {
24
+ const contact = data.localized_contact ? parseMediaContact(data.localized_contact, assocs) : null;
25
+ return {
26
+ id: data.id,
27
+ displayName: data.localized?.display_name,
28
+ meta: buildMeta(data.localized?.locale),
29
+ name: data.name,
30
+ key: data.key,
31
+ contact,
32
+ metadata: data.metadata,
33
+ sections: data.sections.map((section, assocs) => parseSectionSummary(section, assocs)),
34
+ updatedAt: data.updated_at
35
+ };
36
+ }
27
37
  function parseMediaContact(data, _assocs) {
28
38
  return {
29
39
  phone: data.phone,
@@ -37,97 +47,52 @@ function parseMediaContact(data, _assocs) {
37
47
  meta: buildMeta(data.locale)
38
48
  };
39
49
  }
40
- export function parseMedia(data, assocs) {
41
- const contact = data.localized_contact ? parseMediaContact(data.localized_contact, assocs) : null;
50
+ function parseSection(data, assocs) {
42
51
  return {
43
52
  id: data.id,
44
- organization: data.organization_id,
45
- name: data.name,
46
- key: data.key,
47
- sections: parseSections(data, assocs),
48
- contact
53
+ parentId: data.parent_id,
54
+ name: data.localized.name,
55
+ description: data.localized.description,
56
+ slug: data.localized.slug,
57
+ visual: parseVisual(data.visual, assocs),
58
+ meta: buildMeta(data.localized.locale),
59
+ color: data.color,
60
+ advertisingKey: data.advertising_key,
61
+ blocks: data.blocks.map((block, assocs) => parseBlockSummary(block, assocs)),
62
+ updatedAt: data.updated_at
49
63
  };
50
64
  }
51
- function parseSections(data, assocs) {
52
- return data.sections.map((section) => ({
65
+ function parseSectionSummary(section, assocs) {
66
+ return {
53
67
  id: section.id,
54
68
  color: section.color,
55
- position: section.position,
56
69
  meta: buildMeta(section.localized.locale),
57
70
  name: section.localized.name,
58
71
  slug: section.localized.slug,
59
- visual: parseVisual(section.visual, assocs)
60
- }));
61
- }
62
- export function getMedia(f) {
63
- return async () => {
64
- const opts = { parser: parseMedia };
65
- return requestPublisher(f, 'media/', opts);
72
+ visual: parseVisual(section.visual, assocs),
73
+ updatedAt: section.updated_at
66
74
  };
67
75
  }
68
- export function getMediaOrganization(f) {
69
- return async (id) => {
70
- const opts = { parser: parseOrganization };
71
- return requestPublisher(f, `media/organizations/${id}`, opts);
72
- };
73
- }
74
- export function listMediaOrganizations(f) {
75
- return async (params) => {
76
- const opts = { parser: parseMany(parseOrganizationSummary), queryParams: params };
77
- return requestPublisher(f, `media/organizations`, opts);
78
- };
79
- }
80
- export function getMediaEvent(f) {
81
- return async (id) => {
82
- const opts = { parser: parseEvent };
83
- return requestPublisher(f, `media/events/${id}`, opts);
84
- };
85
- }
86
- export function listMediaEvents(f) {
87
- return async (params) => {
88
- const opts = { parser: parseMany(parseEventSummary), queryParams: params };
89
- return requestPublisher(f, `media/events`, opts);
90
- };
91
- }
92
- export function listMediaEventBlocks(f) {
93
- return async (id, params) => {
94
- const opts = { parser: parseMany(parseProfileBlock), queryParams: params };
95
- return requestPublisher(f, `media/events/${id}/blocks`, opts);
96
- };
97
- }
98
- export function getMediaPerson(f) {
99
- return async (id) => {
100
- const opts = { parser: parsePerson };
101
- return requestPublisher(f, `media/people/${id}`, opts);
102
- };
103
- }
104
- export function listMediaPersons(f) {
105
- return async (params) => {
106
- const opts = { parser: parseMany(parsePersonSummary), queryParams: params };
107
- return requestPublisher(f, `media/people`, opts);
108
- };
109
- }
110
- export function getMediaProject(f) {
111
- return async (id) => {
112
- const opts = { parser: parseProject };
113
- return requestPublisher(f, `media/projects/${id}`, opts);
114
- };
115
- }
116
- export function listMediaProjects(f) {
117
- return async (params) => {
118
- const opts = { parser: parseMany(parseProjectSummary), queryParams: params };
119
- return requestPublisher(f, `media/projects`, opts);
120
- };
121
- }
122
- export function getMediaProfileType(f) {
123
- return async (id) => {
124
- const opts = { parser: parseProfileType };
125
- return requestPublisher(f, `media/profile-types/${id}`, opts);
76
+ export function parseMediaBlockConfiguration(data) {
77
+ return {
78
+ id: data.id,
79
+ blockType: data.block_type,
80
+ name: data.name,
81
+ key: data.key
126
82
  };
127
83
  }
128
- export function listMediaProfileTypes(f) {
129
- return async (params) => {
130
- const opts = { parser: parseMany(parseProfileTypeSummary), queryParams: params };
131
- return requestPublisher(f, `media/profile-types`, opts);
84
+ function parseBlockSummary(data, assocs) {
85
+ return {
86
+ id: data.localized.id,
87
+ configuration: getAssoc(assocs, 'media_block_configurations', data.configuration_id),
88
+ name: data.localized.name,
89
+ description: data.localized.description,
90
+ html: data.localized.html,
91
+ visual: data.localized.visual,
92
+ meta: buildMeta(data.localized.locale),
93
+ textColor: data.textColor,
94
+ backgroundColor: data.backgroundColor,
95
+ backgroundSVG: data.backgroundSVG,
96
+ updatedAt: data.updatedAt
132
97
  };
133
98
  }
@@ -8,10 +8,10 @@ import { type ProfileDescription } from './profiles';
8
8
  import type { ProfileType } from './profileType';
9
9
  export declare const organizationFetchers: (f: typeof fetch) => {
10
10
  listOrganizations: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<OrganizationSummary[]>>;
11
- getOrganization: () => Promise<import("../utils/api").ApiResponse<Organization>>;
12
- getOrgWebpage: (slug: string) => Promise<import("../utils/api").ApiResponse<import("./webpage").OrgWebpage>>;
13
- listOrgWebpages: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./webpage").WebpageSummary[]>>;
11
+ getOrganization: (id: string) => Promise<import("../utils/api").ApiResponse<Organization>>;
14
12
  };
13
+ export declare function listOrganizations(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<OrganizationSummary[]>>;
14
+ export declare function getOrganization(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<Organization>>;
15
15
  export interface OrganizationSummary {
16
16
  id: string;
17
17
  profileType: ProfileType;
@@ -34,7 +34,3 @@ export interface Organization extends OrganizationSummary {
34
34
  }
35
35
  export declare function parseOrganizationSummary(data: ApiData, assocs: ApiAssocs): OrganizationSummary;
36
36
  export declare function parseOrganization(data: ApiData, assocs: ApiAssocs): Organization;
37
- export declare function getOrganization(f: typeof fetch): () => Promise<import("../utils/api").ApiResponse<Organization>>;
38
- export declare function listOrganizations(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<OrganizationSummary[]>>;
39
- export declare function getOrgWebpage(f: typeof fetch): (slug: string) => Promise<import("../utils/api").ApiResponse<import("./webpage").OrgWebpage>>;
40
- export declare function listOrgWebpages(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<import("./webpage").WebpageSummary[]>>;
@@ -4,16 +4,27 @@ import { parseProfileAddress } from './profiles';
4
4
  import { parseProfileContact } from './profiles';
5
5
  import { parseProfileDescription } from './profiles';
6
6
  import { buildMeta } from '../utils/parseHelpers';
7
- import { ParseWebpage, ParseWebpageSummary } from './webpage';
8
7
  import { requestPublisher } from '../utils/request';
9
8
  export const organizationFetchers = (f) => {
10
9
  return {
11
10
  listOrganizations: listOrganizations(f),
12
- getOrganization: getOrganization(f),
13
- getOrgWebpage: getOrgWebpage(f),
14
- listOrgWebpages: listOrgWebpages(f)
11
+ getOrganization: getOrganization(f)
12
+ // TODO missing allPersonBlocks
13
+ // allOrganizationBlocks: allOrganizationBlocks(f)
15
14
  };
16
15
  };
16
+ export function listOrganizations(f) {
17
+ return async (params) => {
18
+ const opts = { parser: parseMany(parseOrganizationSummary), queryParams: params };
19
+ return requestPublisher(f, `media/organizations`, opts);
20
+ };
21
+ }
22
+ export function getOrganization(f) {
23
+ return async (id) => {
24
+ const opts = { parser: parseOrganization };
25
+ return requestPublisher(f, `media/organizations/${id}`, opts);
26
+ };
27
+ }
17
28
  export function parseOrganizationSummary(data, assocs) {
18
29
  return {
19
30
  id: data.id,
@@ -47,27 +58,3 @@ export function parseOrganization(data, assocs) {
47
58
  description
48
59
  };
49
60
  }
50
- export function getOrganization(f) {
51
- return async () => {
52
- const opts = { parser: parseOrganization };
53
- return requestPublisher(f, `organization`, opts);
54
- };
55
- }
56
- export function listOrganizations(f) {
57
- return async (params) => {
58
- const opts = { parser: parseMany(parseOrganizationSummary), queryParams: params };
59
- return requestPublisher(f, `organizations`, opts);
60
- };
61
- }
62
- export function getOrgWebpage(f) {
63
- return async (slug) => {
64
- const opts = { parser: ParseWebpage };
65
- return requestPublisher(f, `organization/pages/${slug}`, opts);
66
- };
67
- }
68
- export function listOrgWebpages(f) {
69
- return async (params) => {
70
- const opts = { parser: parseMany(ParseWebpageSummary), queryParams: params };
71
- return requestPublisher(f, `organization/pages`, opts);
72
- };
73
- }
@@ -1,8 +1,16 @@
1
1
  import type { Category } from './categories';
2
- import { type ApiAssocs, type ApiData } from '../utils/api';
2
+ import { type ApiAssocs, type ApiData, type PagingParams } from '../utils/api';
3
3
  import type { LocalesMetadata } from '../utils/response';
4
- import { type ProfileAddress, type ProfileContact, type ProfileDescription } from './profiles';
4
+ import { type ProfileAddress } from './profiles';
5
+ import { type ProfileContact } from './profiles';
6
+ import { type ProfileDescription } from './profiles';
5
7
  import type { ProfileType } from './profileType';
8
+ export declare const personFetchers: (f: typeof fetch) => {
9
+ listPeople: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<PersonSummary[]>>;
10
+ getPerson: (id: string) => Promise<import("../utils/api").ApiResponse<Person>>;
11
+ };
12
+ export declare function listPeople(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<PersonSummary[]>>;
13
+ export declare function getPerson(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<Person>>;
6
14
  export interface PersonSummary {
7
15
  id: string;
8
16
  profileType: ProfileType;
@@ -1,7 +1,30 @@
1
- import {} from '../utils/api';
2
- import { parseProfileAddress, parseProfileContact, parseProfileDescription } from './profiles';
1
+ import { parseMany } from '../utils/api';
2
+ import { parseProfileAddress } from './profiles';
3
+ import { parseProfileContact } from './profiles';
4
+ import { parseProfileDescription } from './profiles';
3
5
  import { getAssoc, getAssocs } from '../utils/assocs';
4
6
  import { buildMeta } from '../utils/parseHelpers';
7
+ import { requestPublisher } from '../utils/request';
8
+ export const personFetchers = (f) => {
9
+ return {
10
+ listPeople: listPeople(f),
11
+ getPerson: getPerson(f)
12
+ // TODO missing allPersonBlocks
13
+ // allPersonBlocks: allPersonBlocks(f)
14
+ };
15
+ };
16
+ export function listPeople(f) {
17
+ return async (params) => {
18
+ const opts = { parser: parseMany(parsePersonSummary), queryParams: params };
19
+ return requestPublisher(f, `media/people`, opts);
20
+ };
21
+ }
22
+ export function getPerson(f) {
23
+ return async (id) => {
24
+ const opts = { parser: parsePerson };
25
+ return requestPublisher(f, `media/people/${id}`, opts);
26
+ };
27
+ }
5
28
  export function parsePersonSummary(data, assocs) {
6
29
  return {
7
30
  id: data.id,
@@ -1,5 +1,11 @@
1
- import { type ApiAssocs, type ApiData } from '../utils/api';
1
+ import { type ApiAssocs, type ApiData, type PagingParams } from '../utils/api';
2
2
  import { type LocalesMetadata } from '../utils/response';
3
+ export declare const profileTypeFetchers: (f: typeof fetch) => {
4
+ listProfileTypes: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<ProfileTypeSummary[]>>;
5
+ getProfileType: (id: string) => Promise<import("../utils/api").ApiResponse<ProfileType>>;
6
+ };
7
+ export declare function listProfileTypes(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<ProfileTypeSummary[]>>;
8
+ export declare function getProfileType(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<ProfileType>>;
3
9
  export interface ProfileTypeSummary {
4
10
  id: string;
5
11
  kind: 'person' | 'project' | 'organization' | 'event';
@@ -1,6 +1,25 @@
1
- import {} from '../utils/api';
1
+ import { parseMany } from '../utils/api';
2
2
  import { parseLocalesMetadata } from '../utils/response';
3
3
  import { buildMeta } from '../utils/parseHelpers';
4
+ import { requestPublisher } from '../utils/request';
5
+ export const profileTypeFetchers = (f) => {
6
+ return {
7
+ listProfileTypes: listProfileTypes(f),
8
+ getProfileType: getProfileType(f)
9
+ };
10
+ };
11
+ export function listProfileTypes(f) {
12
+ return async (params) => {
13
+ const opts = { parser: parseMany(parseProfileTypeSummary), queryParams: params };
14
+ return requestPublisher(f, `media/profile-types`, opts);
15
+ };
16
+ }
17
+ export function getProfileType(f) {
18
+ return async (id) => {
19
+ const opts = { parser: parseProfileType };
20
+ return requestPublisher(f, `media/profile-types/${id}`, opts);
21
+ };
22
+ }
4
23
  export function parseProfileTypeSummary(data, _assocs) {
5
24
  let localizedField;
6
25
  // NOTE: This is to support publisher public api v2
@@ -1,8 +1,14 @@
1
1
  import type { LocalesMetadata } from '../utils/response';
2
2
  import type { Category } from './categories';
3
3
  import { type ProfileAddress, type ProfileContact, type ProfileDescription } from './profiles';
4
- import { type ApiData, type ApiAssocs } from '../utils/api';
4
+ import { type ApiData, type ApiAssocs, type PagingParams } from '../utils/api';
5
5
  import type { ProfileType } from './profileType';
6
+ export declare const projectFetchers: (f: typeof fetch) => {
7
+ listProjects: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<ProjectSummary[]>>;
8
+ getProject: (id: string) => Promise<import("../utils/api").ApiResponse<Project>>;
9
+ };
10
+ export declare function listProjects(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<ProjectSummary[]>>;
11
+ export declare function getProject(f: typeof fetch): (id: string) => Promise<import("../utils/api").ApiResponse<Project>>;
6
12
  export interface ProjectSummary {
7
13
  id: string;
8
14
  profileType: ProfileType;
@@ -1,7 +1,28 @@
1
1
  import { parseProfileAddress, parseProfileContact, parseProfileDescription } from './profiles';
2
- import {} from '../utils/api';
2
+ import { parseMany } from '../utils/api';
3
3
  import { getAssoc, getAssocs } from '../utils/assocs';
4
4
  import { buildMeta } from '../utils/parseHelpers';
5
+ import { requestPublisher } from '../utils/request';
6
+ export const projectFetchers = (f) => {
7
+ return {
8
+ listProjects: listProjects(f),
9
+ getProject: getProject(f)
10
+ // TODO missing allProjectBlocks
11
+ // allProjectBlocks: allProjectBlocks(f)
12
+ };
13
+ };
14
+ export function listProjects(f) {
15
+ return async (params) => {
16
+ const opts = { parser: parseMany(parseProjectSummary), queryParams: params };
17
+ return requestPublisher(f, `media/projects`, opts);
18
+ };
19
+ }
20
+ export function getProject(f) {
21
+ return async (id) => {
22
+ const opts = { parser: parseProject };
23
+ return requestPublisher(f, `media/projects/${id}`, opts);
24
+ };
25
+ }
5
26
  export function parseProjectSummary(data, assocs) {
6
27
  return {
7
28
  id: data.id,
@@ -1,5 +1,11 @@
1
- import { type ApiAssocs, type ApiData } from '../utils/api';
1
+ import { type ApiAssocs, type ApiData, type PagingParams } from '../utils/api';
2
2
  import type { LocalesMetadata } from '../utils/response';
3
+ export declare const webpageFetchers: (f: typeof fetch) => {
4
+ listWebpages: (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<WebpageSummary[]>>;
5
+ getWebpage: (slug: string) => Promise<import("../utils/api").ApiResponse<OrgWebpage>>;
6
+ };
7
+ export declare function listWebpages(f: typeof fetch): (params?: Partial<PagingParams>) => Promise<import("../utils/api").ApiResponse<WebpageSummary[]>>;
8
+ export declare function getWebpage(f: typeof fetch): (slug: string) => Promise<import("../utils/api").ApiResponse<OrgWebpage>>;
3
9
  export interface WebpageSummary {
4
10
  id: string;
5
11
  name: string;
@@ -16,5 +22,5 @@ export interface WebpageSummary {
16
22
  export interface OrgWebpage extends WebpageSummary {
17
23
  html: string;
18
24
  }
19
- export declare function ParseWebpageSummary(data: ApiData, _assocs: ApiAssocs): WebpageSummary;
20
- export declare function ParseWebpage(data: ApiData, assocs: ApiAssocs): OrgWebpage;
25
+ export declare function parseWebpageSummary(data: ApiData, _assocs: ApiAssocs): WebpageSummary;
26
+ export declare function parseWebpage(data: ApiData, assocs: ApiAssocs): OrgWebpage;
@@ -1,6 +1,25 @@
1
- import {} from '../utils/api';
1
+ import { parseMany } from '../utils/api';
2
2
  import { buildMeta } from '../utils/parseHelpers';
3
- export function ParseWebpageSummary(data, _assocs) {
3
+ import { requestPublisher } from '../utils/request';
4
+ export const webpageFetchers = (f) => {
5
+ return {
6
+ listWebpages: listWebpages(f),
7
+ getWebpage: getWebpage(f)
8
+ };
9
+ };
10
+ export function listWebpages(f) {
11
+ return async (params) => {
12
+ const opts = { parser: parseMany(parseWebpageSummary), queryParams: params };
13
+ return requestPublisher(f, `organization/pages`, opts);
14
+ };
15
+ }
16
+ export function getWebpage(f) {
17
+ return async (slug) => {
18
+ const opts = { parser: parseWebpage };
19
+ return requestPublisher(f, `organization/pages/${slug}`, opts);
20
+ };
21
+ }
22
+ export function parseWebpageSummary(data, _assocs) {
4
23
  return {
5
24
  id: data.id,
6
25
  name: data.name,
@@ -13,9 +32,9 @@ export function ParseWebpageSummary(data, _assocs) {
13
32
  url: data.localized.url
14
33
  };
15
34
  }
16
- export function ParseWebpage(data, assocs) {
35
+ export function parseWebpage(data, assocs) {
17
36
  return {
18
- ...ParseWebpageSummary(data, assocs),
37
+ ...parseWebpageSummary(data, assocs),
19
38
  html: data.localized.html
20
39
  };
21
40
  }
@@ -11,24 +11,21 @@ export declare const fetchers: (f: typeof fetch) => {
11
11
  searchContents: (issueId: string, q: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/magazines").SectionContent[]>>;
12
12
  getSectionContents: (sectionId: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/contents").ContentSummary[]>>;
13
13
  };
14
+ listProjects: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/projects").ProjectSummary[]>>;
15
+ getProject: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/projects").Project>>;
16
+ listPeople: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/person").PersonSummary[]>>;
17
+ getPerson: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/person").Person>>;
18
+ listEvents: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/events").EventSummary[]>>;
19
+ getEvent: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/events").Event>>;
20
+ allEventBlocks: (id: string, params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").ProfileBlockKind[]>>;
21
+ listOrganizations: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/organizations").OrganizationSummary[]>>;
22
+ getOrganization: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/organizations").Organization>>;
23
+ listWebpages: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/webpage").WebpageSummary[]>>;
24
+ getWebpage: (slug: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/webpage").OrgWebpage>>;
14
25
  getMenu: (key: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/menu").Menu>>;
15
26
  listMenus: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/menu").MenuSummary[]>>;
16
- listOrganizations: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/organizations").OrganizationSummary[]>>;
17
- getOrganization: () => Promise<import("./utils/api").ApiResponse<import("./endpoints/organizations").Organization>>;
18
- getOrgWebpage: (slug: string) => Promise<import("./utils/api").ApiResponse<import(".").OrgWebpage>>;
19
- listOrgWebpages: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").WebpageSummary[]>>;
20
27
  getMedia: () => Promise<import("./utils/api").ApiResponse<import("./endpoints/media").Media>>;
21
- getMediaOrganization: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/organizations").Organization>>;
22
- listMediaOrganizations: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/organizations").OrganizationSummary[]>>;
23
- getMediaEvent: (id: string) => Promise<import("./utils/api").ApiResponse<import(".").Event>>;
24
- listMediaEvents: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").EventSummary[]>>;
25
- listMediaEventBlocks: (id: string, params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").ProfileBlockKind[]>>;
26
- getMediaPerson: (id: string) => Promise<import("./utils/api").ApiResponse<import(".").Person>>;
27
- listMediaPersons: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").PersonSummary[]>>;
28
- getMediaProject: (id: string) => Promise<import("./utils/api").ApiResponse<import(".").Project>>;
29
- listMediaProjects: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").ProjectSummary[]>>;
30
- getMediaProfileType: (id: string) => Promise<import("./utils/api").ApiResponse<import(".").ProfileType>>;
31
- listMediaProfileTypes: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import(".").ProfileTypeSummary[]>>;
28
+ getMediaSection: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/media").MediaSection>>;
32
29
  getContent: (id: string) => Promise<import("./utils/api").ApiResponse<import("./endpoints/contents").Content>>;
33
30
  listContents: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/contents").ContentSummary[]>>;
34
31
  listCategories: (params?: Partial<import("./utils/api").PagingParams>) => Promise<import("./utils/api").ApiResponse<import("./endpoints/categories").Category[]>>;
@@ -9,6 +9,10 @@ import { organizationFetchers } from './endpoints/organizations';
9
9
  import { menuFetchers } from './endpoints/menu';
10
10
  import { magazineFetchers } from './endpoints/magazines';
11
11
  import { distributionFetchers } from './endpoints/distributions';
12
+ import { eventFetchers } from './endpoints/events';
13
+ import { personFetchers } from './endpoints/person';
14
+ import { projectFetchers } from './endpoints/projects';
15
+ import { webpageFetchers } from './endpoints/webpage';
12
16
  export const fetchers = (f) => {
13
17
  return {
14
18
  ...accountsFetchers(f),
@@ -17,8 +21,12 @@ export const fetchers = (f) => {
17
21
  ...categoriesFetchers(f),
18
22
  ...contentsFetchers(f),
19
23
  ...mediaFetchers(f),
20
- ...organizationFetchers(f),
21
24
  ...menuFetchers(f),
25
+ ...webpageFetchers(f),
26
+ ...organizationFetchers(f),
27
+ ...eventFetchers(f),
28
+ ...personFetchers(f),
29
+ ...projectFetchers(f),
22
30
  notifications: notificationFetchers(f),
23
31
  magazines: {
24
32
  ...magazineFetchers(f),
@@ -3,8 +3,8 @@ export type * from './endpoints/accounts';
3
3
  export type * from './endpoints/categories';
4
4
  export type * from './endpoints/content-templates';
5
5
  export type * from './endpoints/contents';
6
- export type * from './endpoints/distributions';
7
6
  export type * from './endpoints/device';
7
+ export type * from './endpoints/distributions';
8
8
  export type * from './endpoints/events';
9
9
  export type * from './endpoints/magazines';
10
10
  export type * from './endpoints/media';
@@ -5,6 +5,7 @@ import { parseProfileTypeSummary } from './endpoints/profileType';
5
5
  import { registerAssocParser } from './utils/assocs';
6
6
  import { parseContentSummary } from './endpoints/contents';
7
7
  import { parseIssueBlockConfiguration, parseIssueSummary, parseIssueType } from './endpoints/magazines';
8
+ import { parseMediaBlockConfiguration } from './endpoints/media';
8
9
  export * from './stores/user_session';
9
10
  export function initReader() {
10
11
  registerAssocParser('categories', parseCategory);
@@ -17,6 +18,7 @@ export function initReader() {
17
18
  registerAssocParser('issues', parseIssueSummary);
18
19
  registerAssocParser('issue_types', parseIssueType);
19
20
  registerAssocParser('issue_block_configurations', parseIssueBlockConfiguration);
21
+ registerAssocParser('media_block_configurations', parseMediaBlockConfiguration);
20
22
  // NOTE: Those ones are for retro compatibility with publisher public api v2
21
23
  // Reason is we renamed some assocs keys in Reader API that are different
22
24
  // from Publisher public API V2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omerlo/omerlo-webkit",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "scripts": {
5
5
  "dev": "vite dev",
6
6
  "build": "vite build && npm run package",