From a59de992efefaa0f3f7674b857baf8da392aab9e Mon Sep 17 00:00:00 2001 From: Clyde Mendonca Date: Tue, 22 Oct 2024 00:17:57 +0530 Subject: [PATCH 1/2] gen2 changes --- .../content/components/enable-editor.lite.tsx | 20 ++++++++++++++++++- .../get-builder-search-params/index.ts | 20 ++++++++++++++----- .../get-content/generate-content-url.ts | 11 ++++++++-- .../sdks/src/functions/get-content/index.ts | 13 ++++++++++-- 4 files changed, 54 insertions(+), 10 deletions(-) diff --git a/packages/sdks/src/components/content/components/enable-editor.lite.tsx b/packages/sdks/src/components/content/components/enable-editor.lite.tsx index a8f9dc2a91d..c05ba4c9834 100644 --- a/packages/sdks/src/components/content/components/enable-editor.lite.tsx +++ b/packages/sdks/src/components/content/components/enable-editor.lite.tsx @@ -288,10 +288,26 @@ export default function EnableEditor(props: BuilderEditorProps) { 'initpreviewingbldr', () => { const searchParams = new URL(location.href).searchParams; + const builderPreviewSearchParams = searchParams.get('builder.preview'); + if (builderPreviewSearchParams === 'BUILDER_STUDIO') { + searchParams.set('builder.preview', props.model || ''); + } + const searchParamPreviewModel = searchParams.get('builder.preview'); + + console.log('searchParamPreviewModel', searchParamPreviewModel); + + if (builderPreviewSearchParams === 'BUILDER_STUDIO') { + searchParams.set( + `builder.overrides.${searchParamPreviewModel}`, + props.content?.id || '' + ); + } + const searchParamPreviewId = searchParams.get( `builder.overrides.${searchParamPreviewModel}` ); + console.log('searchParamPreviewId', searchParamPreviewId); const previewApiKey = searchParams.get('apiKey') || searchParams.get('builder.space'); @@ -305,7 +321,8 @@ export default function EnableEditor(props: BuilderEditorProps) { * TO-DO: should we only update the state when there is a change? **/ if ( - searchParamPreviewModel === props.model && + (searchParamPreviewModel === props.model || + searchParamPreviewModel === 'BUILDER_STUDIO') && previewApiKey === props.apiKey && (!props.content || searchParamPreviewId === props.content.id) ) { @@ -314,6 +331,7 @@ export default function EnableEditor(props: BuilderEditorProps) { apiKey: props.apiKey, apiVersion: props.builderContextSignal.value.apiVersion, }).then((content) => { + console.log('CONTENT', content); if (content) { state.mergeNewContent(content); } diff --git a/packages/sdks/src/functions/get-builder-search-params/index.ts b/packages/sdks/src/functions/get-builder-search-params/index.ts index 8bdefdee125..9d82fbad827 100644 --- a/packages/sdks/src/functions/get-builder-search-params/index.ts +++ b/packages/sdks/src/functions/get-builder-search-params/index.ts @@ -1,5 +1,6 @@ import type { QueryObject } from '../../helpers/search/search.js'; import { normalizeSearchParams } from '../../helpers/search/search.js'; +import type { GetContentOptions } from '../get-content/types.js'; import { isBrowser } from '../is-browser.js'; const BUILDER_SEARCHPARAMS_PREFIX = 'builder.'; @@ -12,29 +13,38 @@ const BUILDER_OPTIONS_PREFIX = 'options.'; * @returns */ export const getBuilderSearchParams = ( - _options: QueryObject | URLSearchParams | undefined + _options: QueryObject | URLSearchParams | undefined, + extraArgs?: { model: string; contentId: string } ) => { if (!_options) { return {}; } const options = normalizeSearchParams(_options); - + console.log('getBuilderSearchParams extraArgs', extraArgs); const newOptions: QueryObject = {}; Object.keys(options).forEach((key) => { - if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) { + if (key === 'builder.preview' && options[key] === 'BUILDER_STUDIO') { + newOptions['preview'] = extraArgs?.model || ''; + newOptions[`overrides.${newOptions['preview']}`] = + extraArgs?.contentId || ''; + } else if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) { const trimmedKey = key .replace(BUILDER_SEARCHPARAMS_PREFIX, '') .replace(BUILDER_OPTIONS_PREFIX, ''); newOptions[trimmedKey] = options[key]; } }); + console.log('newOptions', newOptions); return newOptions; }; -export const getBuilderSearchParamsFromWindow = () => { +export const getBuilderSearchParamsFromWindow = (extraArgs?: { + model: string; + contentId: string; +}) => { if (!isBrowser()) { return {}; } const searchParams = new URLSearchParams(window.location.search); - return getBuilderSearchParams(searchParams); + return getBuilderSearchParams(searchParams, extraArgs); }; diff --git a/packages/sdks/src/functions/get-content/generate-content-url.ts b/packages/sdks/src/functions/get-content/generate-content-url.ts index c8ad598cf94..9b785feba4e 100644 --- a/packages/sdks/src/functions/get-content/generate-content-url.ts +++ b/packages/sdks/src/functions/get-content/generate-content-url.ts @@ -7,7 +7,10 @@ import type { GetContentOptions } from './types.js'; const isPositiveNumber = (thing: unknown) => typeof thing === 'number' && !isNaN(thing) && thing >= 0; -export const generateContentUrl = (options: GetContentOptions): URL => { +export const generateContentUrl = ( + options: GetContentOptions, + contentId?: string +): URL => { const { limit = 30, userAttributes, @@ -83,7 +86,10 @@ export const generateContentUrl = (options: GetContentOptions): URL => { // TODO: how to express 'offset' in the url - as direct queryparam or as flattened in options[key] ? const queryOptions = { - ...getBuilderSearchParamsFromWindow(), + ...getBuilderSearchParamsFromWindow({ + model: options.model, + contentId: contentId || '', + }), ...normalizeSearchParams(options.options || {}), }; @@ -101,5 +107,6 @@ export const generateContentUrl = (options: GetContentOptions): URL => { url.searchParams.set(key, JSON.stringify(flattened[key])); } } + console.log('generateContentUrl', url.href); return url; }; diff --git a/packages/sdks/src/functions/get-content/index.ts b/packages/sdks/src/functions/get-content/index.ts index 849851ad411..17c11211e41 100644 --- a/packages/sdks/src/functions/get-content/index.ts +++ b/packages/sdks/src/functions/get-content/index.ts @@ -19,6 +19,7 @@ const checkContentHasResults = ( export async function fetchOneEntry( options: GetContentOptions ): Promise { + console.log('fetchOneEntry start'); const allContent = await fetchEntries({ ...options, limit: 1 }); if (allContent) { @@ -94,9 +95,16 @@ export const _processContentResult = async ( /** * Returns a paginated array of entries that match the given options. */ -export async function fetchEntries(options: GetContentOptions) { +export async function fetchEntries( + options: GetContentOptions, + contentId?: string +) { try { - const url = generateContentUrl(options); + const contents = await _fetchContent(options); + console.log('contents', contents); + + const url = generateContentUrl(options, contentId); + console.log('fetchEntries url = ', url); const content = await _fetchContent(options); if (!checkContentHasResults(content)) { @@ -106,6 +114,7 @@ export async function fetchEntries(options: GetContentOptions) { return _processContentResult(options, content); } catch (error) { + console.log(error); logger.error('Error fetching data. ', error); return null; } From cf5a0433ef5c5279f7504a9ca35289597595e813 Mon Sep 17 00:00:00 2001 From: Clyde Mendonca Date: Tue, 22 Oct 2024 07:21:29 +0530 Subject: [PATCH 2/2] remove console.log --- .../content/components/enable-editor.lite.tsx | 4 --- .../get-builder-search-params/index.ts | 28 +++++++++---------- .../get-content/generate-content-url.ts | 7 +---- .../sdks/src/functions/get-content/index.ts | 13 ++------- 4 files changed, 17 insertions(+), 35 deletions(-) diff --git a/packages/sdks/src/components/content/components/enable-editor.lite.tsx b/packages/sdks/src/components/content/components/enable-editor.lite.tsx index c05ba4c9834..41d09f38c3b 100644 --- a/packages/sdks/src/components/content/components/enable-editor.lite.tsx +++ b/packages/sdks/src/components/content/components/enable-editor.lite.tsx @@ -295,8 +295,6 @@ export default function EnableEditor(props: BuilderEditorProps) { const searchParamPreviewModel = searchParams.get('builder.preview'); - console.log('searchParamPreviewModel', searchParamPreviewModel); - if (builderPreviewSearchParams === 'BUILDER_STUDIO') { searchParams.set( `builder.overrides.${searchParamPreviewModel}`, @@ -307,7 +305,6 @@ export default function EnableEditor(props: BuilderEditorProps) { const searchParamPreviewId = searchParams.get( `builder.overrides.${searchParamPreviewModel}` ); - console.log('searchParamPreviewId', searchParamPreviewId); const previewApiKey = searchParams.get('apiKey') || searchParams.get('builder.space'); @@ -331,7 +328,6 @@ export default function EnableEditor(props: BuilderEditorProps) { apiKey: props.apiKey, apiVersion: props.builderContextSignal.value.apiVersion, }).then((content) => { - console.log('CONTENT', content); if (content) { state.mergeNewContent(content); } diff --git a/packages/sdks/src/functions/get-builder-search-params/index.ts b/packages/sdks/src/functions/get-builder-search-params/index.ts index 9d82fbad827..e81c72dc7f9 100644 --- a/packages/sdks/src/functions/get-builder-search-params/index.ts +++ b/packages/sdks/src/functions/get-builder-search-params/index.ts @@ -1,6 +1,5 @@ import type { QueryObject } from '../../helpers/search/search.js'; import { normalizeSearchParams } from '../../helpers/search/search.js'; -import type { GetContentOptions } from '../get-content/types.js'; import { isBrowser } from '../is-browser.js'; const BUILDER_SEARCHPARAMS_PREFIX = 'builder.'; @@ -14,33 +13,34 @@ const BUILDER_OPTIONS_PREFIX = 'options.'; */ export const getBuilderSearchParams = ( _options: QueryObject | URLSearchParams | undefined, - extraArgs?: { model: string; contentId: string } + extraArgs?: { model: string } ) => { if (!_options) { return {}; } const options = normalizeSearchParams(_options); - console.log('getBuilderSearchParams extraArgs', extraArgs); const newOptions: QueryObject = {}; Object.keys(options).forEach((key) => { - if (key === 'builder.preview' && options[key] === 'BUILDER_STUDIO') { - newOptions['preview'] = extraArgs?.model || ''; - newOptions[`overrides.${newOptions['preview']}`] = - extraArgs?.contentId || ''; - } else if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) { - const trimmedKey = key - .replace(BUILDER_SEARCHPARAMS_PREFIX, '') - .replace(BUILDER_OPTIONS_PREFIX, ''); - newOptions[trimmedKey] = options[key]; + if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) { + if (key === 'builder.preview' && options[key] === 'BUILDER_STUDIO') { + newOptions['preview'] = extraArgs?.model || ''; + } else if (key === 'builder.userAttributes.date') { + const date = new Date(options[key] as string); + newOptions['query.startDate.$lte'] = `${date.getTime()}`; + newOptions['query.endDate.$gte'] = `${date.getTime()}`; + } else { + const trimmedKey = key + .replace(BUILDER_SEARCHPARAMS_PREFIX, '') + .replace(BUILDER_OPTIONS_PREFIX, ''); + newOptions[trimmedKey] = options[key]; + } } }); - console.log('newOptions', newOptions); return newOptions; }; export const getBuilderSearchParamsFromWindow = (extraArgs?: { model: string; - contentId: string; }) => { if (!isBrowser()) { return {}; diff --git a/packages/sdks/src/functions/get-content/generate-content-url.ts b/packages/sdks/src/functions/get-content/generate-content-url.ts index 9b785feba4e..5207b7e00b7 100644 --- a/packages/sdks/src/functions/get-content/generate-content-url.ts +++ b/packages/sdks/src/functions/get-content/generate-content-url.ts @@ -7,10 +7,7 @@ import type { GetContentOptions } from './types.js'; const isPositiveNumber = (thing: unknown) => typeof thing === 'number' && !isNaN(thing) && thing >= 0; -export const generateContentUrl = ( - options: GetContentOptions, - contentId?: string -): URL => { +export const generateContentUrl = (options: GetContentOptions): URL => { const { limit = 30, userAttributes, @@ -88,7 +85,6 @@ export const generateContentUrl = ( const queryOptions = { ...getBuilderSearchParamsFromWindow({ model: options.model, - contentId: contentId || '', }), ...normalizeSearchParams(options.options || {}), }; @@ -107,6 +103,5 @@ export const generateContentUrl = ( url.searchParams.set(key, JSON.stringify(flattened[key])); } } - console.log('generateContentUrl', url.href); return url; }; diff --git a/packages/sdks/src/functions/get-content/index.ts b/packages/sdks/src/functions/get-content/index.ts index 17c11211e41..849851ad411 100644 --- a/packages/sdks/src/functions/get-content/index.ts +++ b/packages/sdks/src/functions/get-content/index.ts @@ -19,7 +19,6 @@ const checkContentHasResults = ( export async function fetchOneEntry( options: GetContentOptions ): Promise { - console.log('fetchOneEntry start'); const allContent = await fetchEntries({ ...options, limit: 1 }); if (allContent) { @@ -95,16 +94,9 @@ export const _processContentResult = async ( /** * Returns a paginated array of entries that match the given options. */ -export async function fetchEntries( - options: GetContentOptions, - contentId?: string -) { +export async function fetchEntries(options: GetContentOptions) { try { - const contents = await _fetchContent(options); - console.log('contents', contents); - - const url = generateContentUrl(options, contentId); - console.log('fetchEntries url = ', url); + const url = generateContentUrl(options); const content = await _fetchContent(options); if (!checkContentHasResults(content)) { @@ -114,7 +106,6 @@ export async function fetchEntries( return _processContentResult(options, content); } catch (error) { - console.log(error); logger.error('Error fetching data. ', error); return null; }