|
|
|
|
@ -1,94 +1,40 @@
|
|
|
|
|
import { hasPath, pathOr, props, last } from 'ramda'; |
|
|
|
|
import { do_request } from './facebook-request.mjs'; |
|
|
|
|
const sleep = (s) => new Promise((res) => setTimeout(res, s * 1000)); |
|
|
|
|
|
|
|
|
|
const doPageEventsTabPastEventsCardRendererQuery = async ({ pageID }) => { |
|
|
|
|
/// PageEventsTabPastEventsCardRendererQuery
|
|
|
|
|
export const past_render_query = async ({ pageID }) => { |
|
|
|
|
const doc_id = '4421910857857782'; |
|
|
|
|
const renderer_query_result = await do_request(doc_id, { pageID }); |
|
|
|
|
const page = pathOr( |
|
|
|
|
null, |
|
|
|
|
['data', 'page', 'past_events'], |
|
|
|
|
renderer_query_result |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (page === null) { |
|
|
|
|
console.error('doPageEventsTabPastEventsCardRendererQuery returned null.'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const resp = await do_request(doc_id, { pageID }); |
|
|
|
|
const page = resp?.data?.page?.past_events ?? null; |
|
|
|
|
return page; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const doPageEventsTabUpcomingEventsCardRendererQuery = async ({ pageID }) => { |
|
|
|
|
const doc_id = '5182274978466320'; |
|
|
|
|
const renderer_query_result = await do_request(doc_id, { pageID }); |
|
|
|
|
const page = pathOr( |
|
|
|
|
null, |
|
|
|
|
['data', 'page', 'upcoming_events'], |
|
|
|
|
renderer_query_result |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (page === null) { |
|
|
|
|
console.error( |
|
|
|
|
'doPageEventsTabUpcomingEventsCardRendererQuery returned null.' |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// PageEventsTabPastEventsCardPaginationQuery
|
|
|
|
|
export const past_pagination_query = async ({ pageID, cursor }) => { |
|
|
|
|
const doc_id = '6953034388071359'; |
|
|
|
|
const count = 9; |
|
|
|
|
const resp = await do_request(doc_id, { pageID, cursor, count }); |
|
|
|
|
const page = resp?.data?.page?.past_events ?? null; |
|
|
|
|
return page; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const doPageEventsTabPastEventsCardPaginationQuery = async ({ |
|
|
|
|
pageID, |
|
|
|
|
cursor |
|
|
|
|
}) => { |
|
|
|
|
const doc_id = '6953034388071359'; |
|
|
|
|
let count = 9; |
|
|
|
|
const renderer_query_result = await do_request(doc_id, { |
|
|
|
|
pageID, |
|
|
|
|
cursor, |
|
|
|
|
count |
|
|
|
|
}); |
|
|
|
|
const page = pathOr( |
|
|
|
|
null, |
|
|
|
|
['data', 'page', 'past_events'], |
|
|
|
|
renderer_query_result |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (page === null) { |
|
|
|
|
console.error( |
|
|
|
|
'doPageEventsTabPastEventsCardPaginationQuery returned null.' |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// PageEventsTabUpcomingEventsCardRendererQuery
|
|
|
|
|
export const upcoming_render_query = async ({ pageID }) => { |
|
|
|
|
const doc_id = '5182274978466320'; |
|
|
|
|
const resp = await do_request(doc_id, { pageID }); |
|
|
|
|
const page = resp?.data?.page?.upcoming_events ?? null; |
|
|
|
|
return page; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const doPageEventsTabUpcomingEventsCardPaginationQuery = async ({ |
|
|
|
|
pageID, |
|
|
|
|
cursor |
|
|
|
|
}) => { |
|
|
|
|
// PageEventsTabUpcomingEventsCardPaginationQuery
|
|
|
|
|
export const upcoming_pagination_query = async ({ pageID, cursor }) => { |
|
|
|
|
const doc_id = '6985622308176123'; |
|
|
|
|
let count = 9; |
|
|
|
|
const renderer_query_result = await do_request(doc_id, { |
|
|
|
|
pageID, |
|
|
|
|
cursor, |
|
|
|
|
count |
|
|
|
|
}); |
|
|
|
|
const page = pathOr( |
|
|
|
|
null, |
|
|
|
|
['data', 'page', 'upcoming_events'], |
|
|
|
|
renderer_query_result |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
if (page === null) { |
|
|
|
|
console.error( |
|
|
|
|
'doPageEventsTabUpcomingEventsCardPaginationQuery returned null.' |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const resp = await do_request(doc_id, { pageID, cursor, count }); |
|
|
|
|
const page = resp?.data?.page?.upcoming_events ?? null; |
|
|
|
|
return page; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// doPageEventsTabPastEventsCardPaginationQuery
|
|
|
|
|
const get_page_events = async ({ |
|
|
|
|
pageID, |
|
|
|
|
get_past_events, |
|
|
|
|
@ -97,7 +43,7 @@ const get_page_events = async ({
|
|
|
|
|
let past_events = []; |
|
|
|
|
|
|
|
|
|
if (get_past_events) { |
|
|
|
|
const result = await doPageEventsTabPastEventsCardRendererQuery({ pageID }); |
|
|
|
|
const result = await past_render_query({ pageID }); |
|
|
|
|
|
|
|
|
|
if (result !== null) { |
|
|
|
|
let { has_next_page, end_cursor: cursor } = result.page_info; |
|
|
|
|
@ -105,16 +51,15 @@ const get_page_events = async ({
|
|
|
|
|
let { edges } = result; |
|
|
|
|
while (has_next_page) { |
|
|
|
|
sleep(2); |
|
|
|
|
const paginationResult = |
|
|
|
|
await doPageEventsTabPastEventsCardPaginationQuery({ |
|
|
|
|
cursor, |
|
|
|
|
pageID |
|
|
|
|
}); |
|
|
|
|
const paginationResult = await past_pagination_query({ |
|
|
|
|
cursor, |
|
|
|
|
pageID |
|
|
|
|
}); |
|
|
|
|
if (paginationResult === null) { |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
edges = [...edges, ...paginationResult.edges]; |
|
|
|
|
has_next_page = paginationResult.page_info.has_next_page; |
|
|
|
|
has_next_page = paginationResult?.page_info?.has_next_page ?? false; |
|
|
|
|
cursor = paginationResult.page_info.end_cursor; |
|
|
|
|
} |
|
|
|
|
past_events = [...edges]; |
|
|
|
|
@ -124,27 +69,23 @@ const get_page_events = async ({
|
|
|
|
|
let upcoming_events = []; |
|
|
|
|
|
|
|
|
|
if (get_upcoming_events) { |
|
|
|
|
const result = await doPageEventsTabUpcomingEventsCardRendererQuery({ |
|
|
|
|
pageID |
|
|
|
|
}); |
|
|
|
|
const result = await upcoming_render_query({ pageID }); |
|
|
|
|
if (result !== null) { |
|
|
|
|
upcoming_events = []; |
|
|
|
|
let { has_next_page, end_cursor: cursor } = result.page_info; |
|
|
|
|
let { edges } = result; |
|
|
|
|
while (has_next_page) { |
|
|
|
|
sleep(2); |
|
|
|
|
const paginationResult = |
|
|
|
|
await doPageEventsTabUpcomingEventsCardPaginationQuery({ |
|
|
|
|
cursor, |
|
|
|
|
pageID |
|
|
|
|
}); |
|
|
|
|
const paginationResult = await upcoming_pagination_query({ |
|
|
|
|
cursor, |
|
|
|
|
pageID |
|
|
|
|
}); |
|
|
|
|
if (paginationResult === null) { |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
edges = [...edges, ...paginationResult.edges]; |
|
|
|
|
|
|
|
|
|
has_next_page = paginationResult.page_info.has_next_page; |
|
|
|
|
cursor = paginationResult.page_info.end_cursor; |
|
|
|
|
has_next_page = paginationResult?.page_info?.has_next_page ?? false; |
|
|
|
|
cursor = paginationResult?.page_info?.end_cursor; |
|
|
|
|
} |
|
|
|
|
upcoming_events = [...edges]; |
|
|
|
|
} |
|
|
|
|
@ -153,27 +94,4 @@ const get_page_events = async ({
|
|
|
|
|
return [...upcoming_events, ...past_events].map(({ node }) => node); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
/// const events = {
|
|
|
|
|
/// edges: [
|
|
|
|
|
/// {
|
|
|
|
|
/// node: {
|
|
|
|
|
/// __typename: "Event",
|
|
|
|
|
/// },
|
|
|
|
|
/// cursor:
|
|
|
|
|
/// "AQHRC7ZNKEqDS75jWJfLUWromnLVgAOGzVAZE7c7CcKfoEaLCcXFSvhMvoxN8yk_Yq6fFMTWjuHjitD5sE1IzW68sw",
|
|
|
|
|
/// },
|
|
|
|
|
/// ],
|
|
|
|
|
/// page_info: {
|
|
|
|
|
/// has_next_page: true,
|
|
|
|
|
/// end_cursor:
|
|
|
|
|
/// "AQHRAh7tKZowf3mdyxtYISP1LNVo45rFI8HJ4nT5SuVgl0NBUfZFslx5qy1eba3YXhdjJ-S2vfojcTGF4ygnt_DQiQ",
|
|
|
|
|
/// },
|
|
|
|
|
/// };
|
|
|
|
|
|
|
|
|
|
(async () => { |
|
|
|
|
const res = await get_page_events({ |
|
|
|
|
pageID: '149127815110411', |
|
|
|
|
get_upcoming_events: true |
|
|
|
|
}); |
|
|
|
|
console.log(res); |
|
|
|
|
})(); |
|
|
|
|
export default get_page_events; |
|
|
|
|
|