@datawheel/bespoke 0.8.0-rc.2 → 0.8.0-rc.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/auth.js +2 -2
- package/dist/cms.js +97 -64
- package/dist/explore.js +5 -4
- package/dist/index.js +2 -2
- package/dist/redux-store.js +15 -15
- package/dist/report.js +40 -35
- package/dist/server.js +38 -34
- package/package.json +8 -8
package/dist/server.js
CHANGED
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import Ps, { getServerSession } from 'next-auth';
|
|
2
|
+
import _s from 'next-auth/providers/auth0';
|
|
3
3
|
import { initAuth0 } from '@auth0/nextjs-auth0';
|
|
4
|
-
import
|
|
5
|
-
import * as
|
|
4
|
+
import Be from 'auth0';
|
|
5
|
+
import * as Ci from 'pg';
|
|
6
6
|
import { Sequelize, Error as Error$1, Op, fn as fn$1, col, literal, where, cast, json, DataTypes, Model } from 'sequelize';
|
|
7
|
-
import
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
10
|
-
import * as
|
|
11
|
-
import * as
|
|
7
|
+
import Sr from 'yn';
|
|
8
|
+
import * as Zs from 'd3-array';
|
|
9
|
+
import * as Xs from 'd3-collection';
|
|
10
|
+
import * as ei from 'd3-format';
|
|
11
|
+
import * as ti from 'd3-time-format';
|
|
12
12
|
import { formatAbbreviate } from 'd3plus-format';
|
|
13
13
|
import { date } from 'd3plus-axis';
|
|
14
14
|
import { assign, closest, merge, isObject } from 'd3plus-common';
|
|
15
15
|
import { strip, titleCase } from 'd3plus-text';
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
16
|
+
import _r from 'axios';
|
|
17
|
+
import Mi from 'slugify';
|
|
18
|
+
import qi from 'flexsearch';
|
|
19
|
+
import fc from 'base58';
|
|
20
|
+
import yc from 'flickr-sdk';
|
|
21
|
+
import lc from 'sharp';
|
|
22
22
|
import { createApi } from 'unsplash-js';
|
|
23
|
-
import
|
|
23
|
+
import Ac from 'fs';
|
|
24
24
|
import { createContext, createElement } from 'react';
|
|
25
25
|
import { renderToString } from 'react-dom/server';
|
|
26
|
-
import * as
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
import
|
|
26
|
+
import * as ro from '@tabler/icons-react';
|
|
27
|
+
import Zc from 'nextjs-cors';
|
|
28
|
+
import Xc from 'image-type';
|
|
29
|
+
import Kc from 'formidable';
|
|
30
|
+
import Qc from 'dom-parser';
|
|
31
|
+
import Uu from 'path';
|
|
32
|
+
import Oa from 'axios-retry';
|
|
33
33
|
import { format } from 'pretty-format';
|
|
34
|
-
import
|
|
34
|
+
import Tl from 'toposort';
|
|
35
35
|
import { csvParse } from 'd3-dsv';
|
|
36
|
-
import
|
|
36
|
+
import Ol from 'next/config';
|
|
37
37
|
import { schema, normalize } from 'normalizr';
|
|
38
38
|
import { createSlice, configureStore } from '@reduxjs/toolkit';
|
|
39
39
|
import { HYDRATE, createWrapper } from 'next-redux-wrapper';
|
|
@@ -42,24 +42,28 @@ import 'react-redux';
|
|
|
42
42
|
import 'react/jsx-runtime';
|
|
43
43
|
import '@mantine/core';
|
|
44
44
|
|
|
45
|
-
var cs=Object.defineProperty;var ls=(e,t)=>{for(var r in t)cs(e,r,{get:t[r],enumerable:!0});};function ve(e){let t=e;if(t&&!t.source)if(!t.providers||t.providers.length===0){let r=us({clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET,issuer:process.env.AUTH0_ISSUER_BASE_URL});t.providers=[r],t.callbacks={async jwt({token:o,profile:n,trigger:a,session:s}){return n&&(o.bespoke_app_metadata=n.bespoke_app_metadata||{},o.bespoke_user_metadata=n.bespoke_user_metadata||{},o.bespoke_roles=n.bespoke_roles||[],o.name=n.name),a==="update"&&(s.user_metadata&&(o.bespoke_user_metadata={...o.bespoke_user_metadata,...s.user_metadata}),s.app_metadata&&(o.bespoke_app_metadata={...o.bespoke_app_metadata,...s.app_metadata}),s.roles&&s.roles.length>0&&(o.bespoke_roles=s.roles.map(i=>i.name))),o},async session({session:o,token:n}){return o&&n&&(o.user.id=n.sub,o.user.bespoke_app_metadata=n.bespoke_app_metadata,o.user.bespoke_user_metadata=n.bespoke_user_metadata,o.user.bespoke_roles=n.bespoke_roles),o}},t.source="auth0";}else t.source="custom";return t.secret||(t.secret=process.env.AUTH0_SECRET||process.env.NEXTAUTH_SECRET),t}async function de(e,t,r={providers:[]}){let o=ve(r),n=await getServerSession(e,t,o);return n&&(n.source=o.source||""),n}var ms=(e={providers:[]})=>{let t=ve(e);return ds(t)},fs=ms;var wo=initAuth0({secret:process.env.NEXTAUTH_SECRET,issuerBaseURL:process.env.AUTH0_ISSUER_BASE_URL,baseURL:process.env.REPORTS_BASE_URL||process.env.NEXTAUTH_URL,clientID:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET});var R=class extends Error{constructor(r,o){super(o);this.code=r;}toJSON(){return xo(this)}static is(r){return Object.prototype.hasOwnProperty.call(r,"code")&&typeof r.code=="number"}};function ys(e){return {ok:!0,status:200,data:e}}function xo(e){return {ok:!1,status:R.is(e)?e.code:500,error:e.message}}function T(e){return t=>e(t).then(ys,xo)}function re(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${me(r)}`;return e[n]}let o=`${t}${me(r)}`;return e[o]}function me(e){return e[0].toUpperCase()+e.slice(1)}var V={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"},Io={APP:"App",USER:"User"},Co=e=>{let t=Object.values(V);return e?e.map(r=>({...r,type:t.includes(r.name)?Io.APP:Io.USER})):[]};var ke={domain:new URL(process.env.AUTH0_ISSUER_BASE_URL||"https://localhost:3000").host,clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET};function Bo(){return async()=>{try{let t=await new _e.ManagementClient(ke).roles.getAll({include_totals:!0,per_page:100});return {roles:Co(t.roles)}}catch(e){throw console.error("AuthZeroError",e),new R(e.response?.status||500,e.message)}}}function Mo(){return async e=>{try{let t;if(e){let r={include_totals:!0,per_page:10,page:e.page||0},o=new _e.ManagementClient(ke);if(e.role_id&&e.role_id!==""){let n={...r,id:e.role_id};t=await o.roles.getUsers(n);}else {let n={...r,q:e.query};t=await o.users.getAll(n);}}return t}catch(t){throw console.error("AuthZeroError",t),new R(t.response?.status||500,t.message)}}}function Lo(){return async e=>{try{if(e){let t=new _e.ManagementClient(ke),r=await Promise.all([t.users.get({id:e}),t.users.getRoles({id:e})]);return {...r[0],roles:r[1]}}else throw new R(404,"User ID required")}catch(t){throw console.error("AuthZeroError",t),new R(t.response?.status||500,t.message)}}}function Oo(){return async e=>{try{if(e.user_id){if(e.app_metadata&&await wr(e.user_id,e.app_metadata),e.user_metadata&&await xr(e.user_id,e.user_metadata),e.roles){let t=new _e.ManagementClient(ke),o=(await t.users.getRoles({id:e.user_id})).map(i=>i.id),n=e.roles.map(i=>i.id),a=n.filter(i=>!o.includes(i)),s=o.filter(i=>!n.includes(i));a.length>0&&await t.users.assignRoles({id:e.user_id},{roles:a}),s.length>0&&await t.users.removeRoles({id:e.user_id},{roles:s});}return {status:"success",message:"User updated!"}}else throw new R(404,"user_id is required")}catch(t){throw console.error("AuthZeroError",t),new R(t.response?.status||500,t.message)}}}function No(){return async e=>{try{return "NOT USED SERVICE"}catch(t){throw console.error("AuthZeroError",t),new R(t.response?.status||500,t.message)}}}async function wr(e,t){return await new _e.ManagementClient(ke).users.updateAppMetadata({id:e},t)}async function xr(e,t){return await new _e.ManagementClient(ke).users.updateUserMetadata({id:e},t)}async function Do(e,t){try{let r=new _e.ManagementClient(ke),o=await r.getUsers({search_engine:"v3",q:`user_metadata.${e}:"${t}"`});for(let n=0;n<o.length;n++){let a=o[n];a.bespoke_user_metadata=a.user_metadata||{},delete a.user_metadata,a.bespoke_roles=(await r.users.getRoles({id:a.user_id})).map(s=>s.name);}return o}catch(r){console.error(r);}}var hs=(e,t,r)=>new Promise((o,n)=>{(async()=>{try{let s=await wo.getSession(e,t);if(!s||!s.user)throw new Error("not_authenticated");{let{user:i}=s,l={...s.user.bespoke_app_metadata||{},...r};await wr(s.user.sub,l),o({error:"",description:`App metadata updated for user ${s.user.email}`});}}catch(s){n({error:s.message,description:"The user does not have an active session or is not authenticated"});}})();}),bs=hs;var Ss=(e,t,r,o)=>new Promise((n,a)=>{(async()=>{try{let i=await de(e,t,r);if(!i||!i.user)throw new Error("not_authenticated");{let{user:c,source:l}=i,u={...c.bespoke_user_metadata||{},...o};l==="custom"&&r.actions?.updateUser?await r.actions.updateUser()({user_id:c.id,user_metadata:u}):await xr(c.id,u),n({error:"",description:`App metadata updated for user ${c.email}`});}}catch(i){a({error:i.message,description:"The user does not have an active session or is not authenticated"});}})();}),Es=Ss;var Et=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;function Yt(e,t){return e.some(r=>t.includes(r))}function Qt(e){return e.filter((t,r,o)=>o.indexOf(t)===r)}var As=(e,t,r)=>async function(o,n){let a=await de(o,n,r);if(!a||!a.user){n.status(401).json({error:"not_authenticated",description:"The user does not have an active session or is not authenticated"});return}let s=a.user.bespoke_roles||[];if(t.length>0&&!Yt(s,t)){n.status(402).json({error:"unauthorize",description:"The user requires some specific roles"});return}await e(o,n);},Ts=As;var vs=(e,t)=>new Promise((r,o)=>{(async()=>{try{if(e&&t&&e!==""&&t!==""){let a=await Do(e,t);r(a);}else o({error:"empty_params",description:"key or value params are empty"});}catch(a){o({error:a.message,description:"Error "});}})();}),_s=vs;var We=(e=process.env)=>cr(e.REPORTS_LOGGING);var we=class extends Model{getContent(t){let r=this.contentByLocale.find(o=>o.locale===t);if(!r)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return r}toJSON(){let t=this.get({plain:!0}),{inputs:r=[],consumers:o=[],contentByLocale:n=[]}=this;return {...t,inputs:r.map(a=>a.toJSON()),consumers:o.map(a=>a.toJSON()),contentByLocale:Object.fromEntries(n.map(a=>[a.locale,a.toJSON()]))}}};function ws(e){return we.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},type:{type:DataTypes.STRING,defaultValue:"paragraph"},shared:{type:DataTypes.BOOLEAN,defaultValue:!1},blockrow:DataTypes.STRING,blockcol:DataTypes.STRING,section_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_section",key:"id"}}},{sequelize:e,modelName:"block",tableName:"bespoke_reports_block",freezeTableName:!0,timestamps:!1}),t=>(we.hasMany(t.block_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),we.belongsToMany(t.block,{through:"block_input",foreignKey:"block_id",otherKey:"input_id",as:"inputs"}),we.belongsToMany(t.block,{through:"block_input",foreignKey:"input_id",otherKey:"block_id",as:"consumers"}),we)}var Uo=ws;var Zt=class extends Model{};function Is(e){return Zt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},content:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"block_content",tableName:"bespoke_reports_block_content",freezeTableName:!0,timestamps:!1}),()=>Zt}var Fo=Is;var Xt=class extends Model{};function Bs(e){return Xt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},block_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},input_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}}},{sequelize:e,modelName:"block_input",tableName:"bespoke_reports_block_input",freezeTableName:!0,timestamps:!1}),()=>Xt}var Vo=Bs;function Br(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function zo(e,t,r){let o=0,n=1,a=1,s=1,i=0,c=0,l;for(;Math.abs((a-c)/a)>1e-5;)c=a,l=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=a+l*o,n=s+l*n,i+=1,l=i*(r-i)*e/(t+2*i-1)/(t+2*i),a=o+l*a,s=n+l*s,o/=s,n/=s,a/=s,s=1;return a/t}function Ms(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let a=r,s=e+1,i=t-e,c=s+i,l=Math.exp(Br(c)-Br(i)-Br(s)+s*Math.log(a)+i*Math.log(1-a));a<(s+1)/(c+2)?o=l*zo(a,s,i):o=1-l*zo(1-a,i,s),n=1-o;}return Math.round(n*1e5)/1e5}function Ls(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function At(e,t,r,o){let n=t/(1-t),a=0,s=1,i=0,c=0;for(;a<=e;)c+=s,a>=r&a<=o&&(i+=s),c>1e30&&(i/=1e30,c/=1e30,s/=1e30),a+=1,s=s*n*(e+1-a)/a;return i/c}function Os(e,t,r){let o=e/t,a=(100-r*100)/2,s,i;if(e===0)s=0;else {let c=o/2,l=0,p=o,u=a/100;for(;p-l>1e-5;)At(t,c,e,e)*.5+At(t,c,e+1,t)>u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);s=c;}if(e===t)i=0;else {let c=(1+o)/2,l=o,p=1,u=a/100;for(;p-l>1e-5;)At(t,c,e,e)*.5+At(t,c,0,e-1)<u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);i=c;}return {lci:s,uci:i}}function Ns(e,t){let r=e,o=t,n=r,a=o,s=95,i=.5,c=.5,p=(100-s)/2/100,u=n;for(;c>1e-5;)c/=2,er((1+u)*i/(1-i),u+1,1e10)+.5*er((1+u)*i/(1-i),u,u)>p?i-=c:i+=c;let d=(1+u)*i/(1-i)/a;for(i=.5,c=.5,p=(100-s)/2/100;c>1e-5;)c/=2,er((1+u)*i/(1-i),0,u-1)+.5*er((1+u)*i/(1-i),u,u)<p?i-=c:i+=c;let y=(1+u)*i/(1-i)/a;return {lci:d,uci:y}}function er(e,t,r){let o=1,n=0,a=0,s=0;for(;s<e||o>n*1e-10;)n+=o,s>=t&s<=r&&(a+=o),n>1e30&&(a/=1e30,n/=1e30,o/=1e30),s+=1,o=o*e/s;return a/n}var qo={binomialCdf:Ms,binP:At,computeMidP:Os,criticalValue:Ls,smr:Ns};var xe={d3:{...Ds,...Us,...Fs,...Vs},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:qo},$o={};var Re={UNILATERAL:"uni",MULTILATERAL:"multi"},Ce={SINGLE:"single",MULTI:"multi"};var Mr={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},Ws={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},Js={FALLBACK:"fallback"};var Ys={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},Lr={GENERATOR:"generator",RELATED:"related",VIZ:"visualization"},Or="logic",z={...Ys,...Lr},jo={NAME:"name",DESCRIPTION:"description",...Mr,...Ws,...Js};var tr={FORMATTER:"formatter",FUNCTION:"function"},Je={STRING:"string",NUMBER:"number",OBJECT:"object",DATE:"date"};var Ye=class extends Model{};function Xs(e){return Ye.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,defaultValue:""},content:{type:DataTypes.JSONB,defaultValue:{description:"",testValue:"Foo",type:tr.FORMATTER,inputType:Je.STRING,logic:"return n;"}}},{sequelize:e,modelName:"formatter",tableName:"bespoke_reports_formatter",freezeTableName:!0,timestamps:!1,hooks:{async afterSync(t){let r=await Ye.findAll();if(t.force||r.length===0){let o=Object.entries($o).map(([n,a])=>({name:n,content:a}));await Ye.bulkCreate(o);}}}}),()=>Ye}var Ho=Xs;var Tt=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This ImageModel entity didn't include its ImageContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function ti(e){return Tt.init({id:{autoIncrement:!0,primaryKey:!0,type:DataTypes.INTEGER},url:{type:DataTypes.TEXT,unique:!0},author:DataTypes.TEXT,license:DataTypes.TEXT,splash:DataTypes.BLOB,thumb:DataTypes.BLOB},{sequelize:e,modelName:"image",tableName:"bespoke_reports_image",freezeTableName:!0}),t=>(Tt.hasMany(t.image_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),Tt)}var Wo=ti;var rr=class extends Model{};function oi(e){return rr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_image",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},meta:DataTypes.TEXT},{sequelize:e,modelName:"image_content",tableName:"bespoke_reports_image_content",freezeTableName:!0,timestamps:!1}),()=>rr}var Jo=oi;var Ze=class extends Model{toJSON(){let t=this.get({plain:!0}),{dimensions:r=[],sections:o=[]}=this;return {...t,settings:t.settings,date:new Date(this.date||Date.now()).toISOString(),dimensions:r.map(n=>n.toJSON()),sections:o.map(n=>n.toJSON())}}};function ai(e){return Ze.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,allowNull:!1,defaultValue:""},visible:{type:DataTypes.BOOLEAN,defaultValue:!0},date:{type:DataTypes.DATE,defaultValue:DataTypes.NOW},type:{type:DataTypes.STRING,defaultValue:"report",validate:{isIn:[["report","story"]]}},settings:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"report",tableName:"bespoke_reports_report",freezeTableName:!0,timestamps:!1}),t=>(Ze.hasMany(t.dimension,{foreignKey:"report_id",sourceKey:"id",as:"dimensions"}),Ze.hasMany(t.section,{foreignKey:"report_id",sourceKey:"id",as:"sections"}),Ze)}var Yo=ai;var et=class extends Model{toJSON(){let t=this.get({plain:!0}),{variants:r=[]}=this;return {...t,variants:r.map(o=>o.toJSON())}}};function ii(e){return et.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},ordering:{type:DataTypes.INTEGER,defaultValue:0},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"dimension",tableName:"bespoke_reports_report_dimension",freezeTableName:!0,timestamps:!1}),t=>(et.hasMany(t.variant,{foreignKey:"dimension_id",sourceKey:"id",as:"variants",constraints:!1}),et.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),et)}var Qo=ii;var tt=class extends Model{get report(){return this.dimension?.report}toJSON(){return this.get({plain:!0})}};function li(e){return tt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},dimension_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},slug:{type:DataTypes.STRING,defaultValue:""},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},config:{type:DataTypes.JSONB,defaultValue:{}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"variant",tableName:"bespoke_reports_report_dimension_variant",freezeTableName:!0,timestamps:!1}),t=>(tt.hasMany(t.search,{foreignKey:"variant_id",sourceKey:"id",as:"members",constraints:!1}),tt.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),tt)}var Zo=li;var he=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This SearchModel entity didn't include its SearchContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function pi(e){return he.init({id:{primaryKey:!0,type:DataTypes.TEXT},zvalue:DataTypes.DOUBLE,slug:DataTypes.TEXT,image_id:{type:DataTypes.INTEGER,references:{model:"bespoke_reports_image",key:"id"}},content_id:{autoIncrement:!0,type:DataTypes.INTEGER,unique:!0},variant_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension_variant",key:"id"}},dimension_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},report_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"search",tableName:"bespoke_reports_search",freezeTableName:!0,timestamps:!1}),t=>(he.belongsTo(t.variant,{foreignKey:"variant_id",targetKey:"id",as:"variant",constraints:!1}),he.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),he.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),he.belongsTo(t.image,{foreignKey:"image_id",targetKey:"id",as:"image",constraints:!1}),he.hasMany(t.search_content,{foreignKey:"id",sourceKey:"content_id",as:"contentByLocale"}),he)}var Xo=pi;var or=class extends Model{};function mi(e){return or.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_search",key:"content_id"}},locale:{type:DataTypes.STRING,primaryKey:!0},name:DataTypes.TEXT,annotations:{type:DataTypes.JSONB,defaultValue:{}},attributes:{type:DataTypes.JSONB,defaultValue:{}},keywords:DataTypes.ARRAY(DataTypes.TEXT)},{sequelize:e,modelName:"search_content",tableName:"bespoke_reports_search_content",freezeTableName:!0,timestamps:!1}),()=>or}var en=mi;var _t=class extends Model{toJSON(){let t=this.get({plain:!0}),{blocks:r=[]}=this;return {...t,blocks:r.map(o=>o.toJSON())}}};function gi(e){return _t.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},heading:{type:DataTypes.INTEGER,defaultValue:1},ordering:DataTypes.STRING,report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}}},{sequelize:e,modelName:"section",tableName:"bespoke_reports_section",freezeTableName:!0,timestamps:!1}),t=>(_t.hasMany(t.block,{foreignKey:"section_id",sourceKey:"id",as:"blocks"}),_t)}var tn=gi;var rn={block:Uo,block_content:Fo,block_input:Vo,formatter:Ho,image:Wo,image_content:Jo,report:Yo,dimension:Qo,variant:Zo,search:Xo,search_content:en,section:tn};var on=We(),nn=process.env.REPORTS_DB_CONNECTION||"";if(!nn)throw new Error(`
|
|
45
|
+
var Ts=Object.defineProperty;var vs=(e,t)=>{for(var r in t)Ts(e,r,{get:t[r],enumerable:!0});};function Ce(e){let t=e;if(t&&!t.source)if(!t.providers||t.providers.length===0){let r=_s({clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET,issuer:process.env.AUTH0_ISSUER_BASE_URL});t.providers=[r],t.callbacks={async jwt({token:o,profile:n,trigger:a,session:s}){return n&&(o.bespoke_app_metadata=n.bespoke_app_metadata||{},o.bespoke_user_metadata=n.bespoke_user_metadata||{},o.bespoke_roles=n.bespoke_roles||[],o.name=n.name),a==="update"&&(s.user_metadata&&(o.bespoke_user_metadata={...o.bespoke_user_metadata,...s.user_metadata}),s.app_metadata&&(o.bespoke_app_metadata={...o.bespoke_app_metadata,...s.app_metadata}),s.roles&&s.roles.length>0&&(o.bespoke_roles=s.roles.map(i=>i.name))),o},async session({session:o,token:n}){return o&&n&&(o.user.id=n.sub,o.user.bespoke_app_metadata=n.bespoke_app_metadata,o.user.bespoke_user_metadata=n.bespoke_user_metadata,o.user.bespoke_roles=n.bespoke_roles),o}},t.source="auth0";}else t.source="custom";return t.secret||(t.secret=process.env.AUTH0_SECRET||process.env.NEXTAUTH_SECRET),t}async function fe(e,t,r={providers:[]}){let o=Ce(r),n=await getServerSession(e,t,o);return n&&(n.source=o.source||""),n}var ws=(e={providers:[]})=>{let t=Ce(e);return Ps(t)},xs=ws;var qo=initAuth0({secret:process.env.NEXTAUTH_SECRET,issuerBaseURL:process.env.AUTH0_ISSUER_BASE_URL,baseURL:process.env.REPORTS_BASE_URL||process.env.NEXTAUTH_URL,clientID:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET});var E=class extends Error{constructor(r,o){super(o);this.code=r;}toJSON(){return $o(this)}static is(r){return Object.prototype.hasOwnProperty.call(r,"code")&&typeof r.code=="number"}};function Cs(e){return {ok:!0,status:200,data:e}}function $o(e){return {ok:!1,status:E.is(e)?e.code:500,error:e.message}}function P(e){return t=>e(t).then(Cs,$o)}function ne(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${ye(r)}`;return e[n]}let o=`${t}${ye(r)}`;return e[o]}function ye(e){return e[0].toUpperCase()+e.slice(1)}var $={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"},Go={APP:"App",USER:"User"},jo=e=>{let t=Object.values($);return e?e.map(r=>({...r,type:t.includes(r.name)?Go.APP:Go.USER})):[]};var Le={domain:new URL(process.env.AUTH0_ISSUER_BASE_URL||"https://localhost:3000").host,clientId:process.env.AUTH0_CLIENT_ID,clientSecret:process.env.AUTH0_CLIENT_SECRET};function Ko(){return async()=>{try{let t=await new Be.ManagementClient(Le).roles.getAll({include_totals:!0,per_page:100});return {roles:jo(t.roles)}}catch(e){throw console.error("AuthZeroError",e),new E(e.response?.status||500,e.message)}}}function Ho(){return async e=>{try{let t;if(e){let r={include_totals:!0,per_page:10,page:e.page||0},o=new Be.ManagementClient(Le);if(e.role_id&&e.role_id!==""){let n={...r,id:e.role_id};t=await o.roles.getUsers(n);}else {let n={...r,q:e.query};t=await o.users.getAll(n);}}return t}catch(t){throw console.error("AuthZeroError",t),new E(t.response?.status||500,t.message)}}}function Wo(){return async e=>{try{if(e){let t=new Be.ManagementClient(Le),r=await Promise.all([t.users.get({id:e}),t.users.getRoles({id:e})]);return {...r[0],roles:r[1]}}else throw new E(404,"User ID required")}catch(t){throw console.error("AuthZeroError",t),new E(t.response?.status||500,t.message)}}}function Jo(){return async e=>{try{if(e.user_id){if(e.app_metadata&&await Vr(e.user_id,e.app_metadata),e.user_metadata&&await zr(e.user_id,e.user_metadata),e.roles){let t=new Be.ManagementClient(Le),o=(await t.users.getRoles({id:e.user_id})).map(i=>i.id),n=e.roles.map(i=>i.id),a=n.filter(i=>!o.includes(i)),s=o.filter(i=>!n.includes(i));a.length>0&&await t.users.assignRoles({id:e.user_id},{roles:a}),s.length>0&&await t.users.removeRoles({id:e.user_id},{roles:s});}return {status:"success",message:"User updated!"}}else throw new E(404,"user_id is required")}catch(t){throw console.error("AuthZeroError",t),new E(t.response?.status||500,t.message)}}}function Yo(){return async e=>{try{return "NOT USED SERVICE"}catch(t){throw console.error("AuthZeroError",t),new E(t.response?.status||500,t.message)}}}async function Vr(e,t){return await new Be.ManagementClient(Le).users.updateAppMetadata({id:e},t)}async function zr(e,t){return await new Be.ManagementClient(Le).users.updateUserMetadata({id:e},t)}async function Qo(e,t){try{let r=new Be.ManagementClient(Le),o=await r.getUsers({search_engine:"v3",q:`user_metadata.${e}:"${t}"`});for(let n=0;n<o.length;n++){let a=o[n];a.bespoke_user_metadata=a.user_metadata||{},delete a.user_metadata,a.bespoke_roles=(await r.users.getRoles({id:a.user_id})).map(s=>s.name);}return o}catch(r){console.error(r);}}var Bs=(e,t,r)=>new Promise((o,n)=>{(async()=>{try{let s=await qo.getSession(e,t);if(!s||!s.user)throw new Error("not_authenticated");{let{user:i}=s,l={...s.user.bespoke_app_metadata||{},...r};await Vr(s.user.sub,l),o({error:"",description:`App metadata updated for user ${s.user.email}`});}}catch(s){n({error:s.message,description:"The user does not have an active session or is not authenticated"});}})();}),Ls=Bs;var Ms=(e,t,r,o)=>new Promise((n,a)=>{(async()=>{try{let i=await fe(e,t,r);if(!i||!i.user)throw new Error("not_authenticated");{let{user:c,source:l}=i,u={...c.bespoke_user_metadata||{},...o};l==="custom"&&r.actions?.updateUser?await r.actions.updateUser()({user_id:c.id,user_metadata:u}):await zr(c.id,u),n({error:"",description:`App metadata updated for user ${c.email}`});}}catch(i){a({error:i.message,description:"The user does not have an active session or is not authenticated"});}})();}),Ns=Ms;var Ft=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;function cr(e,t){return e.some(r=>t.includes(r))}function lr(e){return e.filter((t,r,o)=>o.indexOf(t)===r)}var Ds=(e,t,r)=>async function(o,n){let a=await fe(o,n,r);if(!a||!a.user){n.status(401).json({error:"not_authenticated",description:"The user does not have an active session or is not authenticated"});return}let s=a.user.bespoke_roles||[];if(t.length>0&&!cr(s,t)){n.status(402).json({error:"unauthorize",description:"The user requires some specific roles"});return}await e(o,n);},Us=Ds;var Fs=(e,t)=>new Promise((r,o)=>{(async()=>{try{if(e&&t&&e!==""&&t!==""){let a=await Qo(e,t);r(a);}else o({error:"empty_params",description:"key or value params are empty"});}catch(a){o({error:a.message,description:"Error "});}})();}),Vs=Fs;var Te=(e=process.env)=>Sr(e.REPORTS_LOGGING);var Me=class extends Model{getContent(t){let r=this.contentByLocale.find(o=>o.locale===t);if(!r)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return r}toJSON(){let t=this.get({plain:!0}),{inputs:r=[],consumers:o=[],contentByLocale:n=[]}=this;return {...t,inputs:r.map(a=>a.toJSON()),consumers:o.map(a=>a.toJSON()),contentByLocale:Object.fromEntries(n.map(a=>[a.locale,a.toJSON()]))}}};function $s(e){return Me.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},type:{type:DataTypes.STRING,defaultValue:"paragraph"},shared:{type:DataTypes.BOOLEAN,defaultValue:!1},blockrow:DataTypes.STRING,blockcol:DataTypes.STRING,section_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_section",key:"id"}}},{sequelize:e,modelName:"block",tableName:"bespoke_reports_block",freezeTableName:!0,timestamps:!1}),t=>(Me.hasMany(t.block_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),Me.belongsToMany(t.block,{through:"block_input",foreignKey:"block_id",otherKey:"input_id",as:"inputs"}),Me.belongsToMany(t.block,{through:"block_input",foreignKey:"input_id",otherKey:"block_id",as:"consumers"}),Me)}var Zo=$s;var ur=class extends Model{};function js(e){return ur.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},content:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"block_content",tableName:"bespoke_reports_block_content",freezeTableName:!0,timestamps:!1}),()=>ur}var Xo=js;var pr=class extends Model{};function Hs(e){return pr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},block_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}},input_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_block",key:"id"}}},{sequelize:e,modelName:"block_input",tableName:"bespoke_reports_block_input",freezeTableName:!0,timestamps:!1}),()=>pr}var en=Hs;function Gr(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function tn(e,t,r){let o=0,n=1,a=1,s=1,i=0,c=0,l;for(;Math.abs((a-c)/a)>1e-5;)c=a,l=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=a+l*o,n=s+l*n,i+=1,l=i*(r-i)*e/(t+2*i-1)/(t+2*i),a=o+l*a,s=n+l*s,o/=s,n/=s,a/=s,s=1;return a/t}function Ws(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let a=r,s=e+1,i=t-e,c=s+i,l=Math.exp(Gr(c)-Gr(i)-Gr(s)+s*Math.log(a)+i*Math.log(1-a));a<(s+1)/(c+2)?o=l*tn(a,s,i):o=1-l*tn(1-a,i,s),n=1-o;}return Math.round(n*1e5)/1e5}function Js(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function Vt(e,t,r,o){let n=t/(1-t),a=0,s=1,i=0,c=0;for(;a<=e;)c+=s,a>=r&a<=o&&(i+=s),c>1e30&&(i/=1e30,c/=1e30,s/=1e30),a+=1,s=s*n*(e+1-a)/a;return i/c}function Ys(e,t,r){let o=e/t,a=(100-r*100)/2,s,i;if(e===0)s=0;else {let c=o/2,l=0,p=o,u=a/100;for(;p-l>1e-5;)Vt(t,c,e,e)*.5+Vt(t,c,e+1,t)>u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);s=c;}if(e===t)i=0;else {let c=(1+o)/2,l=o,p=1,u=a/100;for(;p-l>1e-5;)Vt(t,c,e,e)*.5+Vt(t,c,0,e-1)<u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);i=c;}return {lci:s,uci:i}}function Qs(e,t){let r=e,o=t,n=r,a=o,s=95,i=.5,c=.5,p=(100-s)/2/100,u=n;for(;c>1e-5;)c/=2,dr((1+u)*i/(1-i),u+1,1e10)+.5*dr((1+u)*i/(1-i),u,u)>p?i-=c:i+=c;let d=(1+u)*i/(1-i)/a;for(i=.5,c=.5,p=(100-s)/2/100;c>1e-5;)c/=2,dr((1+u)*i/(1-i),0,u-1)+.5*dr((1+u)*i/(1-i),u,u)<p?i-=c:i+=c;let f=(1+u)*i/(1-i)/a;return {lci:d,uci:f}}function dr(e,t,r){let o=1,n=0,a=0,s=0;for(;s<e||o>n*1e-10;)n+=o,s>=t&s<=r&&(a+=o),n>1e30&&(a/=1e30,n/=1e30,o/=1e30),s+=1,o=o*e/s;return a/n}var rn={binomialCdf:Ws,binP:Vt,computeMidP:Ys,criticalValue:Js,smr:Qs};var Ne={d3:{...Zs,...Xs,...ei,...ti},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:rn},on={};var ve={UNILATERAL:"uni",MULTILATERAL:"multi"},Ue={SINGLE:"single",MULTI:"multi"};var jr={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},li={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},ui={FALLBACK:"fallback"};var pi={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},Kr={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},Hr="logic",D={...pi,...Kr},sn={NAME:"name",DESCRIPTION:"description",...jr,...li,...ui};var mr={FORMATTER:"formatter",FUNCTION:"function"},ct={STRING:"string",NUMBER:"number",OBJECT:"object",DATE:"date"};var lt=class extends Model{};function fi(e){return lt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,defaultValue:""},content:{type:DataTypes.JSONB,defaultValue:{description:"",testValue:"Foo",type:mr.FORMATTER,inputType:ct.STRING,logic:"return n;"}}},{sequelize:e,modelName:"formatter",tableName:"bespoke_reports_formatter",freezeTableName:!0,timestamps:!1,hooks:{async afterSync(t){let r=await lt.findAll();if(t.force||r.length===0){let o=Object.entries(on).map(([n,a])=>({name:n,content:a}));await lt.bulkCreate(o);}}}}),()=>lt}var cn=fi;var zt=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This ImageModel entity didn't include its ImageContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function gi(e){return zt.init({id:{autoIncrement:!0,primaryKey:!0,type:DataTypes.INTEGER},url:{type:DataTypes.TEXT,unique:!0},author:DataTypes.TEXT,license:DataTypes.TEXT,splash:DataTypes.BLOB,thumb:DataTypes.BLOB},{sequelize:e,modelName:"image",tableName:"bespoke_reports_image",freezeTableName:!0}),t=>(zt.hasMany(t.image_content,{foreignKey:"id",sourceKey:"id",as:"contentByLocale"}),zt)}var ln=gi;var fr=class extends Model{};function Ri(e){return fr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_image",key:"id"}},locale:{type:DataTypes.STRING,primaryKey:!0},meta:DataTypes.TEXT},{sequelize:e,modelName:"image_content",tableName:"bespoke_reports_image_content",freezeTableName:!0,timestamps:!1}),()=>fr}var un=Ri;var pt=class extends Model{toJSON(){let t=this.get({plain:!0}),{dimensions:r=[],sections:o=[]}=this;return {...t,settings:t.settings,date:new Date(this.date||Date.now()).toISOString(),dimensions:r.map(n=>n.toJSON()),sections:o.map(n=>n.toJSON())}}};function Si(e){return pt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},name:{type:DataTypes.STRING,allowNull:!1,defaultValue:""},visible:{type:DataTypes.BOOLEAN,defaultValue:!0},date:{type:DataTypes.DATE,defaultValue:DataTypes.NOW},type:{type:DataTypes.STRING,defaultValue:"report",validate:{isIn:[["report","story"]]}},settings:{type:DataTypes.JSON,defaultValue:{}}},{sequelize:e,modelName:"report",tableName:"bespoke_reports_report",freezeTableName:!0,timestamps:!1}),t=>(pt.hasMany(t.dimension,{foreignKey:"report_id",sourceKey:"id",as:"dimensions"}),pt.hasMany(t.section,{foreignKey:"report_id",sourceKey:"id",as:"sections"}),pt)}var pn=Si;var mt=class extends Model{toJSON(){let t=this.get({plain:!0}),{variants:r=[]}=this;return {...t,variants:r.map(o=>o.toJSON())}}};function Ai(e){return mt.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},ordering:{type:DataTypes.INTEGER,defaultValue:0},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"dimension",tableName:"bespoke_reports_report_dimension",freezeTableName:!0,timestamps:!1}),t=>(mt.hasMany(t.variant,{foreignKey:"dimension_id",sourceKey:"id",as:"variants",constraints:!1}),mt.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),mt)}var dn=Ai;var ft=class extends Model{get report(){return this.dimension?.report}toJSON(){return this.get({plain:!0})}};function vi(e){return ft.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},dimension_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},slug:{type:DataTypes.STRING,defaultValue:""},name:{type:DataTypes.STRING,defaultValue:""},settings:{type:DataTypes.JSONB,defaultValue:{}},config:{type:DataTypes.JSONB,defaultValue:{}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"variant",tableName:"bespoke_reports_report_dimension_variant",freezeTableName:!0,timestamps:!1}),t=>(ft.hasMany(t.search,{foreignKey:"variant_id",sourceKey:"id",as:"members",constraints:!1}),ft.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),ft)}var mn=vi;var Se=class extends Model{getContent(t){let{contentByLocale:r}=this;if(!r)throw new Error("This SearchModel entity didn't include its SearchContentModel association.");let o=r.find(n=>n.locale===t);if(!o)throw new Error(`Missing SearchContent for locale '${t}' on Search ID '${this.id}'`);return o}};function ki(e){return Se.init({id:{primaryKey:!0,type:DataTypes.TEXT},zvalue:DataTypes.DOUBLE,slug:DataTypes.TEXT,image_id:{type:DataTypes.INTEGER,references:{model:"bespoke_reports_image",key:"id"}},content_id:{autoIncrement:!0,type:DataTypes.INTEGER,unique:!0},variant_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension_variant",key:"id"}},dimension_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report_dimension",key:"id"}},report_id:{primaryKey:!0,type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}},visible:{type:DataTypes.BOOLEAN,defaultValue:!0}},{sequelize:e,modelName:"search",tableName:"bespoke_reports_search",freezeTableName:!0,timestamps:!1}),t=>(Se.belongsTo(t.variant,{foreignKey:"variant_id",targetKey:"id",as:"variant",constraints:!1}),Se.belongsTo(t.dimension,{foreignKey:"dimension_id",targetKey:"id",as:"dimension",constraints:!1}),Se.belongsTo(t.report,{foreignKey:"report_id",targetKey:"id",as:"report",constraints:!1}),Se.belongsTo(t.image,{foreignKey:"image_id",targetKey:"id",as:"image",constraints:!1}),Se.hasMany(t.search_content,{foreignKey:"id",sourceKey:"content_id",as:"contentByLocale"}),Se)}var fn=ki;var yr=class extends Model{};function wi(e){return yr.init({id:{type:DataTypes.INTEGER,primaryKey:!0,onDelete:"cascade",references:{model:"bespoke_reports_search",key:"content_id"}},locale:{type:DataTypes.STRING,primaryKey:!0},name:DataTypes.TEXT,annotations:{type:DataTypes.JSONB,defaultValue:{}},attributes:{type:DataTypes.JSONB,defaultValue:{}},keywords:DataTypes.ARRAY(DataTypes.TEXT)},{sequelize:e,modelName:"search_content",tableName:"bespoke_reports_search_content",freezeTableName:!0,timestamps:!1}),()=>yr}var yn=wi;var $t=class extends Model{toJSON(){let t=this.get({plain:!0}),{blocks:r=[]}=this;return {...t,blocks:r.map(o=>o.toJSON())}}};function Ii(e){return $t.init({id:{type:DataTypes.INTEGER,primaryKey:!0,autoIncrement:!0},settings:{type:DataTypes.JSON,defaultValue:{}},heading:{type:DataTypes.INTEGER,defaultValue:1},ordering:DataTypes.STRING,report_id:{type:DataTypes.INTEGER,onDelete:"cascade",references:{model:"bespoke_reports_report",key:"id"}}},{sequelize:e,modelName:"section",tableName:"bespoke_reports_section",freezeTableName:!0,timestamps:!1}),t=>($t.hasMany(t.block,{foreignKey:"section_id",sourceKey:"id",as:"blocks"}),$t)}var gn=Ii;var hn={block:Zo,block_content:Xo,block_input:en,formatter:cn,image:ln,image_content:un,report:pn,dimension:dn,variant:mn,search:fn,search_content:yn,section:gn};var Rn=Te(),bn=process.env.REPORTS_DB_CONNECTION||"";if(!bn)throw new Error(`
|
|
46
46
|
Env var 'REPORTS_DB_CONNECTION' is not present.
|
|
47
47
|
This is required to connect to a database to save the Reports CMS changes.
|
|
48
|
-
`);var
|
|
48
|
+
`);var qe=()=>{if(global.sequelize)Rn&&console.info("\u267B\uFE0F RE-UTILIZING DB CONNECTION");else {Rn&&console.info("\u{1F511} INITIALIZING DB CONNECTION");let e;try{e=new Sequelize(bn,{logging:!1,dialectModule:Ci,pool:{max:10,min:1,acquire:5*1e3,idle:10*1e3,evict:1*1e3}});}catch(t){throw new Error(`
|
|
49
49
|
Could not connect to the database using the given connection string.
|
|
50
50
|
Please check that the connection string 'REPORTS_DB_CONNECTION' is correct.
|
|
51
51
|
Details:
|
|
52
52
|
${t.message}
|
|
53
|
-
`)}Object.values(
|
|
53
|
+
`)}Object.values(hn).map(t=>t(e)).map(t=>t({...e.models,sequelize:e})),global.sequelize=e.sync().catch(t=>{t instanceof Error$1&&console.error("=".repeat(40),`
|
|
54
54
|
Error initializing sequelize connection:
|
|
55
|
-
`,t.stack||t.message),global.sequelize=void 0;}).then(()=>({...e.models,sequelize:e}));}return global.sequelize};var
|
|
55
|
+
`,t.stack||t.message),global.sequelize=void 0;}).then(()=>({...e.models,sequelize:e}));}return global.sequelize};var Oi=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}},G=Oi;function j(e){let t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"," ":""},r=`(?:${Object.keys(t).join("|")})`,o=RegExp(r),n=RegExp(r,"g"),a=String(e).replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return o.test(a)?a.replace(n,s=>t[s]):a}function Gt(e){return typeof e=="string"?String(e).replace(/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});/ig," "):e}function Ni(e){return e?Mi(Gt(j(e)),{replacement:"-",remove:/[*+~.()'"!:@]/g,lower:!0,strict:!0,trim:!0}):""}var gr=Ni;var jt=e=>({overrideNames:e&&typeof e.overrideNames<"u"?e.overrideNames:!1,overrideRelevance:e&&typeof e.overrideRelevance<"u"?e.overrideRelevance:!1,regenerateSlugs:e&&typeof e.regenerateSlugs<"u"?e.regenerateSlugs:!1,keepOldMembers:e&&typeof e.keepOldMembers<"u"?e.keepOldMembers:!0,doIngest:e&&typeof e.doIngest<"u"?e.doIngest:!1,overrideAttributes:e&&typeof e.overrideAttributes<"u"?e.overrideAttributes:!1,order:e&&typeof e.order<"u"?e.order:0});var{localeDefault:Yr}=G();function An(e){let{search:t,search_content:r}=e;return o;async function o(a){let{id:s,config:i={},settings:c={}}=a,l=i[Yr]?Yr:Object.keys(i)[0],{overrideNames:p,overrideAttributes:u}=jt(c),{accessor:d,path:m,idKey:f,labelKey:h}=i[Yr];if(!m||!f||!h)return;let R=await _r.get(m).catch(b=>({data:[],error:b})),T=Ft(R.data,d),k=[];try{console.info(`Ingesting default items for variant ${a.name} for ${l}`),k=await n(a,l,T);}catch(b){let O=`[ERROR] Ingesting default member items for ${l}`;throw console.error(O,b),new E(500,O)}let x=await t.findAll({where:{variant_id:s}}).then(b=>Object.fromEntries(b.map(O=>[O.id,{content_id:O.content_id,needsUpdate:k.includes(O.content_id)}]))),S=Object.entries(i).map(async([b,O])=>{let{path:F,accessor:B,idKey:W,labelKey:H,attributes:M=[]}=O;if(!F||!W||!H)return;let I=await _r.get(F).catch(N=>({data:[],error:N})),z=Ft(I.data,B),v=await r.findAll({where:{id:k,locale:b}}).then(N=>Object.fromEntries(N.map(A=>[A.id,A.toJSON()]))),_=z.filter(N=>N[W]&&N[W]!==""&&N[H]&&N[H]!=="").map(N=>{let A=x[N[W]],w,V=Object.fromEntries(M.map(Q=>[Q.name,Q.type==="constant"?Q.value:N[Q.value]||""]));return A.needsUpdate&&v[A.content_id]?(w={...v[A.content_id]},p&&(w.name=N[H]),u&&(w.attributes=V)):w={id:A.content_id,locale:b,name:N[H],attributes:V},w});try{return r.bulkCreate(_,{updateOnDuplicate:["name","attributes"]})}catch(N){let A=`[ERROR] Ingesting search content items for ${b}`;throw console.error(A,N),new E(500,A)}});await Promise.all(S);}async function n(a,s,i){let{id:c,dimension_id:l,slug:p}=a,{report_id:u}=a.dimension,{idKey:d,labelKey:m,zValueKey:f}=a.config[s],{overrideNames:h,regenerateSlugs:R,keepOldMembers:T,overrideRelevance:k,overrideAttributes:x}=jt(a.settings),S=t.findAll({attributes:["slug",[fn$1("COUNT",col("variant.id")),"slugCount"]],include:{association:"variant",attributes:[],required:!1,right:!0,where:{dimension_id:l,slug:p,id:{[Op.not]:c}}},group:"search.slug"}).then(A=>Object.fromEntries(A.map(w=>{let V=w.getDataValue("slugCount");return [w.slug,Number.parseInt(`${V}`,10)]}))),b=t.findAll({where:{variant_id:c}}).then(A=>Object.fromEntries(A.map(w=>[w.id,w.toJSON()]))),[O,F]=await Promise.all([S,b]),B=Object.values(F).map(A=>A.slug),W=[],H=null,M=null;if(f&&f!==""){for(let A of i)if(typeof A[f]=="number"&&!isNaN(A[f])){let w=A[f];(H===null||w<H)&&(H=w),(M===null||w>M)&&(M=w);}}let I=[],z=[],v=[],_=!1;i.filter(A=>A[d]&&A[d]!==""&&A[m]&&A[m]!=="").forEach(A=>{let w=A[d],V=gr(A[m]);_=!1;let Q=parseFloat(Math.random().toPrecision(5));if(f&&f!==""&&H&&M&&A[f]){let Y;try{Y=parseInt(A[f],10);}catch{Y=0;}let Re=M!==null&&H!==null&&M!==H?(Y-H)/(M-H):0;Q=M===H?1:parseFloat(Re.toPrecision(5));}if(F[w]){if(h||R||k||x){let Y=F[w];if((h||x)&&v.push(Y.content_id),h&&R){let Re=Object.values(F).filter(C=>C.id!==w).map(C=>C.slug),K=O[V]||Re.includes[V]||W.includes(V);K&&console.warn("Duplicate slug!",V,"replaced by",`${V}-${w}`);let L=K?`${V}-${w}`:V;Y.slug!==L&&(Y.slug=L,W.push(V),_=!0,console.info("UPDATE SLUG",w,V));}f&&f!==""&&k&&Y.zvalue!==Q&&(Y.zvalue=Q,_=!0,console.warn("UPDATE ZVALUE",w,Q)),_&&z.push(Y);}}else {console.info("INSERT ID",w);let Y=O[V]||B.includes[V]||W.includes(V);Y&&console.warn("Duplicate slug!",V,"replaced by",`${V}-${w}`);let Re=Y?`${V}-${w}`:V;W.push(V),I.push({id:w,slug:Re,variant_id:c,dimension_id:l,report_id:u,zvalue:Q});}});let N=[];if(!T){let A=i.map(w=>w[d]);N=Object.keys(F).filter(w=>!A.includes(w));}try{return (I.length>0||z.length>0)&&(await t.bulkCreate([...I,...z],{updateOnDuplicate:["slug","zvalue"]}),console.info("New members ingested:",I.length),console.info("New members updated:",z.length)),N.length>0&&(await t.destroy({where:{id:{[Op.in]:N},variant_id:c}}),console.warn("Old members deleted:",N.length)),v}catch(A){throw console.error(`[ERROR] Ingesting search members for ${s}`,A),new Error(A)}}}function Tn(e){let{search:t}=e;return r;async function r(o){let{all:n,locale:a,mode:s,variant:i,output:c}=o,l={content_id:[],...i&&i.length?{variant_id:i}:{}};if(s==="content_ids")l.content_id=o.content_ids;else if(s==="ids"){if(n)throw new E(400,"Search by ids doesn't support locale all. Pick one locale.");let m={id:o.ids,...i&&i.length?{variant_id:i}:{}},f=await t.findAll({attributes:["content_id"],where:m,include:[{association:"contentByLocale",where:{locale:a}}]});l.content_id=f.map(h=>h.content_id);}else if(s==="slugs"){let m=o.slugs.map(h=>t.findAll({attributes:["content_id"],where:{slug:h.memberSlug},include:{association:"variant",attributes:["id","name","slug"],required:!0,where:{slug:h.variantSlug}}})),f=await Promise.all(m).then(h=>h.reduce((R,T)=>R.concat(T),[]));l.content_id=f.map(h=>h.content_id);}else if(s==="related"){let m=()=>{if(o.variant_ids?.length)return {variant_id:o.variant_ids.map(R=>R)};if(o.dimension_ids?.length)return {dimension_id:o.dimension_ids.map(R=>R)};if(o.report_ids?.length)return {report_id:o.report_ids.map(R=>R)}},f=()=>o.include_ids?.length?{[Op.in]:o.include_ids.map(R=>R)}:!1,h=await t.findAll({attributes:["content_id"],where:{...m(),content_id:f()||{[Op.notIn]:o.current_ids},visible:!0},order:[Sequelize.fn("RANDOM")],limit:o.related||4});l.content_id=h.map(R=>R.content_id);}else if(s==="whole"){let m={...i&&i.length?{variant_id:i}:{}},f=await t.findAll({attributes:["content_id"],where:m});l.content_id=f.map(h=>h.content_id);}let p={locale:n?{[Op.ne]:null}:a},u=await t.findAll({where:l,include:[{association:"report",attributes:["id","name"]},{association:"dimension",attributes:["id","name","ordering"]},{association:"variant",attributes:["id","name","slug"]},{association:"image",attributes:["id","author","url","license"],include:[{association:"contentByLocale",where:p}]},{association:"contentByLocale",where:p}]});if(!["related","whole"].includes(s)&&o[s]&&u.length!==o[s].length)throw new E(404,"One or more members were not found.");u.sort((m,f)=>l.content_id.indexOf(m.content_id)-l.content_id.indexOf(f.content_id));let d=u.map(m=>{let f,h={id:m.id,slug:m.slug,visible:m.visible,zvalue:m.zvalue,content_id:m.content_id,report_id:m.report_id,report_name:m.report.name,dimension_id:m.dimension_id,dimension_name:m.dimension.name,variant_id:m.variant_id,variant_name:m.variant.name,variant_slug:m.variant.slug};if(n){let R=m.contentByLocale;h.contentByLocale=R,h.image=m.image,h.image_id=m.image_id,f=h;}else {let R=m.getContent(a),T=m.image?.getContent(a),k=T&&{id:m.image.id,author:m.image.author,url:m.image.url,license:m.image.license,meta:T.meta};f={...h,locale:R.locale,name:R.name,attributes:R.attributes,keywords:R.keywords,image:k||null,image_id:m.image_id};}return c==="lite"&&(delete f.image,delete f.image_id),f});return {meta:o,results:d}}}function vn(e){let{search:t}=e;return r;async function r(o){let n=await t.findOne({where:{content_id:o.member},include:[{association:"image",attributes:[o.size],include:[{association:"contentByLocale"}]}]});return n&&n.image&&n.image[o.size]?n.image[o.size]:Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkkAQAAB8AG7jymN8AAAAASUVORK5CYII=","base64")}}function zi(e,t=!0){if(!e)return "";let r=Gt(j(e.toLowerCase()));return (t?Mi(r,{replacement:" ",remove:/[*+~.()'"!:@-]/g,lower:!0,strict:!1,trim:!0}):r).replace(/\s\s+/g," ")}var $e=zi;var Kt=[{charset:"latin",locales:["en","es","fr","de","it","pt","ro","nl","sv","da","fi","no","pl","cs","hu","sk","sl"]},{charset:"cjk",locales:["zh","ja","ko"]},{charset:"arabic",locales:["ar","fa","ur","he"]},{charset:"cyrilic",locales:["bg","ru","uk","sr","mk"]}],hr=Kt.reduce((e,t)=>e.concat(t.locales),[]);var yt=Te(),{locales:$i}=G(),Gi=$i.filter(e=>hr.includes(e)),Zr=!1,ji=async(e,t=!1)=>{if(t&&(yt&&console.info("0\uFE0F\u20E3 CLEARING SEARCH INDEX"),global.flexsearch=void 0,Zr=!1),global.flexsearch)return yt&&console.info("\u{1F501} RE-UTILIZING SEARCH INDEX"),global.flexsearch;try{Zr||(yt&&console.info("1\uFE0F\u20E3 INITIALIZING SEARCH INDEX"),Zr=!0,global.flexsearch=await Ki(e));}catch(r){throw new Error(`
|
|
56
56
|
Could not initialize FlexSearch engine.
|
|
57
57
|
Details:
|
|
58
58
|
${r.message}
|
|
59
|
-
`)}return global.flexsearch};async function Ci(e){let t=await e.search.findAll({include:[{association:"contentByLocale"}]}),r=xi.map(async o=>{wt&&console.log(`\u{1F3F3}\uFE0F INITIALIZING SEARCH ${o} LOCALE`);let n=ar.find(p=>p.locales.includes(o)),a=n?.charset||"latin",s=a==="latin"?"advanced":"default";n?console.log(` Charset for ${o}: ${a}`):wt&&console.error(` Missing charset for ${o}, adding latin as default.`);let i=(await import(`flexsearch/dist/module/lang/${a}/${s}`)).default,c=new ki.Document({language:o,encode:i.encode,tokenize:"reverse",stemmer:{},matcher:{},filter:[],preset:"default",cache:100,resolution:9,context:!1,optimize:!0,worker:!1,document:{id:"content_id",store:!1,index:["id","name","clean","keywords","attributes"]}}),l=0;return t.forEach(p=>{let u=p.contentByLocale.find(d=>d.locale===o);if(u){let d=rt(u.name,a!=="arabic"),m=Array.isArray(u.keywords)?u.keywords.map(h=>rt(h,a!=="arabic")):null,y={id:p.id,content_id:p.content_id,name:u.name,keywords:m,attributes:u.attributes,clean:d};c.add(y),l++;}}),console.log(`\u{1F3F3}\uFE0F Indexed for ${o}: ${l} elements`),[o,c]});return Object.fromEntries(await Promise.all(r))}var Ne=Ii;var{localeDefault:dn}=U();function ot(e){let{search:t,report:r}=e;return o;async function o(n){let a=await Ne(e),s=[],{query:i,locale:c,preferredLocale:l,limit:p,format:u,visible:d,variant:m,dimension:y,report:h,all:b,noImage:A,includes:v,sort:x,direction:S="ASC",offset:E=0}=n,w=ar.find(_=>_.locales.includes(c))?.charset||"latin";if(i&&i!==""&&a[c]){let _=rt(i,w!=="arabic");if(s=a[c].search({query:_,limit:9999999999}).reduce((oe,ne)=>oe.concat(ne.result),[]),s=Qt(s),l&&a[l]){let ne=a[l].search(_).reduce((pe,He)=>pe.concat(He.result),[]);ne=Qt(ne),s=Qt([...s,...ne]);}}let B={...d?{visible:d}:{},...A?{image_id:{[Op.eq]:null}}:{},...m.length?{variant_id:m}:{},...y.length?{dimension_id:y}:{},...h.length?{report_id:h}:{}},q={locale:b?{[Op.ne]:null}:c},O=p&&!isNaN(p)?p:20,F=[["zvalue","DESC NULLS LAST"]];x&&x!=="name"&&F.unshift([x,S.toUpperCase()]),i&&i!==""&&(B.content_id=s);let Z=[{association:"contentByLocale",where:q}];v&&Z.push({association:"report",attributes:["id","name"]},{association:"dimension",attributes:["id","name"]},{association:"variant",attributes:["id","slug","name"]});let W={...B.visible?{visible:B.visible}:{},...B.noImage?{image_id:B.noImage}:{},...B.content_id?{content_id:B.content_id}:{}};if(!B.report_id&&!B.dimension_id&&!B.variant_id&&d){let J=(await r.findAll({attributes:["id"],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!0)]}})).map(oe=>oe.id);J.length>0&&(B.report_id={[Op.notIn]:J},W.report_id=B.report_id);}let P=[],[$,j]=await Promise.all([t.findAll({limit:O,offset:E,where:B,include:Z,order:F}),t.findAll({attributes:["variant_id",[fn$1("COUNT",col("variant_id")),"members_count"]],where:W,group:["variant_id"]})]),k=j.map(_=>_.toJSON());if(x==="name"){let _=S.toUpperCase()==="ASC"?1:-1;$.sort((J,oe)=>{let ne=J.getContent(dn),pe=oe.getContent(dn);return ne&&pe?ne.name>pe.name?1*_:-1*_:0});}let I=u==="nested"?N:G;return P=$.map(I),u!=="nested"&&P.forEach(_=>{let{name:J,keywords:oe,score:ne=.1,zvalue:pe}=_;if(J){let He=rt(J),Jt=ne,vo=i.length/He.length,_o=He.split("").reduce((Pr,ko,Po)=>(i.slice(0,Po),i.charAt(Po)===ko&&(Pr+=ko),Pr),"").length;He===i||oe&&oe.includes(i)?Jt=1e6:He.startsWith(i)?Jt*=20*vo:_o&&(Jt*=_o*vo),_.zvalue=Jt*2+pe;}}),{meta:{origin:"flexsearch",...Object.fromEntries(Object.entries(n).map(_=>[_[0],D(_[1])])),variantCount:k.reduce((_,J)=>(_[J.variant_id]=parseInt(J.members_count,10),_),{})},results:P};function N(_){return _.toJSON()}function G(_){let J=_.getContent(c);return {..._.toJSON(),locale:J.locale,name:J.name,attributes:J.attributes,keywords:J.keywords}}}}function mn(e){let{image:t,image_content:r,search:o,search_content:n}=e;return a;async function a(s){let{content_id:i,contentByLocale:c,image:l,image_id:p}=s,u={where:{content_id:i}},d=await o.findOne(u);if(await o.update(s,{where:{content_id:i}}),c){for(let y=0;y<c.length;y++){let h=c[y];await n.update({name:h.name,keywords:h.keywords},{where:{id:h.id,locale:h.locale}});}u={...u,...{include:[{association:"contentByLocale",separate:!0}]}};}if(l){if(l.id&&(await t.update({...l},{where:{id:l.id}}),l.contentByLocale))for(let m=0;m<l.contentByLocale.length;m++){let y=l.contentByLocale[m];await r.update({meta:y.meta},{where:{id:y.id,locale:y.locale}});}}else !p&&d.image_id&&(await e.search.findAll({where:{image_id:d.image_id}})).length===0&&await t.destroy({where:{id:d.image_id}});return o.findOne(u)}}function fn(e){return {ingestMembers:cn(e),readMember:un(e),searchMember:ot(e),updateMember:mn(e),readMemberImage:pn(e)}}var De={include:[{association:"contentByLocale",separate:!0},{association:"inputs",include:[{association:"contentByLocale",separate:!0}]},{association:"consumers",include:[{association:"contentByLocale",separate:!0}]}]},xt=e=>({include:[{association:"variants",separate:!0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:e,as:"members",attributes:[]}],group:["variant.id"]}],order:[["ordering","ASC"]]}),It={include:[{association:"blocks",separate:!0,...De}]},ir=e=>({include:[{association:"dimensions",separate:!0,...xt(e)},{association:"sections",separate:!0,...It}]});var fe=[{association:"image",attributes:{exclude:["splash"]},include:[{association:"contentByLocale"}]},{association:"contentByLocale"}];function gn(e){let{block:t,block_content:r,block_input:o}=e;return {createBlock:n,readBlock:s,updateBlock:i,deleteBlock:l,createBulkBlock:a,updateBulkBlock:c};async function n(p){let{locales:u,...d}=p;return (await t.create({...d,consumers:[],inputs:[],contentByLocale:u.map(y=>({locale:y}))},{include:De.include})).toJSON()}async function a(p){let u=p.map(m=>{let{locales:y,...h}=m;return {...h,consumers:[],inputs:[],contentByLocale:y.map(A=>({locale:A}))}});return (await t.bulkCreate(u,{include:De.include})).map(m=>m.toJSON())}async function s({id:p,include:u}={}){let d=p==null?[]:[].concat(p),m=await t.findAll({where:d.length>0?{id:d}:void 0,include:u?De.include:void 0});if(d.length===0||m.length===d.length)return m.map(b=>b.toJSON());let y=m.map(b=>b.id),h=d.filter(b=>!y.includes(b));throw new R(404,`Block(id=[${h}]) does not exist.`)}async function i(p){let{id:u,contentByLocale:d,consumers:m,inputs:y,inputAction:h,...b}=p,A=await t.findByPk(u,{include:De.include,rejectOnEmpty:!0});if(A.set(b),d){let v=Object.values(d);await r.bulkCreate(v,{updateOnDuplicate:["content"]});}return h&&(h.operation==="create"?await o.create(h.input):await o.destroy({where:h.input})),await A.save(),await A.reload(),A.toJSON()}async function c(p){let u=p.map(y=>{let{id:h,contentByLocale:b,consumers:A,inputs:v,inputAction:x,...S}=y;return {id:h,contentByLocale:b,inputAction:x,...S}}),d=await t.findAll({where:{id:{[Op.or]:u.map(y=>y.id)}},include:De.include}),m=[];for(let y of d){let h=u.filter(b=>b.id===y.id);for(let b=0;b<h.length;b++){let A=h[b],{id:v,contentByLocale:x,inputAction:S,...E}=A;if(S&&(S.operation==="create"?await o.create(S.input):await o.destroy({where:S.input})),x){let M=Object.values(x);await r.bulkCreate(M,{updateOnDuplicate:["content"]});}y.set(E),await y.save(),await y.reload(),m.push(y.toJSON());}}return m}async function l(p){let u=await t.findByPk(p,{rejectOnEmpty:!0});return await u.destroy(),{id:p,parentType:"section",parentId:u.section_id}}}function yn(e){let{dimension:t,search:r}=e;return {createDimension:o,readDimension:n,updateDimension:a,deleteDimension:s};async function o(i){return (await t.create({name:i.name,report_id:i.report_id,variants:[]},{include:xt(r).include})).toJSON()}async function n({id:i,include:c}={}){let l=i==null?[]:[].concat(i),p=await t.findAll({where:l.length>0?{id:l}:void 0,include:c?xt(r).include:void 0});if(l.length===0||p.length===l.length)return p.map(m=>m.toJSON());let u=p.map(m=>m.id),d=l.filter(m=>!u.includes(m));throw new R(404,`Dimension(id=[${d}]) does not exist.`)}async function a(i){let{id:c,variants:l,...p}=i,u=await t.findByPk(c,{include:xt(r).include,rejectOnEmpty:!1});if(!u)throw new R(404,`Dimension(id=${c}) does not exist.`);return u.set(p),await u.save(),u.toJSON()}async function s(i){let c=await t.findByPk(i,{rejectOnEmpty:!1});return await c.destroy(),{id:i,parentType:"report",parentId:c.report_id}}}function hn(e){let{formatter:t}=e;return {createFormatter:r,readFormatter:o,updateFormatter:n,deleteFormatter:a};async function r(s){return (await t.create(s)).toJSON()}async function o({id:s}={}){let i=s==null?[]:[].concat(s),c=await t.findAll({where:i.length>0?{id:i}:void 0});if(i.length===0||c.length===i.length)return c.map(u=>u.toJSON());let l=c.map(u=>u.id),p=i.filter(u=>!l.includes(u));throw new R(404,`Formatter(id=[${p}]) does not exist.`)}async function n(s){let{id:i,...c}=s,l=await t.findByPk(i,{rejectOnEmpty:!0});return await l.update(c),l.toJSON()}async function a(s){return await(await t.findByPk(s,{rejectOnEmpty:!0})).destroy(),{id:s}}}var{locales:Vi}=U();function bn(e){let{report:t,search:r}=e;return {createReport:o,readReport:n,updateReport:a,deleteReport:s};async function o(i){return (await t.create({name:i.name,sections:[],dimensions:[]},{include:ir(r).include})).toJSON()}async function n({id:i,include:c,locales:l=Vi}={}){let u=(i==null?[]:[].concat(i)).reduce((h,b)=>(h.includes(b)||h.push(b),h),[]),d=await t.findAll({where:u.length>0?{id:u}:void 0,include:c?ir(r).include?.filter(h=>typeof c=="string"?h.association===c:c):void 0});if(u.length===0||d.length===u.length)return d.map(h=>{let b=h.toJSON();return {...b,sections:b.sections.map(A=>({...A,blocks:A.blocks.map(v=>({...v,contentByLocale:Object.keys(v.contentByLocale).reduce((x,S)=>({...x,...[...l,"logic"].includes(S)?{[S]:v.contentByLocale[S]}:{}}),{})}))}))}});let m=d.map(h=>h.id),y=u.filter(h=>!m.includes(h));throw new R(404,`Report(id=${y}) does not exist.`)}async function a(i){let{id:c,dimensions:l,sections:p,...u}=i,d=await t.findByPk(c,{include:ir(r).include,rejectOnEmpty:!1});if(!d)throw new R(404,`Report(id=${c}) does not exist.`);return d.set(u),await d.save(),await d.reload(),d.toJSON()}async function s(i){return await(await t.findByPk(i,{rejectOnEmpty:!1})).destroy(),{id:i}}}function Rn(e){let{section:t}=e;return {createSection:r,readSection:o,updateSection:n,deleteSection:a};async function r(s){return (await t.create({ordering:s.ordering,report_id:s.report_id,blocks:[]},{include:It.include})).toJSON()}async function o({id:s,include:i}={}){let c=s==null?[]:[].concat(s),l=await t.findAll({where:c.length>0?{id:c}:void 0,include:i?It.include:void 0});if(c.length===0||l.length===c.length)return l.map(d=>d.toJSON());let p=l.map(d=>d.id),u=c.filter(d=>!p.includes(d));throw new R(404,`Section(id=${u}) does not exist.`)}async function n(s){let{id:i,blocks:c,...l}=s,p=await t.findByPk(i,{include:It.include,rejectOnEmpty:!1});return p.set(l),await p.save(),await p.reload(),p.toJSON()}async function a(s){let i=await t.findByPk(s,{rejectOnEmpty:!0});return await i.destroy(),{id:s,parentType:"report",parentId:i.report_id}}}function An(e,t){let{variant:r,search:o}=e;return {createVariant:n,readVariant:a,updateVariant:s,deleteVariant:i,validateVariantSlug:c};async function n(l){let{dimension_id:p,name:u,slug:d}=l,m=await c({dimension:p,slug:d});return (await r.create({dimension_id:p,name:u,slug:m.valid?m.candidate:m.suggestion})).toJSON()}async function a({id:l}={}){let p=l==null?[]:[].concat(l),u=await r.findAll({where:p.length>0?{id:p}:void 0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:o,attributes:[],as:"members"}],group:["variant.id"]});if(p.length===0||u.length===p.length)return u.map(y=>y.toJSON());let d=u.map(y=>y.id),m=p.filter(y=>!d.includes(y));throw new R(404,`Variant(id=${m}) does not exist.`)}async function s(l){let{id:p,...u}=l,d=await r.findByPk(p,{include:[{association:"dimension"}],rejectOnEmpty:!0});u.settings=Pt(u.settings);let m=u.settings.doIngest;return u.settings.doIngest=!1,await d.update(u),m&&(await t.ingestMembers(d),await Ne(e,!0)),await d.reload(),d.toJSON()}async function i(l){let p=await r.findByPk(l,{rejectOnEmpty:!0});return await p.destroy(),Ne(e,!0),{id:l,parentType:"dimension",parentId:p.dimension_id}}async function c({dimension:l,slug:p}){let u=await r.findAll({attributes:["slug",[fn$1("COUNT",col("id")),"slugCount"]],where:{dimension_id:{[Op.ne]:l}},group:"slug"}).then(h=>Object.fromEntries(h.map(b=>{let A=b.getDataValue("slugCount");return [b.slug,Number.parseInt(`${A}`,10)]}))),d=p,m=1,y=!0;for(;u[d];)y=!1,d=`${p}-${m}`,m++;return {candidate:p,dimension_id:l,suggestion:d,valid:y}}}function Tn(e){let t={...gn(e),...yn(e),...hn(e),...fn(e),...bn(e),...Rn(e)},r={...t,...An(e,t)};return {createFormatter:T(r.createFormatter),deleteFormatter:T(r.deleteFormatter),readFormatter:T(r.readFormatter),updateFormatter:T(r.updateFormatter),createReport:T(r.createReport),deleteReport:T(r.deleteReport),readReport:T(r.readReport),updateReport:T(r.updateReport),createDimension:T(r.createDimension),deleteDimension:T(r.deleteDimension),readDimension:T(r.readDimension),updateDimension:T(r.updateDimension),createVariant:T(r.createVariant),readVariant:T(r.readVariant),updateVariant:T(r.updateVariant),deleteVariant:T(r.deleteVariant),validateVariantSlug:T(r.validateVariantSlug),createSection:T(r.createSection),readSection:T(r.readSection),updateSection:T(r.updateSection),deleteSection:T(r.deleteSection),createBlock:T(r.createBlock),deleteBlock:T(r.deleteBlock),readBlock:T(r.readBlock),updateBlock:T(r.updateBlock),createBulkBlock:T(r.createBulkBlock),updateBulkBlock:T(r.updateBulkBlock),readMember:T(r.readMember),searchMember:T(r.searchMember),updateMember:T(r.updateMember),readMemberImage:T(r.readMemberImage)}}var vn=e=>{throw console.error("/methods/helpers/uploadImage.ts:",e),new Error(e.message)},$i=Number(process.env.NEXT_PUBLIC_IMAGE_SPLASH_WIDTH)||1400,Gi=Number(process.env.NEXT_PUBLIC_IMAGE_THUMB_WIDTH)||400,Ki=async(e,t,r)=>{let o=[{type:"splash",res:$i},{type:"thumb",res:Gi}];for(let n of o){let a=await qi(r).resize(n.res).toFormat("webp").webp({lossless:!0}).toBuffer().catch(vn);await e.image.update({[n.type]:a},{where:{id:t}}).catch(vn);}},Se=Ki;var _n="|||";var kn=["4","5","7","8","9","10"],Ji=kn.join(),{locales:Yi}=U(),Ee;if(process.env.FLICKR_API_KEY)try{Ee=new Wi(process.env.FLICKR_API_KEY);}catch(e){throw console.error("Flickr ERROR:",e),new Error(e.message)}async function Pn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Ee)throw console.log("Flickr is not initialized. Check the credentials"),new Error("Flickr is not initialized. Check the credentials");let o=r.prompt,a=(await Ee.photos.search({text:o,license:Ji,sort:"relevance",per_page:24,page:r.page,content_types:"0",orientation:"landscape"}).then(l=>l.body)).photos.photo,s=a.reduce((l,p)=>l.concat(Ee.photos.getSizes({photo_id:p.id})),[]),c=(await Promise.all(s).then(l=>l)).reduce((l,p,u)=>{let d=p.body.sizes.size.find(m=>m.label==="Small 320");return d&&l.push({id:a[u].id,source:d.source}),l},[]);return {meta:{prompt:D(r.prompt),page:D(`${r.page}`)},results:c}}catch(r){throw console.log(r),new Error("Error in search flickr provider")}}async function wn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:D(`${r}`)||"",id:D(`${o}`)||""},s=`https://flic.kr/p/${Hi.int_to_base58(o)}`;if(!Ee)throw new Error("Flickr API Key not configured");let i=await Ee.photos.getInfo({photo_id:o}).then(l=>l.body),c;if(i)if(kn.includes(i.photo.license)){let l=await e.search.findOne({where:{content_id:r}}),p=await e.image.findOne({where:{url:s}});if(l){if(p)await e.search.update({image_id:p.id},{where:{content_id:r}});else {let d=await Ee.photos.getSizes({photo_id:o}).then(S=>S.body),m=d.sizes.size.find(S=>parseInt(S.width,10)>=1600);if(m||(m=d.sizes.size.find(S=>parseInt(S.width,10)>=1e3)),m||(m=d.sizes.size.find(S=>parseInt(S.width,10)>=500)),!m||!m.source)throw new Error("Flickr Source Error, try another image.");let y=await dr.get(m.source,{responseType:"arraybuffer"}).then(S=>S.data),b=(await Ee.photos.licenses.getInfo().then(S=>S.body.licenses.license)).find(S=>S.id===parseInt(i.photo.license,10)),A={url:s,author:i.photo.owner.realname||i.photo.owner.username,license:b?`${b.name}: ${b.url}`:""},v=await e.image.create(A);await e.image_content.destroy({where:{id:v.id}});let x=Yi.map(S=>({id:v.id,locale:S,meta:i.photo.title._content}));await e.image_content.bulkCreate(x),await e.search.update({image_id:v.id},{where:{content_id:r}}),await Se(e,v.id,y);}let u=await e.search.findOne({where:{content_id:r},include:fe});u&&u.image&&(u.image.thumb=!!u.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Bad License");else throw new Error("Malformed URL");return {meta:{...n},results:c}}catch(r){throw console.log(r),new Error("Error in save flickr provider")}}function C(e,t,r,o){return {method:e,path:t,handler:r,roleRequired:o}}function H(e){let t=Number.parseInt(`${e||""}`,10);if(Number.isNaN(t)||!Number.isFinite(t))throw new R(400,`Invalid numeric parameter: ${e}`);return t}function L(e){return e==null||e===""?[]:Array.isArray(e)?e:e.toString().split(",")}var{localeDefault:Ae}=U();function xn(e){let{readMember:t,searchMember:r,updateMember:o,readMemberImage:n}=e;return [C("GET","read/members",async a=>{let s=Qi(a.query),i=s[s.mode]||[],c=s.mode==="whole";if(!c&&i.length===0)throw new R(400,`The request is missing the '${s.mode}' parameter.`);if(!c&&i.length>20&&!s.variant)throw new R(400,`You can look for up to 20 '${s.mode}' in a single request.`);return t(s)}),C("GET","search/members",a=>{let s=Ct(a.query);return r(s)}),C("POST","update/member",a=>{let{body:s}=a;return o(s)},[V.EDITOR]),C("GET","member/image",a=>{let s=L(a.query.size)[0];return n({member:H(a.query.member),size:s&&s==="splash"?"splash":"thumb"})})]}function Qi(e){let t=L(e.locale)[0]||Ae||"en",r=t==="all"||cr(e.all),o=L(e.mode)[0],a=(L(e.output)[0]||"full")==="lite"?"lite":"full",s=parseInt(L(e.related)[0],10)||5,i=L(e.variant).map(H);if(i.length===0&&(i=L(e["variant[]"]).map(H)),o==="ids")return {all:r,mode:o,variant:i,output:a,locale:r?Ae:D(t),ids:L(e.ids||e["ids[]"])};if(o==="content_ids")return {all:r,mode:o,variant:i,output:a,locale:r?Ae:D(t),content_ids:L(e.content_ids||e["content_ids[]"]).map(H)};if(o==="slugs")return {all:r,mode:o,variant:i,output:a,locale:r?Ae:D(t),slugs:L(e.slugs||e["slugs[]"]).map(c=>{let[l,p]=c.split("/");return {variantSlug:l,memberSlug:p}})};if(o==="related")return {all:r,mode:o,locale:r?Ae:D(t),related:s,current_ids:L(e.current_ids||e["current_ids[]"]).map(H),report_ids:L(e.report_ids||e["report_ids[]"]).map(H),dimension_ids:L(e.dimension_ids||e["dimension_ids[]"]).map(H),variant_ids:L(e.variant_ids||e["variant_ids[]"]).map(H),output:a};if(o==="whole")return {all:r,mode:o,locale:r?Ae:D(t),report_ids:L(e.report_ids||e["report_ids[]"]).map(H),dimension_ids:L(e.dimension_ids||e["dimension_ids[]"]).map(H),variant_ids:L(e.variant_ids||e["variant_ids[]"]).map(H),output:a};throw new R(400,`Invalid mode: '${o}'`)}function Ct(e){let t=L(e.locale)[0]||Ae||"en",r=t==="all",o=L(e.format)[0],n=o?o==="nested":r,a=L(e.variant).map(H);a.length===0&&(a=L(e["variant[]"]).map(H));let s=L(e.dimension).map(H);s.length===0&&(s=L(e["dimension[]"]).map(H));let i=L(e.report).map(H);return i.length===0&&(i=L(e["report[]"]).map(H)),{query:L(e.query||e.q)[0]||"",locale:r?Ae:t,preferredLocale:L(e.preferredLocale)[0],limit:L(e.limit).map(H)[0]??5,format:n?"nested":"plain",includes:cr(e.includes,{default:!0}),visible:cr(e.visible,{default:!0}),noImage:cr(e.noImage,{default:!1}),variant:a,dimension:s,report:i,all:r,sort:L(e.sort)[0],direction:L(e.direction)[0],offset:Number(e.offset||0)}}async function In(e,t){let r=ot(e),o=Ct({query:t.prompt,limit:"50",visible:"false"}),a=(await r(o)).results.filter(s=>s.image_id).map(s=>({id:s.image_id,source:`/api/cms/member/image?member=${s.content_id}&size=thumb`}));return {meta:{prompt:D(o.query)},results:a}}async function Cn(e,t){let{search:r}=e,{content_id:o,image_id:n}=t;await r.update({image_id:n},{where:{content_id:o}});let a=await r.findOne({where:{content_id:o},include:fe}).then(s=>s?{...s.toJSON(),image:{...s.image.toJSON(),thumb:!!s.image.thumb}}:null);return {meta:{id:n,content_id:o},results:a}}var{locales:ec}=U(),Bt;if(process.env.UNSPLASH_API_KEY)try{Bt=createApi({accessKey:process.env.UNSPLASH_API_KEY});}catch(e){throw console.error("Unsplash error:",e),new Error(e.message)}async function Bn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Bt)throw new Error("Unsplash API Key not configured");let o=r.prompt,a=(await Bt.search.getPhotos({query:o,perPage:24,page:r.page,orientation:"landscape"}).then(s=>s.response.results)).map(s=>({id:s.id,source:s.urls.thumb}));return {meta:{prompt:D(r.prompt),page:D(`${r.page}`)},results:a}}catch(r){throw console.log(r),new Error("Error in search unsplash provider")}}async function Mn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:D(`${r}`)||"",id:D(`${o}`)||""};if(!Bt)throw console.log("Unsplash is not initialized. Check the credentials"),new Error("Unsplash is not initialized. Check the credentials");let a=await Bt.photos.get({photoId:o}).then(i=>i.response),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.links.html,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await dr.get(a.urls.full,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.user.name||a.user.username,license:"Free Unsplash license: https://unsplash.com/license"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let y=ec.map(h=>({id:m.id,locale:h,meta:a.description||a.alt_description}));await e.image_content.bulkCreate(y),await e.search.update({image_id:m.id},{where:{content_id:r}}),await Se(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:fe});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.log(r),new Error("Error in save unsplash provider")}}var{locales:rc}=U();async function Ln(e,t){try{let{content_id:r,image_source:o,files:n}=t,a={content_id:D(`${r}`)||""};if(await e.search.findOne({where:{content_id:r}})&&n){let c=await tc.readFileSync(n.file.filepath),l={url:o,author:"",license:""},p=await e.image.create(l);await e.image_content.destroy({where:{id:p.id}});let u=rc.map(d=>({id:p.id,locale:d,meta:""}));await e.image_content.bulkCreate(u),await e.search.update({image_id:p.id},{where:{content_id:r}}),await Se(e,p.id,c);}let i=await e.search.findOne({where:{content_id:r},include:fe});return i&&i.image&&(i.image.thumb=!!i.image.thumb),{meta:{...a},results:i}}catch(r){throw console.log(r),new Error("Error in save upload provider")}}var{locales:oc}=U();var On=async e=>{let t={"x-api-key":process.env.ADOBE_STOCK_API_KEY||"EMPTY_ADOBE_KEY","X-Product":"BespokeApp/0.1"};return e&&(t.Authorization=`Bearer ${e}`),t};var Mt;if(process.env.ADOBE_STOCK_API_KEY)try{Mt={search:async(e,t)=>await dr.get("https://stock.adobe.io/Rest/Media/1/Search/Files",{headers:await On(!1),params:{locale:"en_US","search_parameters[limit]":24,"search_parameters[offset]":t*24,"search_parameters[words]":e,"search_parameters[filters][content_type:photo]":"1","search_parameters[filters][content_type:image]":"1","search_parameters[filters][orientation]":"horizontal",result_columns:["id","stock_id","thumbnail_url","is_licensed"]}}).then(r=>r.data.files),get:async e=>await dr.get("https://stock.adobe.io/Rest/Media/1/Files",{headers:await On(!1),params:{locale:"en_US",ids:e,result_columns:["id","thumbnail_url","creator_name","title","thumbnail_1000_url","details_url","category"]}}).then(t=>t.data.files[0])};}catch{}async function Nn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Mt)throw new Error("Adobe API Key not configured");let n=(await Mt.search(r.prompt,r.page)).map(a=>({id:a.id,source:a.thumbnail_url}));return {meta:{prompt:D(r.prompt),page:D(`${r.page}`)},results:n}}catch(r){throw console.log(r),new Error("Error in search Adobe provider")}}async function Dn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:D(`${r}`)||"",id:D(`${o}`)||""};if(!Mt)throw console.log("Adobe is not initialized. Check the credentials"),new Error("Adobe is not initialized. Check the credentials");let a=await Mt.get(o),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.details_url,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await dr.get(a.thumbnail_1000_url,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.creator_name,license:"ADOBE, TO-DO"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let y=oc.map(h=>({id:m.id,locale:h,meta:a.title||a.description}));await e.image_content.bulkCreate(y),await e.search.update({image_id:m.id},{where:{content_id:r}}),await Se(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:fe});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.log(r),new Error("Error in save adobe provider")}}var nc={local:Cn,flickr:wn,unsplash:Mn,upload:Ln,adobe:Dn};function at(e,t){let r=nc[t];if(!r)throw new R(500,`Wrong provider dbImageSaveFactory.ts: ${t}`);return T(o=>r(e,o))}var ac={local:In,flickr:Pn,unsplash:Bn,adobe:Nn};function Lt(e,t){let r=ac[t];if(!r)throw new R(500,`Wrong provider dbImageSearchFactory.ts: ${t}`);return T(o=>r(e,o))}var dc=e=>(e.dimensions&&e.dimensions.forEach(t=>{t.variants&&t.variants.forEach(r=>{r.members_count&&(r.members_count=parseInt(r.members_count,10));});}),e);function ur(e){let{report:t,search:r}=e;return o;async function o(n){return {data:(await t.findAll({attributes:["id","name",[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"],[literal("COALESCE(NULLIF(settings ->> 'hide', '')::BOOL, false)"),"hide"]],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!1),literal("NOT (settings::jsonb ? 'hide')")]},order:[["ordering","ASC"]],include:[{attributes:["id","name","ordering"],association:"dimensions",separate:!0,order:[["ordering","ASC"]],include:[{attributes:["id","name","slug",[fn$1("COUNT",col("members.id")),"members_count"],[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"]],include:[{model:r,attributes:[],as:"members"}],association:"variants",separate:!0,group:["variant.id"],order:[["ordering","ASC"]]}]}]})).map(s=>({...dc(s.toJSON()),mode:s.dimensions.length===1?Re.UNILATERAL:Re.MULTILATERAL}))}}}function Un(e){return async()=>(await Ne(e,!0),{error:!1})}var{locales:mc,localeDefault:fc}=U(),gc=(e,t)=>{if(!e)return [];let r=[];return t.forEach(o=>{let n=e.filter(a=>a.metadata.report.id===o.id);if(n.length>0)if(o.mode===Re.UNILATERAL){let a=o.dimensions[0];a.variants.forEach(s=>{let i=n.filter(c=>c.metadata.dimension.id===a.id&&c.metadata.variant.id===s.id);i.length>0&&(r=r.concat(i.map(c=>({path:`/${s.slug}/${c.slug}`,name:c.name,confidence:c.confidence,report:{id:o.id,name:o.name,mode:o.mode},members:[c],id:`r-${o.id}-${[c].map(l=>`${l.id}`).join("-")}`}))));});}else o.mode;}),r.sort((o,n)=>o.confidence<n.confidence?1:-1)},yc=(e,t)=>{if(!e)return [];let r,o,n;return e.map(a=>(r={...t.find(s=>s.id===a.report_id)},o={...r.dimensions.find(s=>s.id===a.dimension_id)},n={...o.variants.find(s=>s.id===a.variant_id)},delete r.dimensions,delete o.variants,{name:a.name,confidence:a.zvalue,metadata:{id:a.id,slug:a.slug,report:r,dimension:o,variant:n},id:a.content_id,slug:a.slug}))};function Fn(e){let t=ot(e),r=ur(e);return o;async function o(n){let a=n.format||"results",s=mc.includes(n.locale)?n.locale:fc,i=await t({...n,format:"plain",locale:D(s),visible:!0}),c=i.results?i.results:[],p=(await r()).data,u=yc(c,p);return {meta:{...i.meta,format:a},results:gc(u,p)}}}function Vn(){return async e=>{let t=typeof e=="string"?{url:e}:e;try{let r=await dr.request(t);return {ok:!0,status:r.status,data:r.data}}catch(r){throw new R(r.response?.status||500,r.message)}}}function zn(e){return async t=>{try{let{variantPaths:r}=t,o=[];if(r)for(let n=0;n<r.length;n++){let a=r[n];(await e.search.findAll({attributes:["slug"],where:{variant_id:a.variantId}})).forEach(i=>{o.push(`/${a.prefix}/${a.variantSlug}/${i.slug}`);});}return {...t,paths:o,revalidated:0,samples:[]}}catch(r){throw new R(r.response?.status||500,r.message)}}}function qn(){return async e=>{try{let{target:t}=e;return {target:t}}catch(t){throw new R(t.response?.status||500,t.message)}}}function Ot(e,t){let r=[],o=a=>Object.values(t).reduce((i,c)=>("inputs"in c&&c.inputs.includes(a)&&(i.push(c.id),i=i.concat(o(c.id))),i),[]);e.forEach(a=>{r=r.concat(o(a));});let n=[];return r.forEach(a=>{n.includes(a)||n.push(a);}),n}function Rc(e,t){return e.some(r=>t.includes(`role.${r}`))}function $n(e){let{report:t}=e;return r;async function r(o){let n=await t.findByPk(o.report_id,{include:{association:"sections",separate:!0,include:[{association:"blocks",separate:!0,include:[{association:"contentByLocale",separate:!0,where:{locale:{[Op.or]:[o.locale,"logic"]}}},{association:"inputs"},{association:"consumers"}]}]}}).then(s=>s&&s.sections&&Array.isArray(s.sections)?s.sections.reduce((i,c)=>{let l=c.blocks.map(p=>{let u=p.toJSON();return u.inputs=u.inputs.map(d=>d.id),u.consumers=u.consumers.map(d=>d.id),u});return i.concat(l)},[]):[]),a=n.filter(s=>s.settings&&s.settings.access&&Array.isArray(s.settings.access)&&Array.isArray(o.roles)&&(s.settings.access.includes("private")||Rc(o.roles,s.settings.access))).map(s=>s.id);return a=a.concat(Ot(a,n)),{params:{...o},data:n.filter(s=>a.includes(s.id))}}}var Ac=Object.keys(zr).filter(e=>e.indexOf("Icon")===0);async function Gn(){return {meta:{provider:"tabler"},results:Ac}}async function Kn(e){let t=zr[e.name]?zr[e.name]:()=>"";return renderToString(createElement(t))}var Tc={tabler:Gn};function jn(e){let t=Tc[e];if(!t)throw new R(500,`Wrong provider dbListIconsFactory.ts: ${e}`);return T(()=>t())}var vc={tabler:Kn};function Hn(e){return T(t=>{let r=vc[e];if(!r)throw new R(500,`Wrong provider dbReadIconFactory.ts: ${t.provider}`);return r({name:t.name,provider:e})})}function Nt(e,t,r){return Oe().then(o=>{Object.assign(r,st(o));})}function st(e,t){let r={},o=ve(t||{providers:[]});return t&&o.actions&&o.source==="custom"?(r.searchRole=T(o.actions.searchRole()),r.searchUser=T(o.actions.searchUser()),r.readUser=T(o.actions.readUser()),r.updateUser=T(o.actions.updateUser())):o.source==="auth0"&&(r.searchRole=T(Bo()),r.searchUser=T(Mo()),r.readUser=T(Lo()),r.updateUser=T(Oo())),{...Tn(e),searchReport:T(Fn(e)),readMetadata:T(ur(e)),regenerateSearch:T(Un(e)),imageFlickrSearch:Lt(e,"flickr"),imageLocalSearch:Lt(e,"local"),imageUnsplashSearch:Lt(e,"unsplash"),imageAdobeSearch:Lt(e,"adobe"),imageFlickrSave:at(e,"flickr"),imageLocalSave:at(e,"local"),imageUnsplashSave:at(e,"unsplash"),imageUploadSave:at(e,"upload"),imageAdobeSave:at(e,"adobe"),urlProxy:Vn(),searchRole:r.searchRole,searchUser:r.searchUser,readUser:r.readUser,updateUser:r.updateUser,updateMyData:T(No()),revalidateReport:T(zn(e)),revalidateUrl:T(qn()),readPrivateBlocks:T($n(e)),listTablerIcons:jn("tabler"),readTablerIcon:Hn("tabler")}}async function qr(e){try{let t=new _c.IncomingForm,r=await new Promise((o,n)=>{t.parse(e,(a,s,i)=>{if(a){console.log("Error in formidable parse function inside internal parseBody.ts",a),n(a);return}o({fields:s,files:i});});});return {...r.fields,files:r.files}}catch(t){return {error:t}}}function Ue(e,t){let r=re(e,"create",t),o=re(e,"read",t),n=re(e,"update",t),a=re(e,"delete",t),s=re(e,"updateBulk",t),i=re(e,"createBulk",t);return [C("POST",`create/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return i(d)},[V.EDITOR]),C("POST",`create/${t}`,c=>{let{body:l}=c;return r(l)},[V.EDITOR]),C("GET",`read/${t}`,c=>{let l=c.query,p=L(l.id).map(H);return o({id:p,include:cr(l.include)})}),C("POST",`update/${t}`,c=>{let{body:l}=c;return n(l)},[V.EDITOR]),C("POST",`update/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return s(d)},[V.EDITOR]),C("DELETE",`delete/${t}`,c=>{let l=H(c.query.id);return a(l)},[V.EDITOR])]}function Wn(e){let{validateVariantSlug:t}=e;return [...Ue(e,"variant"),C("GET","validate/variant",r=>{let o=r.query,n=H(o.dimension);return t({dimension:n,slug:nr(o.slug)})},[V.EDITOR])]}function it(e,t){let r=`image${me(t)}Save`,o=e[r];return C("POST",`images/save/${t}`,n=>{let a=n.body;if(!a.content_id)throw new R(400,"Missing 'content_id' parameter.");if(!a.image_id)throw new R(400,"Missing 'image_id' parameter.");return o(a)},[V.EDITOR])}function Dt(e,t){let r=`image${me(t)}Search`,o=e[r];return C("GET",`images/search/${t}`,async n=>{let a=L(n.query.prompt)[0];if(!a)throw new R(400,"Empty 'prompt' param.");return o({prompt:a,page:H(n.query.page)})},[V.EDITOR])}function Jn(e){let{readMetadata:t}=e;return C("GET","read/metadata",()=>t({}))}function Yn(e){let{regenerateSearch:t}=e;return C("POST","search/regenerate",()=>t(void 0),[V.EDITOR])}function Qn(e){let{searchReport:t}=e;return C("GET","search/reports",r=>{let o=Pc(r.query);return t(o)})}function Pc(e){return {...Ct(e),format:L(e.format)[0]}}function Zn(e){let{urlProxy:t}=e;return C("GET","url/proxy",r=>{let{url:o,method:n="GET"}=r.query;if(!o)throw new R(400,"Missing URL parameter");return t({url:Array.isArray(o)?o.join(","):o,method:L(n)[0]==="POST"?"POST":"GET"})})}function Xn(e){let{readMetadata:t,revalidateReport:r}=e;return C("GET","revalidate/report",async(o,n)=>{let{reportId:a,profilePrefix:s}=o.query;if(!a||!s)throw new R(400,"Missing URL parameter in revalidate factory: reportId or profilePrefix");try{let i=parseInt(`${a}`,10),c=`${s}`.split("/").filter(y=>y!=="").join("/"),l=[],p=await t({}).then(y=>y.ok?y.data.data.find(h=>h.id===i):[]);p&&p.mode===Re.UNILATERAL&&p.dimensions.forEach(y=>{y.variants.forEach(h=>{l.push({prefix:c,variantId:h.id,variantSlug:h.slug});});});let u=await r({profilePrefix:c,reportId:i,variantPaths:l}),d=[],m=0;return u.ok&&(m=u.data.paths.length,d=u.data.paths.slice(0,5),Promise.all(u.data.paths.map(y=>{let h;try{h=n.revalidate(y,{unstable_onlyGenerated:!0});}catch(b){console.log("error",y,b);}return h}))),{ok:!0,status:200,data:{reportId:a,revalidated:m,samples:d}}}catch(i){throw console.log(i),new R(500,"Error revalidating")}},[V.EDITOR])}function ea(){return C("GET","revalidate/url",async(e,t)=>{let{target:r}=e.query;if(r)try{return t.revalidate(r,{unstable_onlyGenerated:!0}),{ok:!0,status:200,data:{target:r}}}catch(o){throw console.log(o),new R(500,"Error revalidating")}else throw new R(400,"Missing target parameter in revalidate factory")},[V.ADMIN,V.EDITOR,V.WRITER])}var{localeDefault:wc}=U();function ta(e){let{readPrivateBlocks:t}=e;return C("POST","read/blocks/private",(r,o,n)=>{let a={report_id:parseInt(r.body.report_id,10),locale:r.body.locale||wc,roles:n&&n.user?n.user.bespoke_roles:[]};return t(a)},[])}function ra(e){let{searchRole:t}=e;return C("GET","auth/search/roles",(r,o)=>t(""),[V.EDITOR,V.ADMIN])}function oa(e){let{searchUser:t}=e;return C("GET","auth/search/users",r=>t({query:r.query.query,role_id:r.query.role_id,page:r.query.page||0}),[V.ADMIN])}function na(e){let{readUser:t}=e;return C("GET","auth/read/user",r=>t(r.query.user_id),[V.ADMIN])}function aa(e){let{updateUser:t,readUser:r}=e;return C("POST","auth/update/user",async(o,n,a)=>{let s=o.body,i=await t(s);return a&&a.user&&s.user_id===a.user.id&&(await r(a.user.id)).ok,i},[V.ADMIN])}function sa(e){let{updateUser:t,readUser:r}=e;return C("POST","auth/update/me",async(o,n,a)=>{let{report_id:s,user_metadata:i}=o.body;console.log("auth/update/me","session",a);let c={user_id:a.user.id,user_metadata:{}};try{let{user:l}=a;return a&&l&&s&&(l.bespoke_app_metadata&&l.bespoke_app_metadata.reports&&Array.isArray(l.bespoke_app_metadata.reports)?c.app_metadata={...l.bespoke_app_metadata}:c.app_metadata={reports:[]},c.app_metadata.reports.push({reportId:s})),i&&(c.user_metadata={...l.bespoke_app_metadata,...i}),await t(c),(await r(c.user_id)).ok,{ok:!0,status:200,data:{ok:!0,message:"User & session updated"}}}catch(l){return {ok:!1,status:500,error:l.message}}},[])}async function xc(e){try{return "JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCsJAEAX79xVbC+Lmbm/3DoKFeEcKG2F/QCSKYgol+P0mMkwxMG8cHEwrnzt2w/j6jvPjetkalyyZLReKTH5DEPITuv/aUWKKiz6hTywiGliTZWNtFkyWitr0qEWrWmBbq2ndkz/hG1THGT/eextGCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2Mgo+PgpzdHJlYW0KeJzVUt9LwzAQfs9fcY/6IEnTH2llDLa1VZChbIKi+JC1YVRGIm0m87/3ru0cexCfpXwkd/cl+a73BSBAQhRBCCqFCOJQQgwqCGAyYfzx68MAf9Bb0zF+19QdvCJHwAreGF+4vfUQsOmUnbgL7fXObdlwCAIiHxkPrav3lWlhUhZlKYQSQiQRIhFC5rguEBlCYow1meIeoaIRmFOhEOEMa+WARA1nqN5z4/F8gStyE+LkAzdKh/jnXXqrGO6Qf+nJpowvXZ1rb+Aiv5ZCRiKTsQyjTKYvl/g7WqO9+7/N9fobZ3/t8GzONF4acmvIA/2U+cp0bt9WOHbilQ4rtLk1u0/jm0pfKZGlqFOlGXpsNAZ/vt+8m6qnUlgc/M3ak4YhQbmlqRs9dwd0n8APOwDshDw4s9Z5cmXvR+tRDUXJ6NEzySSI8fV+4/uQkgHjc92ZXupJJ4qwlasbuwX+1NiZ7Zpjgm78BkHDxfcKZW5kc3RyZWFtCmVuZG9iagoKOCAwIG9iago8PAovU2l6ZSA5Ci9Sb290IDIgMCBSCi9JbmZvIDMgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW5ndGggNDEKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOSBdCj4+CnN0cmVhbQp4nBXEwQ0AIAwDsUuKxJf9JUZippb4YaDbbEhKTpWWOCDezxcGYeEDtQplbmRzdHJlYW0KZW5kb2JqCgpzdGFydHhyZWYKNjY5CiUlRU9G"}catch(n){throw console.error("Error generating PDF:",n),n}}function ia(){return C("POST","pdf",async(e,t)=>{let{slugs:r,path:o}=e.body;if(!r||!o)throw new R(400,"Missing path parameter in request.");{new URL(o,e.headers.origin);return {ok:!0,status:200,data:await xc()}}})}function ca(e,t){let r=`list${me(t)}Icons`,o=e[r];return C("GET",`list/icons/${t}`,async()=>o({}),[V.EDITOR])}function la(e,t){let r=`read${me(t)}Icon`,o=e[r];return C("GET",`read/icons/${t}/icon.svg`,async n=>o({provider:t,name:n.query.name}))}function ua(){return C("GET","report",async(e,t)=>{let{report:r,prefix:o,locale:n}=e.query;if(!r)throw new R(400,"Missing report parameter.");if(!o)throw new R(400,"Missing report parameter.");if(!n)throw new R(400,"Missing report parameter.");try{let s=await(await fetch(`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${n}${o}${r}`)).text(),l=new Ic().parseFromString(s,"text/html").getElementById("__NEXT_DATA__")?.textContent,p=JSON.parse(l).props;return {ok:!0,status:200,data:{variables:p.pageProps.initialState.variables,status:p.pageProps.initialState.status}}}catch(a){throw console.error(a),new R(500,"Couldn't find page cache")}})}var Mc=We();function $r(e,t){return `${e.toUpperCase()} ${t.toLowerCase()}`}function Lc(e,t){let r=st(e,t);return Object.fromEntries([...Ue(r,"block"),...Ue(r,"dimension"),...Ue(r,"formatter"),...Ue(r,"report"),...Ue(r,"section"),...Wn(r),...xn(r),Qn(r),Jn(r),Yn(r),it(r,"flickr"),it(r,"local"),it(r,"unsplash"),it(r,"upload"),it(r,"adobe"),Dt(r,"flickr"),Dt(r,"local"),Dt(r,"unsplash"),Dt(r,"adobe"),Zn(r),ra(r),oa(r),na(r),aa(r),sa(r),Xn(r),ea(),ta(r),ia(),ca(r,"tabler"),la(r,"tabler"),ua()].map(({handler:o,method:n,path:a,roleRequired:s})=>[$r(n,a),{handler:o,roleRequired:s}]))}function Oc(e){let t=Oe().then(r=>Lc(r,e));return async function(o,n){await Cc(o,n,{methods:["GET","HEAD","PUT","PATCH","POST","DELETE"],origin:"*"});let{query:a,method:s}=o,{path:i,...c}=a;if(i&&s){let l=await t.then(p=>{let u=[].concat(i).join("/"),d=$r(s,u);return p[d]});if(l){let p=await de(o,n,e);if(l.roleRequired){if(!p)return n.status(401).json({error:"Unauthorized. Must be logged in."});let u=p&&p.user&&p.user.bespoke_roles&&Array.isArray(p.user.bespoke_roles)?p.user.bespoke_roles:[];if(Array.isArray(l.roleRequired)&&l.roleRequired.length>0&&!Yt(u,l.roleRequired))return n.status(402).json({error:"Forbidden. Not enough roles."})}if(l.handler)return ["POST","DELETE"].includes(s)&&(o.body=await qr(o)),Promise.resolve(o).then(u=>l.handler(u,n,p||void 0)).then(async u=>{if(u&&"error"in u)throw new R(u.status,u.error);if(u.ok)if(u.data instanceof Buffer){let d=await Bc(u.data),m=Buffer.byteLength(u.data);n.writeHead(u.status,{"Content-Type":d?d.mime:"image/jpeg","Content-Length":m.toString()}).send(u.data);}else o.url&&o.url.indexOf("/icon.svg?name=")>0?(n.setHeader("Content-Type","image/svg+xml"),n.status(u.status).send(u.data)):n.status(u.status).json({data:u.data});}).catch(u=>{Mc&&console.trace("Backend Error",u),n.status(u.code).json({error:u.message});})}}else i||await t.then(console.log);return n.status(404).json({error:"No matching route",path:i,query:c})}}var Nc=e=>{let t=e;return async function(r,o){let n=await t({test:"pala"});return o.json(n)}},Dc=Nc;var Ht={};ls(Ht,{addBlockToState:()=>Eo,cloneEntity:()=>$a,createEntity:()=>Va,deleteEntity:()=>qa,deleteQueryParam:()=>ru,readEntity:()=>te,readMember:()=>jt,readMetadata:()=>nu,readPrivateBlocks:()=>pu,readUser:()=>cu,recalculateVariables:()=>Qa,removeBlocksFromState:()=>So,reportSearch:()=>Xl,resetSectionState:()=>Ja,revalidateReport:()=>mu,revalidateUrl:()=>du,searchMember:()=>tu,searchRegenerate:()=>eu,searchRole:()=>su,searchUser:()=>iu,setCurrentLocale:()=>Yl,setPreferredLocale:()=>Ql,setPreviews:()=>Jl,setQueryParam:()=>ou,setSectionState:()=>Wa,setStatus:()=>Ha,updateEntity:()=>za,updateMyData:()=>uu,updateUser:()=>lu,urlProxy:()=>au,variantValidateSlug:()=>Zl});function ce(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function Q(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>ce(e,{...o,method:"GET",params:r?r(n):n})}function X(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>ce(e,{...o,method:"POST",data:r?r(n):n})}function Fe(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>ce(e,{...o,method:"DELETE",params:r?r(n):n})}function ct(e,t){return r=>ce(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function Ut(e,t){return r=>ce(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function pa(e,t){return ()=>ce(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function da(e,t){return r=>ce(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var lt=e=>({id:e}),Fc=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Ft(e){let t=dr.create({baseURL:e});return {createBulkBlock:X(t,"create/bulk/block"),createBlock:X(t,"create/block"),createDimension:X(t,"create/dimension"),createFormatter:X(t,"create/formatter"),createReport:X(t,"create/report"),createSection:X(t,"create/section"),createVariant:X(t,"create/variant"),deleteBlock:Fe(t,"delete/block",lt),deleteDimension:Fe(t,"delete/dimension",lt),deleteFormatter:Fe(t,"delete/formatter",lt),deleteReport:Fe(t,"delete/report",lt),deleteSection:Fe(t,"delete/section",lt),deleteVariant:Fe(t,"delete/variant",lt),readBlock:Q(t,"read/block"),readDimension:Q(t,"read/dimension"),readFormatter:Q(t,"read/formatter"),readReport:Q(t,"read/report"),readSection:Q(t,"read/section"),readVariant:Q(t,"read/variant"),updateBulkBlock:X(t,"update/bulk/block"),updateBlock:X(t,"update/block"),updateDimension:X(t,"update/dimension"),updateFormatter:X(t,"update/formatter"),updateReport:X(t,"update/report"),updateSection:X(t,"update/section"),updateVariant:X(t,"update/variant"),searchReport:Q(t,"search/reports"),validateVariantSlug:Q(t,"validate/variant"),readMember:Q(t,"read/members",Fc),readMemberImage:Q(t,{url:"member/image",responseType:"blob"}),searchMember:Q(t,"search/members"),updateMember:Q(t,"update/members"),imageLocalSearch:Ut(t,"local"),imageLocalSave:ct(t,"local"),imageFlickrSearch:Ut(t,"flickr"),imageFlickrSave:ct(t,"flickr"),imageUnsplashSearch:Ut(t,"unsplash"),imageUnsplashSave:ct(t,"unsplash"),imageUploadSave:ct(t,"upload"),imageAdobeSearch:Ut(t,"adobe"),imageAdobeSave:ct(t,"adobe"),readMetadata:Q(t,"read/metadata"),regenerateSearch:X(t,"search/regenerate"),urlProxy:Q(t,"url/proxy"),searchRole:Q(t,"auth/search/roles"),searchUser:Q(t,"auth/search/users"),readUser:Q(t,"auth/read/user"),updateUser:X(t,"auth/update/user"),updateMyData:X(t,"auth/update/me"),revalidateReport:Q(t,"revalidate/report"),revalidateUrl:Q(t,"revalidate/url"),readPrivateBlocks:X(t,"read/blocks/private"),listTablerIcons:pa(t,"tabler"),readTablerIcon:da(t,"tabler")}}var{localeDefault:qc}=U();function ie(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||qc}}var Kc=cr(process.env.REPORTS_LOGGING),Ve=jc;function jc(e,t,r,o,n=void 0,a){let s={},i=[],{locale:c}=ie(a);try{if(t){let l=new Proxy(console,{get(u,d){return Hc(d,"log","debug","info","warn","error")?(...m)=>{i.push(`${d} ${Date.now()} - ${m.map(y=>format(y)).join(" ")}`),Kc&&u[d](...m);}:u[d]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,l,xe,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,l,xe,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(s,p),{vars:s,error:null,log:i,output:p}}return {vars:s,error:"Invalid API Link",log:i}}catch(l){return {vars:s,error:l.message,log:i}}}function Hc(e,...t){return t.includes(e)}function Gr(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var ut=Wc;function Wc(e,t,r,o=!1){let{variables:n}=ie(r);if(!e)return e;let a=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(a,(i,c,l)=>{let p=d=>d;if(c){let d=c.replace(/^\w/g,m=>m.toLowerCase());d in t?p=t[d]:p=m=>`${c}${m}`;}let u=Array.isArray(n[l])?Gr(n[l]):n[l];if(u===void 0)return o?i:"N/A";try{return p(u,xe,t)}catch(d){return console.error(`Error using formatter ${p.name}
|
|
60
|
-
|
|
59
|
+
`)}return global.flexsearch};async function Ki(e){let t=await e.search.findAll({include:[{association:"contentByLocale"}]});yt&&console.info("\u{1F3F3}\uFE0F INITIALIZING FLEXSEARCH");let r=Gi.map(async o=>{yt&&console.info(`\u{1F3F3}\uFE0F INITIALIZING FLEXSEARCH ${o} LOCALE`);let n=Kt.find(p=>p.locales.includes(o)),a=n?.charset||"latin",s=a==="latin"?"advanced":"default";n?console.info(` Charset for ${o}: ${a}`):yt&&console.error(` Missing charset for ${o}, adding latin as default.`);let i=(await import(`flexsearch/dist/module/lang/${a}/${s}`)).default,c=new qi.Document({language:o,encode:i.encode,tokenize:"reverse",stemmer:{},matcher:{},filter:[],preset:"default",cache:100,resolution:9,context:!1,optimize:!0,worker:!1,document:{id:"content_id",store:!1,index:["id","name","clean","keywords","attributes"]}}),l=0;return t.forEach(p=>{let u=p.contentByLocale.find(d=>d.locale===o);if(u){let d=$e(u.name,a!=="arabic"),m=Array.isArray(u.keywords)?u.keywords.map(h=>$e(h,a!=="arabic")):null,f={id:p.id,content_id:p.content_id,name:u.name,keywords:m,attributes:u.attributes,clean:d};c.add(f),l++;}}),console.info(`\u{1F3F3}\uFE0F Indexed for ${o}: ${l} elements`),[o,c]});return Object.fromEntries(await Promise.all(r))}var Ge=ji;var gt=process.env.REPORTS_EXTERNAL_SEARCH,_e=Te(),{locales:Hi}=G(),Wi=Hi.filter(e=>hr.includes(e)),Xr=!1,Ji=async(e=!1)=>{if(e&&(_e&&console.info("0\uFE0F\u20E3 CLEARING SEARCH INDEX"),global.typesense=void 0,Xr=!1),global.typesense)return _e&&console.info("\u{1F501} RE-UTILIZING SEARCH INDEX"),global.typesense;try{Xr||(_e&&console.info("1\uFE0F\u20E3 INITIALIZING SEARCH INDEX"),Xr=!0,global.typesense=await Qi());}catch(t){throw new Error(`
|
|
60
|
+
Could not initialize Typesense engine.
|
|
61
|
+
Details:
|
|
62
|
+
${t.message}
|
|
63
|
+
`)}return global.typesense};async function Yi(){try{if(gt){let e=await _r.get(new URL(gt).origin);if(e?.data["typesense-health"]===!0)return _e&&console.info(`${gt} health check is OK. Version: ${e.data.Version}`),!0}else console.error("No envar set TYPESENSE_URL");return !1}catch(e){return console.error("Health check failed:",e.message),!1}}async function Qi(){if(_e&&console.info(`\u{1F3F3}\uFE0F INITIALIZING TYPESENSE SEARCH AGAINST ${gt}`),!await Yi())throw new Error("TYPESENSE_URL service is not healthy.");let t=Wi.map(r=>(_e&&console.info(`\u{1F3F3}\uFE0F INITIALIZING SEARCH ${r} LOCALE`),[r,{search:async(n={query:"*",limit:12,offset:0})=>{let a={locale:r,query:n.query,limit:n.limit,offset:n.offset};return n.report&&Array.isArray(n.report)&&n.report.length>0&&(a["report[]"]=n.report.join(",")),n.variant&&Array.isArray(n.variant)&&n.variant.length>0&&(a["variant[]"]=n.variant.join(",")),_e&&console.info("Typesense URL:",gt,a),_r.get(gt,{params:a}).then(i=>(_e&&(console.info("Typesense URL:",i.request.res.responseUrl),console.info("Typesense Results",i.data.data.results.length)),i.data.data)).catch(i=>(console.error("Typesense Call Error:",i),[]))}}]));return Object.fromEntries(await Promise.all(t))}var kn=Ji;var{localeDefault:eo}=G();function ht(e){let{search:t,report:r}=e;return o;async function o(n){let a=n.origin||"flexsearch",s=process.env.REPORTS_EXTERNAL_SEARCH&&a==="typesense",{query:i,locale:c,preferredLocale:l,limit:p,format:u,visible:d,variant:m,dimension:f,report:h,all:R,noImage:T,includes:k,sort:x,direction:S="ASC",offset:b=0}=n,F=Kt.find(I=>I.locales.includes(c))?.charset||"latin",B=p&&!isNaN(p)?p:20,W=$e(i,F!=="arabic");function H(I){return I.toJSON()}function M(I){let z=I.getContent(c);return {...I.toJSON(),locale:z.locale,name:z.name,attributes:z.attributes,keywords:z.keywords}}if(s){let I=await kn(),z=I[c]||I[eo],v={query:W===""?"*":W,limit:B,variant:m,report:h,offset:b};return await z.search(v)}else {let I=[],z=await Ge(e);if(i&&i!==""&&z[c]){let L=$e(i,F!=="arabic"),C={query:L,limit:B},ae=await z[c].search(C);if(s?I=ae.data.results.map(pe=>parseInt(pe.content_id,10)):I=ae.reduce((pe,le)=>pe.concat(le.result),[]),I=lr(I),l&&z[l]){let le=z[l].search(L).reduce((st,it)=>st.concat(it.result),[]);le=lr(le),I=lr([...I,...le]);}}let v={...d?{visible:d}:{},...T?{image_id:{[Op.eq]:null}}:{},...m.length?{variant_id:m}:{},...f.length?{dimension_id:f}:{},...h.length?{report_id:h}:{}},_={locale:R?{[Op.ne]:null}:c},N=i&&i!==""&&I.length?[[literal(`array_position(array[${I.join(",")}], "content_id")`),"ASC"]]:[["zvalue","DESC NULLS LAST"]];x&&x!=="name"&&N.unshift([x,S.toUpperCase()]),i&&i!==""&&(v.content_id=I);let A=[{association:"contentByLocale",where:_}];k&&A.push({association:"report",attributes:["id","name"]},{association:"dimension",attributes:["id","name"]},{association:"variant",attributes:["id","slug","name"]});let w={...v.visible?{visible:v.visible}:{},...v.noImage?{image_id:v.noImage}:{},...v.content_id?{content_id:v.content_id}:{}};if(!v.report_id&&!v.dimension_id&&!v.variant_id&&d){let C=(await r.findAll({attributes:["id"],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!0)]}})).map(ae=>ae.id);C.length>0&&(v.report_id={[Op.notIn]:C},w.report_id=v.report_id);}let V=[],[Q,Y]=await Promise.all([t.findAll({limit:B,offset:b,where:v,include:A,order:N}),t.findAll({attributes:["variant_id",[fn$1("COUNT",col("variant_id")),"members_count"]],where:w,group:["variant_id"]})]),Re=Y.map(L=>L.toJSON());if(x==="name"){let L=S.toUpperCase()==="ASC"?1:-1;Q.sort((C,ae)=>{let pe=C.getContent(eo),le=ae.getContent(eo);return pe&&le?pe.name>le.name?1*L:-1*L:0});}let K=u==="nested"?H:M;return V=Q.map(K),u!=="nested"&&V.forEach(L=>{let{name:C,keywords:ae,score:pe=.1,zvalue:le}=L;if(C){let st=$e(C),it=pe,Uo=i.length/st.length,Fo=st.split("").reduce((Fr,Vo,zo)=>(i.slice(0,zo),i.charAt(zo)===Vo&&(Fr+=Vo),Fr),"").length;st===i||ae&&ae.includes(i)?it=1e6:st.startsWith(i)?it*=20*Uo:Fo&&(it*=Fo*Uo),L.zvalue=it*2+le;}}),{meta:{origin:"flexsearch",...Object.fromEntries(Object.entries(n).map(L=>[L[0],j(L[1])])),variantCount:Re.reduce((L,C)=>(L[C.variant_id]=parseInt(C.members_count,10),L),{})},results:V}}}}function Pn(e){let{image:t,image_content:r,search:o,search_content:n}=e;return a;async function a(s){let{content_id:i,contentByLocale:c,image:l,image_id:p}=s,u={where:{content_id:i}},d=await o.findOne(u);if(await o.update(s,{where:{content_id:i}}),c){for(let f=0;f<c.length;f++){let h=c[f];await n.update({name:h.name,keywords:h.keywords},{where:{id:h.id,locale:h.locale}});}u={...u,...{include:[{association:"contentByLocale",separate:!0}]}};}if(l){if(l.id&&(await t.update({...l},{where:{id:l.id}}),l.contentByLocale))for(let m=0;m<l.contentByLocale.length;m++){let f=l.contentByLocale[m];await r.update({meta:f.meta},{where:{id:f.id,locale:f.locale}});}}else !p&&d.image_id&&(await e.search.findAll({where:{image_id:d.image_id}})).length===0&&await t.destroy({where:{id:d.image_id}});return o.findOne(u)}}function wn(e){return {ingestMembers:An(e),readMember:Tn(e),searchMember:ht(e),updateMember:Pn(e),readMemberImage:vn(e)}}var je={include:[{association:"contentByLocale",separate:!0},{association:"inputs",include:[{association:"contentByLocale",separate:!0}]},{association:"consumers",include:[{association:"contentByLocale",separate:!0}]}]},Ht=e=>({include:[{association:"variants",separate:!0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:e,as:"members",attributes:[]}],group:["variant.id"]}],order:[["ordering","ASC"]]}),Wt={include:[{association:"blocks",separate:!0,...je}]},br=e=>({include:[{association:"dimensions",separate:!0,...Ht(e)},{association:"sections",separate:!0,...Wt}]});var ge=[{association:"image",attributes:{exclude:["splash"]},include:[{association:"contentByLocale"}]},{association:"contentByLocale"}];function xn(e){let{block:t,block_content:r,block_input:o}=e;return {createBlock:n,readBlock:s,updateBlock:i,deleteBlock:l,createBulkBlock:a,updateBulkBlock:c};async function n(p){let{locales:u,...d}=p;return (await t.create({...d,consumers:[],inputs:[],contentByLocale:u.map(f=>({locale:f}))},{include:je.include})).toJSON()}async function a(p){let u=p.map(m=>{let{locales:f,...h}=m;return {...h,consumers:[],inputs:[],contentByLocale:f.map(T=>({locale:T}))}});return (await t.bulkCreate(u,{include:je.include})).map(m=>m.toJSON())}async function s({id:p,include:u}={}){let d=p==null?[]:[].concat(p),m=await t.findAll({where:d.length>0?{id:d}:void 0,include:u?je.include:void 0});if(d.length===0||m.length===d.length)return m.map(R=>R.toJSON());let f=m.map(R=>R.id),h=d.filter(R=>!f.includes(R));throw new E(404,`Block(id=[${h}]) does not exist.`)}async function i(p){let{id:u,contentByLocale:d,consumers:m,inputs:f,inputAction:h,...R}=p,T=await t.findByPk(u,{include:je.include,rejectOnEmpty:!0});if(T.set(R),d){let k=Object.values(d);await r.bulkCreate(k,{updateOnDuplicate:["content"]});}return h&&(h.operation==="create"?await o.create(h.input):await o.destroy({where:h.input})),await T.save(),await T.reload(),T.toJSON()}async function c(p){let u=p.map(f=>{let{id:h,contentByLocale:R,consumers:T,inputs:k,inputAction:x,...S}=f;return {id:h,contentByLocale:R,inputAction:x,...S}}),d=await t.findAll({where:{id:{[Op.or]:u.map(f=>f.id)}},include:je.include}),m=[];for(let f of d){let h=u.filter(R=>R.id===f.id);for(let R=0;R<h.length;R++){let T=h[R],{id:k,contentByLocale:x,inputAction:S,...b}=T;if(S&&(S.operation==="create"?await o.create(S.input):await o.destroy({where:S.input})),x){let O=Object.values(x);await r.bulkCreate(O,{updateOnDuplicate:["content"]});}f.set(b),await f.save(),await f.reload(),m.push(f.toJSON());}}return m}async function l(p){let u=await t.findByPk(p,{rejectOnEmpty:!0});return await u.destroy(),{id:p,parentType:"section",parentId:u.section_id}}}function In(e){let{dimension:t,search:r}=e;return {createDimension:o,readDimension:n,updateDimension:a,deleteDimension:s};async function o(i){return (await t.create({name:i.name,report_id:i.report_id,variants:[]},{include:Ht(r).include})).toJSON()}async function n({id:i,include:c}={}){let l=i==null?[]:[].concat(i),p=await t.findAll({where:l.length>0?{id:l}:void 0,include:c?Ht(r).include:void 0});if(l.length===0||p.length===l.length)return p.map(m=>m.toJSON());let u=p.map(m=>m.id),d=l.filter(m=>!u.includes(m));throw new E(404,`Dimension(id=[${d}]) does not exist.`)}async function a(i){let{id:c,variants:l,...p}=i,u=await t.findByPk(c,{include:Ht(r).include,rejectOnEmpty:!1});if(!u)throw new E(404,`Dimension(id=${c}) does not exist.`);return u.set(p),await u.save(),u.toJSON()}async function s(i){let c=await t.findByPk(i,{rejectOnEmpty:!1});return await c.destroy(),{id:i,parentType:"report",parentId:c.report_id}}}function Cn(e){let{formatter:t}=e;return {createFormatter:r,readFormatter:o,updateFormatter:n,deleteFormatter:a};async function r(s){return (await t.create(s)).toJSON()}async function o({id:s}={}){let i=s==null?[]:[].concat(s),c=await t.findAll({where:i.length>0?{id:i}:void 0});if(i.length===0||c.length===i.length)return c.map(u=>u.toJSON());let l=c.map(u=>u.id),p=i.filter(u=>!l.includes(u));throw new E(404,`Formatter(id=[${p}]) does not exist.`)}async function n(s){let{id:i,...c}=s,l=await t.findByPk(i,{rejectOnEmpty:!0});return await l.update(c),l.toJSON()}async function a(s){return await(await t.findByPk(s,{rejectOnEmpty:!0})).destroy(),{id:s}}}var{locales:ic}=G();function Bn(e){let{report:t,search:r}=e;return {createReport:o,readReport:n,updateReport:a,deleteReport:s};async function o(i){return (await t.create({name:i.name,sections:[],dimensions:[]},{include:br(r).include})).toJSON()}async function n({id:i,include:c,locales:l=ic}={}){let u=(i==null?[]:[].concat(i)).reduce((h,R)=>(h.includes(R)||h.push(R),h),[]),d=await t.findAll({where:u.length>0?{id:u}:void 0,include:c?br(r).include?.filter(h=>typeof c=="string"?h.association===c:c):void 0});if(u.length===0||d.length===u.length)return d.map(h=>{let R=h.toJSON();return {...R,sections:R.sections.map(T=>({...T,blocks:T.blocks.map(k=>({...k,contentByLocale:Object.keys(k.contentByLocale).reduce((x,S)=>({...x,...[...l,"logic"].includes(S)?{[S]:k.contentByLocale[S]}:{}}),{})}))}))}});let m=d.map(h=>h.id),f=u.filter(h=>!m.includes(h));throw new E(404,`Report(id=${f}) does not exist.`)}async function a(i){let{id:c,dimensions:l,sections:p,...u}=i,d=await t.findByPk(c,{include:br(r).include,rejectOnEmpty:!1});if(!d)throw new E(404,`Report(id=${c}) does not exist.`);return d.set(u),await d.save(),await d.reload(),d.toJSON()}async function s(i){return await(await t.findByPk(i,{rejectOnEmpty:!1})).destroy(),{id:i}}}function Ln(e){let{section:t}=e;return {createSection:r,readSection:o,updateSection:n,deleteSection:a};async function r(s){return (await t.create({ordering:s.ordering,report_id:s.report_id,blocks:[]},{include:Wt.include})).toJSON()}async function o({id:s,include:i}={}){let c=s==null?[]:[].concat(s),l=await t.findAll({where:c.length>0?{id:c}:void 0,include:i?Wt.include:void 0});if(c.length===0||l.length===c.length)return l.map(d=>d.toJSON());let p=l.map(d=>d.id),u=c.filter(d=>!p.includes(d));throw new E(404,`Section(id=${u}) does not exist.`)}async function n(s){let{id:i,blocks:c,...l}=s,p=await t.findByPk(i,{include:Wt.include,rejectOnEmpty:!1});return p.set(l),await p.save(),await p.reload(),p.toJSON()}async function a(s){let i=await t.findByPk(s,{rejectOnEmpty:!0});return await i.destroy(),{id:s,parentType:"report",parentId:i.report_id}}}function Nn(e,t){let{variant:r,search:o}=e;return {createVariant:n,readVariant:a,updateVariant:s,deleteVariant:i,validateVariantSlug:c};async function n(l){let{dimension_id:p,name:u,slug:d}=l,m=await c({dimension:p,slug:d});return (await r.create({dimension_id:p,name:u,slug:m.valid?m.candidate:m.suggestion})).toJSON()}async function a({id:l}={}){let p=l==null?[]:[].concat(l),u=await r.findAll({where:p.length>0?{id:p}:void 0,attributes:{include:[[fn$1("COUNT",col("members.id")),"members_count"]]},include:[{model:o,attributes:[],as:"members"}],group:["variant.id"]});if(p.length===0||u.length===p.length)return u.map(f=>f.toJSON());let d=u.map(f=>f.id),m=p.filter(f=>!d.includes(f));throw new E(404,`Variant(id=${m}) does not exist.`)}async function s(l){let{id:p,...u}=l,d=await r.findByPk(p,{include:[{association:"dimension"}],rejectOnEmpty:!0});u.settings=jt(u.settings);let m=u.settings.doIngest;return u.settings.doIngest=!1,await d.update(u),m&&(await t.ingestMembers(d),await Ge(e,!0)),await d.reload(),d.toJSON()}async function i(l){let p=await r.findByPk(l,{rejectOnEmpty:!0});return await p.destroy(),Ge(e,!0),{id:l,parentType:"dimension",parentId:p.dimension_id}}async function c({dimension:l,slug:p}){let u=await r.findAll({attributes:["slug",[fn$1("COUNT",col("id")),"slugCount"]],where:{dimension_id:{[Op.ne]:l}},group:"slug"}).then(h=>Object.fromEntries(h.map(R=>{let T=R.getDataValue("slugCount");return [R.slug,Number.parseInt(`${T}`,10)]}))),d=p,m=1,f=!0;for(;u[d];)f=!1,d=`${p}-${m}`,m++;return {candidate:p,dimension_id:l,suggestion:d,valid:f}}}function Dn(e){let t={...xn(e),...In(e),...Cn(e),...wn(e),...Bn(e),...Ln(e)},r={...t,...Nn(e,t)};return {createFormatter:P(r.createFormatter),deleteFormatter:P(r.deleteFormatter),readFormatter:P(r.readFormatter),updateFormatter:P(r.updateFormatter),createReport:P(r.createReport),deleteReport:P(r.deleteReport),readReport:P(r.readReport),updateReport:P(r.updateReport),createDimension:P(r.createDimension),deleteDimension:P(r.deleteDimension),readDimension:P(r.readDimension),updateDimension:P(r.updateDimension),createVariant:P(r.createVariant),readVariant:P(r.readVariant),updateVariant:P(r.updateVariant),deleteVariant:P(r.deleteVariant),validateVariantSlug:P(r.validateVariantSlug),createSection:P(r.createSection),readSection:P(r.readSection),updateSection:P(r.updateSection),deleteSection:P(r.deleteSection),createBlock:P(r.createBlock),deleteBlock:P(r.deleteBlock),readBlock:P(r.readBlock),updateBlock:P(r.updateBlock),createBulkBlock:P(r.createBulkBlock),updateBulkBlock:P(r.updateBulkBlock),readMember:P(r.readMember),searchMember:P(r.searchMember),updateMember:P(r.updateMember),readMemberImage:P(r.readMemberImage)}}var Un=e=>{throw console.error("/methods/helpers/uploadImage.ts:",e),new Error(e.message)},uc=Number(process.env.NEXT_PUBLIC_IMAGE_SPLASH_WIDTH)||1400,pc=Number(process.env.NEXT_PUBLIC_IMAGE_THUMB_WIDTH)||400,dc=async(e,t,r)=>{let o=[{type:"splash",res:uc},{type:"thumb",res:pc}];for(let n of o){let a=await lc(r).resize(n.res).toFormat("webp").webp({lossless:!0}).toBuffer().catch(Un);await e.image.update({[n.type]:a},{where:{id:t}}).catch(Un);}},ke=dc;var Fn="|||";var Vn="SECTION_ALLOWED";var zn=["4","5","7","8","9","10"],gc=zn.join(),{locales:hc}=G(),Pe;if(process.env.FLICKR_API_KEY)try{Pe=new yc(process.env.FLICKR_API_KEY);}catch(e){throw console.error("Flickr ERROR:",e),new Error(e.message)}async function qn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Pe)throw console.warn("Flickr is not initialized. Check the credentials"),new Error("Flickr is not initialized. Check the credentials");let o=r.prompt,a=(await Pe.photos.search({text:o,license:gc,sort:"relevance",per_page:24,page:r.page,content_types:"0",orientation:"landscape"}).then(l=>l.body)).photos.photo,s=a.reduce((l,p)=>l.concat(Pe.photos.getSizes({photo_id:p.id})),[]),c=(await Promise.all(s).then(l=>l)).reduce((l,p,u)=>{let d=p.body.sizes.size.find(m=>m.label==="Small 320");return d&&l.push({id:a[u].id,source:d.source}),l},[]);return {meta:{prompt:j(r.prompt),page:j(`${r.page}`)},results:c}}catch(r){throw console.error(r),new Error("Error in search flickr provider")}}async function $n(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:j(`${r}`)||"",id:j(`${o}`)||""},s=`https://flic.kr/p/${fc.int_to_base58(o)}`;if(!Pe)throw new Error("Flickr API Key not configured");let i=await Pe.photos.getInfo({photo_id:o}).then(l=>l.body),c;if(i)if(zn.includes(i.photo.license)){let l=await e.search.findOne({where:{content_id:r}}),p=await e.image.findOne({where:{url:s}});if(l){if(p)await e.search.update({image_id:p.id},{where:{content_id:r}});else {let d=await Pe.photos.getSizes({photo_id:o}).then(S=>S.body),m=d.sizes.size.find(S=>parseInt(S.width,10)>=1600);if(m||(m=d.sizes.size.find(S=>parseInt(S.width,10)>=1e3)),m||(m=d.sizes.size.find(S=>parseInt(S.width,10)>=500)),!m||!m.source)throw new Error("Flickr Source Error, try another image.");let f=await _r.get(m.source,{responseType:"arraybuffer"}).then(S=>S.data),R=(await Pe.photos.licenses.getInfo().then(S=>S.body.licenses.license)).find(S=>S.id===parseInt(i.photo.license,10)),T={url:s,author:i.photo.owner.realname||i.photo.owner.username,license:R?`${R.name}: ${R.url}`:""},k=await e.image.create(T);await e.image_content.destroy({where:{id:k.id}});let x=hc.map(S=>({id:k.id,locale:S,meta:i.photo.title._content}));await e.image_content.bulkCreate(x),await e.search.update({image_id:k.id},{where:{content_id:r}}),await ke(e,k.id,f);}let u=await e.search.findOne({where:{content_id:r},include:ge});u&&u.image&&(u.image.thumb=!!u.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Bad License");else throw new Error("Malformed URL");return {meta:{...n},results:c}}catch(r){throw console.error(r),new Error("Error in save flickr provider")}}function U(e,t,r,o){return {method:e,path:t,handler:r,roleRequired:o}}function Z(e){let t=Number.parseInt(`${e||""}`,10);if(Number.isNaN(t)||!Number.isFinite(t))throw new E(400,`Invalid numeric parameter: ${e}`);return t}function q(e){return e==null||e===""?[]:Array.isArray(e)?e:e.toString().split(",")}var{localeDefault:we}=G();function Gn(e){let{readMember:t,searchMember:r,updateMember:o,readMemberImage:n}=e;return [U("GET","read/members",async a=>{let s=Rc(a.query),i=s[s.mode]||[],c=s.mode==="whole";if(!c&&i.length===0)throw new E(400,`The request is missing the '${s.mode}' parameter.`);if(!c&&i.length>20&&!s.variant)throw new E(400,`You can look for up to 20 '${s.mode}' in a single request.`);return t(s)}),U("GET","search/members",a=>{let s=Jt(a.query);return r(s)}),U("POST","update/member",a=>{let{body:s}=a;return o(s)},[$.EDITOR]),U("GET","member/image",a=>{let s=q(a.query.size)[0];return n({member:Z(a.query.member),size:s&&s==="splash"?"splash":"thumb"})})]}function Rc(e){let t=q(e.locale)[0]||we||"en",r=t==="all"||Sr(e.all),o=q(e.mode)[0],a=(q(e.output)[0]||"full")==="lite"?"lite":"full",s=parseInt(q(e.related)[0],10)||5,i=q(e.variant).map(Z);if(i.length===0&&(i=q(e["variant[]"]).map(Z)),o==="ids")return {all:r,mode:o,variant:i,output:a,locale:r?we:j(t),ids:q(e.ids||e["ids[]"])};if(o==="content_ids")return {all:r,mode:o,variant:i,output:a,locale:r?we:j(t),content_ids:q(e.content_ids||e["content_ids[]"]).map(Z)};if(o==="slugs")return {all:r,mode:o,variant:i,output:a,locale:r?we:j(t),slugs:q(e.slugs||e["slugs[]"]).map(c=>{let[l,p]=c.split("/");return {variantSlug:l,memberSlug:p}})};if(o==="related")return {all:r,mode:o,locale:r?we:j(t),related:s,current_ids:q(e.current_ids||e["current_ids[]"]).map(Z),include_ids:q(e.include_ids||e["include_ids[]"]).map(Z),report_ids:q(e.report_ids||e["report_ids[]"]).map(Z),dimension_ids:q(e.dimension_ids||e["dimension_ids[]"]).map(Z),variant_ids:q(e.variant_ids||e["variant_ids[]"]).map(Z),output:a};if(o==="whole")return {all:r,mode:o,variant:i,locale:r?we:j(t),output:a};throw new E(400,`Invalid mode: '${o}'`)}function Jt(e){let t=q(e.locale)[0]||we||"en",r=t==="all",o=q(e.format)[0],n=o?o==="nested":r,a=q(e.variant).map(Z);a.length===0&&(a=q(e["variant[]"]).map(Z));let s=q(e.dimension).map(Z);s.length===0&&(s=q(e["dimension[]"]).map(Z));let i=q(e.report).map(Z);i.length===0&&(i=q(e["report[]"]).map(Z));let c=e.origin==="typesense"?"typesense":"flexsearch";return {query:q(e.query||e.q)[0]||"",locale:r?we:t,preferredLocale:q(e.preferredLocale)[0],limit:q(e.limit).map(Z)[0]??5,format:n?"nested":"plain",includes:Sr(e.includes,{default:!0}),visible:Sr(e.visible,{default:!0}),noImage:Sr(e.noImage,{default:!1}),variant:a,dimension:s,report:i,all:r,sort:q(e.sort)[0],direction:q(e.direction)[0],offset:Number(e.offset||0),origin:c}}async function jn(e,t){let r=ht(e),o=Jt({query:t.prompt,limit:"50",visible:"false"}),a=(await r(o)).results.filter(s=>s.image_id).map(s=>({id:s.image_id,source:`/api/cms/member/image?member=${s.content_id}&size=thumb`}));return {meta:{prompt:j(o.query)},results:a}}async function Kn(e,t){let{search:r}=e,{content_id:o,image_id:n}=t;await r.update({image_id:n},{where:{content_id:o}});let a=await r.findOne({where:{content_id:o},include:ge}).then(s=>s?{...s.toJSON(),image:{...s.image.toJSON(),thumb:!!s.image.thumb}}:null);return {meta:{id:n,content_id:o},results:a}}var{locales:Ec}=G(),Yt;if(process.env.UNSPLASH_API_KEY)try{Yt=createApi({accessKey:process.env.UNSPLASH_API_KEY});}catch(e){throw console.error("Unsplash error:",e),new Error(e.message)}async function Hn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Yt)throw new Error("Unsplash API Key not configured");let o=r.prompt,a=(await Yt.search.getPhotos({query:o,perPage:24,page:r.page,orientation:"landscape"}).then(s=>s.response.results)).map(s=>({id:s.id,source:s.urls.thumb}));return {meta:{prompt:j(r.prompt),page:j(`${r.page}`)},results:a}}catch(r){throw console.error(r),new Error("Error in search unsplash provider")}}async function Wn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:j(`${r}`)||"",id:j(`${o}`)||""};if(!Yt)throw console.warn("Unsplash is not initialized. Check the credentials"),new Error("Unsplash is not initialized. Check the credentials");let a=await Yt.photos.get({photoId:o}).then(i=>i.response),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.links.html,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await _r.get(a.urls.full,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.user.name||a.user.username,license:"Free Unsplash license: https://unsplash.com/license"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let f=Ec.map(h=>({id:m.id,locale:h,meta:a.description||a.alt_description}));await e.image_content.bulkCreate(f),await e.search.update({image_id:m.id},{where:{content_id:r}}),await ke(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:ge});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.error(r),new Error("Error in save unsplash provider")}}var{locales:Tc}=G();async function Jn(e,t){try{let{content_id:r,image_source:o,files:n}=t,a={content_id:j(`${r}`)||""};if(await e.search.findOne({where:{content_id:r}})&&n){let c=await Ac.readFileSync(n.file.filepath),l={url:o,author:"",license:""},p=await e.image.create(l);await e.image_content.destroy({where:{id:p.id}});let u=Tc.map(d=>({id:p.id,locale:d,meta:""}));await e.image_content.bulkCreate(u),await e.search.update({image_id:p.id},{where:{content_id:r}}),await ke(e,p.id,c);}let i=await e.search.findOne({where:{content_id:r},include:ge});return i&&i.image&&(i.image.thumb=!!i.image.thumb),{meta:{...a},results:i}}catch(r){throw console.error(r),new Error("Error in save upload provider")}}var{locales:vc}=G();var Yn=async e=>{let t={"x-api-key":process.env.ADOBE_STOCK_API_KEY||"EMPTY_ADOBE_KEY","X-Product":"BespokeApp/0.1"};return e&&(t.Authorization=`Bearer ${e}`),t};var Qt;if(process.env.ADOBE_STOCK_API_KEY)try{Qt={search:async(e,t)=>await _r.get("https://stock.adobe.io/Rest/Media/1/Search/Files",{headers:await Yn(!1),params:{locale:"en_US","search_parameters[limit]":24,"search_parameters[offset]":t*24,"search_parameters[words]":e,"search_parameters[filters][content_type:photo]":"1","search_parameters[filters][content_type:image]":"1","search_parameters[filters][orientation]":"horizontal",result_columns:["id","stock_id","thumbnail_url","is_licensed"]}}).then(r=>r.data.files),get:async e=>await _r.get("https://stock.adobe.io/Rest/Media/1/Files",{headers:await Yn(!1),params:{locale:"en_US",ids:e,result_columns:["id","thumbnail_url","creator_name","title","thumbnail_1000_url","details_url","category"]}}).then(t=>t.data.files[0])};}catch{}async function Qn(e,t){try{let r={prompt:t.prompt||"",page:t.page||1};if(!Qt)throw new Error("Adobe API Key not configured");let n=(await Qt.search(r.prompt,r.page)).map(a=>({id:a.id,source:a.thumbnail_url}));return {meta:{prompt:j(r.prompt),page:j(`${r.page}`)},results:n}}catch(r){throw console.error(r),new Error("Error in search Adobe provider")}}async function Zn(e,t){try{let{content_id:r,image_id:o}=t,n={content_id:j(`${r}`)||"",id:j(`${o}`)||""};if(!Qt)throw console.warn("Adobe is not initialized. Check the credentials"),new Error("Adobe is not initialized. Check the credentials");let a=await Qt.get(o),s;if(a){let i=await e.search.findOne({where:{content_id:r}}),c=a.details_url,l=await e.image.findOne({where:{url:c}});if(i){if(l)await e.search.update({image_id:l.id},{where:{content_id:r}});else {let u=await _r.get(a.thumbnail_1000_url,{responseType:"arraybuffer"}).then(h=>h.data),d={url:c,author:a.creator_name,license:"ADOBE, TO-DO"},m=await e.image.create(d);await e.image_content.destroy({where:{id:m.id}});let f=vc.map(h=>({id:m.id,locale:h,meta:a.title||a.description}));await e.image_content.bulkCreate(f),await e.search.update({image_id:m.id},{where:{content_id:r}}),await ke(e,m.id,u);}let p=await e.search.findOne({where:{content_id:r},include:ge});p&&p.image&&(p.image.thumb=!!p.image.thumb);}else throw new Error("Error updating Search")}else throw new Error("Malformed URL");return {meta:{...n},results:s}}catch(r){throw console.error(r),new Error("Error in save adobe provider")}}var _c={local:Kn,flickr:$n,unsplash:Wn,upload:Jn,adobe:Zn};function bt(e,t){let r=_c[t];if(!r)throw new E(500,`Wrong provider dbImageSaveFactory.ts: ${t}`);return P(o=>r(e,o))}var kc={local:jn,flickr:qn,unsplash:Hn,adobe:Qn};function Zt(e,t){let r=kc[t];if(!r)throw new E(500,`Wrong provider dbImageSearchFactory.ts: ${t}`);return P(o=>r(e,o))}var Lc=e=>(e.dimensions&&e.dimensions.forEach(t=>{t.variants&&t.variants.forEach(r=>{r.members_count&&(r.members_count=parseInt(r.members_count,10));});}),e);function Ar(e){let{report:t,search:r}=e;return o;async function o(n){return {data:(await t.findAll({attributes:["id","name",[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"],[literal("COALESCE(NULLIF(settings ->> 'hide', '')::BOOL, false)"),"hide"]],where:{[Op.or]:[where(cast(json("settings.hide"),"boolean"),!1),literal("NOT (settings::jsonb ? 'hide')")]},order:[["ordering","ASC"]],include:[{attributes:["id","name","ordering"],association:"dimensions",separate:!0,order:[["ordering","ASC"]],include:[{attributes:["id","name","slug",[fn$1("COUNT",col("members.id")),"members_count"],[literal("COALESCE(NULLIF(settings ->> 'order', '')::INTEGER, 0)"),"ordering"]],include:[{model:r,attributes:[],as:"members",where:{visible:!0}}],association:"variants",separate:!0,group:["variant.id"],order:[["ordering","ASC"]]}]}]})).map(s=>({...Lc(s.toJSON()),mode:s.dimensions.length===1?ve.UNILATERAL:ve.MULTILATERAL}))}}}function Xn(e){return async()=>(await Ge(e,!0),{error:!1})}var{locales:Oc,localeDefault:Mc}=G(),Nc=(e,t)=>{if(!e)return [];let r=[];return t.forEach(o=>{let n=e.filter(a=>a.metadata.report.id===o.id);if(n.length>0)if(o.mode===ve.UNILATERAL){let a=o.dimensions[0];a.variants.forEach(s=>{let i=n.filter(c=>c.metadata.dimension.id===a.id&&c.metadata.variant.id===s.id);i.length>0&&(r=r.concat(i.map(c=>({path:`/${s.slug}/${c.slug}`,name:c.name,confidence:c.confidence,report:{id:o.id,name:o.name,mode:o.mode},members:[c],id:`r-${o.id}-${[c].map(l=>`${l.id}`).join("-")}`}))));});}else o.mode;}),r},Dc=(e,t)=>{if(!e)return [];let r,o,n;return e.map(a=>(r={...t.find(s=>s.id===a.report_id)},o={...r.dimensions.find(s=>s.id===a.dimension_id)},n={...o.variants.find(s=>s.id===a.variant_id)},delete r.dimensions,delete o.variants,{name:a.name,confidence:a.zvalue,metadata:{id:a.id,slug:a.slug,report:r,dimension:o,variant:n},id:a.content_id,slug:a.slug}))};function ea(e){let t=ht(e),r=Ar(e);return o;async function o(n){let a=n.format||"results",s=Oc.includes(n.locale)?n.locale:Mc,i=n.origin||"flexsearch",c=process.env.REPORTS_EXTERNAL_SEARCH&&i==="typesense",l=await t({...n,format:"plain",locale:j(s),visible:!0});if(c)return l;{let p=l.results?l.results:[],d=(await r()).data,m=Dc(p,d);return {meta:{...l.meta,origin:"flexsearch",format:a},results:Nc(m,d)}}}}function ta(){return async e=>{let t=typeof e=="string"?{url:e}:e;try{let r=await _r.request(t);return {ok:!0,status:r.status,data:r.data}}catch(r){throw new E(r.response?.status||500,r.message)}}}function ra(e){return async t=>{try{let{variantPaths:r}=t,o=[];if(r)for(let n=0;n<r.length;n++){let a=r[n];(await e.search.findAll({attributes:["slug"],where:{variant_id:a.variantId}})).forEach(i=>{o.push(`/${a.prefix}/${a.variantSlug}/${i.slug}`);});}return {...t,paths:o,revalidated:0,samples:[]}}catch(r){throw new E(r.response?.status||500,r.message)}}}function oa(){return async e=>{try{let{target:t}=e;return {target:t}}catch(t){throw new E(t.response?.status||500,t.message)}}}function Ke(e,t){let r=[],o=a=>Object.values(t).reduce((i,c)=>("inputs"in c&&c.inputs.includes(a)&&(i.push(c.id),i=i.concat(o(c.id))),i),[]);e.forEach(a=>{r=r.concat(o(a));});let n=[];return r.forEach(a=>{n.includes(a)||n.push(a);}),n}function Vc(e,t){return e.some(r=>t.includes(`role.${r}`))}function na(e){let{report:t}=e;return r;async function r(o){let n=await t.findByPk(o.report_id,{include:{association:"sections",separate:!0,where:{id:o.section_id},include:[{association:"blocks",separate:!0,include:[{association:"contentByLocale",separate:!0,where:{locale:{[Op.or]:[o.locale,"logic"]}}},{association:"inputs"},{association:"consumers"}]}]}}).then(s=>s&&s.sections&&Array.isArray(s.sections)?s.sections.reduce((i,c)=>{let l=c.blocks.map(p=>{let u=p.toJSON();return u.inputs=u.inputs.map(d=>d.id),u.consumers=u.consumers.map(d=>d.id),u});return i.concat(l)},[]):[]),a=n.filter(s=>s.settings&&s.settings.access&&Array.isArray(s.settings.access)&&Array.isArray(o.roles)&&(s.settings.access.includes("private")||Vc(o.roles,s.settings.access))).map(s=>s.id);return a=a.concat(Ke(a,n)),{params:{...o},data:n.filter(s=>a.includes(s.id))}}}var $c=Object.keys(ro).filter(e=>e.indexOf("Icon")===0);async function aa(){return {meta:{provider:"tabler"},results:$c}}async function sa(e){let t=ro[e.name]?ro[e.name]:()=>"";return renderToString(createElement(t))}var Gc={tabler:aa};function ia(e){let t=Gc[e];if(!t)throw new E(500,`Wrong provider dbListIconsFactory.ts: ${e}`);return P(()=>t())}var jc={tabler:sa};function ca(e){return P(t=>{let r=jc[e];if(!r)throw new E(500,`Wrong provider dbReadIconFactory.ts: ${t.provider}`);return r({name:t.name,provider:e})})}function He(e,t,r){return qe().then(o=>{Object.assign(r,St(o));})}function St(e,t){let r={},o=Ce(t||{providers:[]});return t&&o.actions&&o.source==="custom"?(r.searchRole=P(o.actions.searchRole()),r.searchUser=P(o.actions.searchUser()),r.readUser=P(o.actions.readUser()),r.updateUser=P(o.actions.updateUser())):o.source==="auth0"&&(r.searchRole=P(Ko()),r.searchUser=P(Ho()),r.readUser=P(Wo()),r.updateUser=P(Jo())),{...Dn(e),searchReport:P(ea(e)),readMetadata:P(Ar(e)),regenerateSearch:P(Xn(e)),imageFlickrSearch:Zt(e,"flickr"),imageLocalSearch:Zt(e,"local"),imageUnsplashSearch:Zt(e,"unsplash"),imageAdobeSearch:Zt(e,"adobe"),imageFlickrSave:bt(e,"flickr"),imageLocalSave:bt(e,"local"),imageUnsplashSave:bt(e,"unsplash"),imageUploadSave:bt(e,"upload"),imageAdobeSave:bt(e,"adobe"),urlProxy:ta(),searchRole:r.searchRole,searchUser:r.searchUser,readUser:r.readUser,updateUser:r.updateUser,updateMyData:P(Yo()),revalidateReport:P(ra(e)),revalidateUrl:P(oa()),readPrivateBlocks:P(na(e)),listTablerIcons:ia("tabler"),readTablerIcon:ca("tabler")}}async function oo(e){try{let t=new Kc.IncomingForm,r=await new Promise((o,n)=>{t.parse(e,(a,s,i)=>{if(a){console.error("Error in formidable parse function inside internal parseBody.ts",a),n(a);return}o({fields:s,files:i});});});return {...r.fields,files:r.files}}catch(t){return {error:t}}}function We(e,t){let r=ne(e,"create",t),o=ne(e,"read",t),n=ne(e,"update",t),a=ne(e,"delete",t),s=ne(e,"updateBulk",t),i=ne(e,"createBulk",t);return [U("POST",`create/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return i(d)},[$.EDITOR]),U("POST",`create/${t}`,c=>{let{body:l}=c;return r(l)},[$.EDITOR]),U("GET",`read/${t}`,c=>{let l=c.query,p=q(l.id).map(Z);return o({id:p,include:Sr(l.include)})}),U("POST",`update/${t}`,c=>{let{body:l}=c;return n(l)},[$.EDITOR]),U("POST",`update/bulk/${t}`,c=>{let{body:l}=c,{files:p,...u}=l,d=Object.keys(u).map(m=>u[m]);return s(d)},[$.EDITOR]),U("DELETE",`delete/${t}`,c=>{let l=Z(c.query.id);return a(l)},[$.EDITOR])]}function la(e){let{validateVariantSlug:t}=e;return [...We(e,"variant"),U("GET","validate/variant",r=>{let o=r.query,n=Z(o.dimension);return t({dimension:n,slug:gr(o.slug)})},[$.EDITOR])]}function Et(e,t){let r=`image${ye(t)}Save`,o=e[r];return U("POST",`images/save/${t}`,n=>{let a=n.body;if(!a.content_id)throw new E(400,"Missing 'content_id' parameter.");if(!a.image_id)throw new E(400,"Missing 'image_id' parameter.");return o(a)},[$.EDITOR])}function Xt(e,t){let r=`image${ye(t)}Search`,o=e[r];return U("GET",`images/search/${t}`,async n=>{let a=q(n.query.prompt)[0];if(!a)throw new E(400,"Empty 'prompt' param.");return o({prompt:a,page:Z(n.query.page)})},[$.EDITOR])}function ua(e){let{readMetadata:t}=e;return U("GET","read/metadata",()=>t({}))}function pa(e){let{regenerateSearch:t}=e;return U("POST","search/regenerate",()=>t(void 0),[$.EDITOR])}function da(e){let{searchReport:t}=e;return U("GET","search/reports",r=>{let o=Wc(r.query);return t(o)})}function Wc(e){return {...Jt(e),format:q(e.format)[0]}}function ma(e){let{urlProxy:t}=e;return U("GET","url/proxy",r=>{let{url:o,method:n="GET"}=r.query;if(!o)throw new E(400,"Missing URL parameter");return t({url:Array.isArray(o)?o.join(","):o,method:q(n)[0]==="POST"?"POST":"GET"})})}function fa(e){let{readMetadata:t,revalidateReport:r}=e;return U("GET","revalidate/report",async(o,n)=>{let{reportId:a,profilePrefix:s}=o.query;if(!a||!s)throw new E(400,"Missing URL parameter in revalidate factory: reportId or profilePrefix");try{let i=parseInt(`${a}`,10),c=`${s}`.split("/").filter(f=>f!=="").join("/"),l=[],p=await t({}).then(f=>f.ok?f.data.data.find(h=>h.id===i):[]);p&&p.mode===ve.UNILATERAL&&p.dimensions.forEach(f=>{f.variants.forEach(h=>{l.push({prefix:c,variantId:h.id,variantSlug:h.slug});});});let u=await r({profilePrefix:c,reportId:i,variantPaths:l}),d=[],m=0;return u.ok&&(m=u.data.paths.length,d=u.data.paths.slice(0,5),Promise.all(u.data.paths.map(f=>{let h;try{h=n.revalidate(f,{unstable_onlyGenerated:!0});}catch(R){console.error("error",f,R);}return h}))),{ok:!0,status:200,data:{reportId:a,revalidated:m,samples:d}}}catch(i){throw console.error(i),new E(500,"Error revalidating")}},[$.EDITOR])}function ya(){return U("GET","revalidate/url",async(e,t)=>{let{target:r}=e.query;if(r)try{return t.revalidate(r,{unstable_onlyGenerated:!0}),{ok:!0,status:200,data:{target:r}}}catch(o){throw console.error(o),new E(500,"Error revalidating")}else throw new E(400,"Missing target parameter in revalidate factory")},[$.ADMIN,$.EDITOR,$.WRITER])}var{localeDefault:Jc}=G();function ga(e){let{readPrivateBlocks:t}=e;return U("POST","read/blocks/private",(r,o,n)=>{let a={report_id:parseInt(r.body.report_id,10),locale:r.body.locale||Jc,roles:n&&n.user?n.user.bespoke_roles:[],section_id:r.body.section_id||[]};return t(a)},[])}function ha(e){let{searchRole:t}=e;return U("GET","auth/search/roles",(r,o)=>t(""),[$.EDITOR,$.ADMIN])}function Ra(e){let{searchUser:t}=e;return U("GET","auth/search/users",r=>t({query:r.query.query,role_id:r.query.role_id,page:r.query.page||0}),[$.ADMIN])}function ba(e){let{readUser:t}=e;return U("GET","auth/read/user",r=>t(r.query.user_id),[$.ADMIN])}function Sa(e){let{updateUser:t,readUser:r}=e;return U("POST","auth/update/user",async(o,n,a)=>{let s=o.body,i=await t(s);return a&&a.user&&s.user_id===a.user.id&&(await r(a.user.id)).ok,i},[$.ADMIN])}function Ea(e){let{updateUser:t,readUser:r}=e;return U("POST","auth/update/me",async(o,n,a)=>{let{report_id:s,user_metadata:i}=o.body;console.log("auth/update/me","session",a);let c={user_id:a.user.id,user_metadata:{}};try{let{user:l}=a;return a&&l&&s&&(l.bespoke_app_metadata&&l.bespoke_app_metadata.reports&&Array.isArray(l.bespoke_app_metadata.reports)?c.app_metadata={...l.bespoke_app_metadata}:c.app_metadata={reports:[]},c.app_metadata.reports.push({reportId:s})),i&&(c.user_metadata={...l.bespoke_app_metadata,...i}),await t(c),(await r(c.user_id)).ok,{ok:!0,status:200,data:{ok:!0,message:"User & session updated"}}}catch(l){return {ok:!1,status:500,error:l.message}}},[])}async function Yc(e){try{return "JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCsJAEAX79xVbC+Lmbm/3DoKFeEcKG2F/QCSKYgol+P0mMkwxMG8cHEwrnzt2w/j6jvPjetkalyyZLReKTH5DEPITuv/aUWKKiz6hTywiGliTZWNtFkyWitr0qEWrWmBbq2ndkz/hG1THGT/eextGCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2Mgo+PgpzdHJlYW0KeJzVUt9LwzAQfs9fcY/6IEnTH2llDLa1VZChbIKi+JC1YVRGIm0m87/3ru0cexCfpXwkd/cl+a73BSBAQhRBCCqFCOJQQgwqCGAyYfzx68MAf9Bb0zF+19QdvCJHwAreGF+4vfUQsOmUnbgL7fXObdlwCAIiHxkPrav3lWlhUhZlKYQSQiQRIhFC5rguEBlCYow1meIeoaIRmFOhEOEMa+WARA1nqN5z4/F8gStyE+LkAzdKh/jnXXqrGO6Qf+nJpowvXZ1rb+Aiv5ZCRiKTsQyjTKYvl/g7WqO9+7/N9fobZ3/t8GzONF4acmvIA/2U+cp0bt9WOHbilQ4rtLk1u0/jm0pfKZGlqFOlGXpsNAZ/vt+8m6qnUlgc/M3ak4YhQbmlqRs9dwd0n8APOwDshDw4s9Z5cmXvR+tRDUXJ6NEzySSI8fV+4/uQkgHjc92ZXupJJ4qwlasbuwX+1NiZ7Zpjgm78BkHDxfcKZW5kc3RyZWFtCmVuZG9iagoKOCAwIG9iago8PAovU2l6ZSA5Ci9Sb290IDIgMCBSCi9JbmZvIDMgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW5ndGggNDEKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOSBdCj4+CnN0cmVhbQp4nBXEwQ0AIAwDsUuKxJf9JUZippb4YaDbbEhKTpWWOCDezxcGYeEDtQplbmRzdHJlYW0KZW5kb2JqCgpzdGFydHhyZWYKNjY5CiUlRU9G"}catch(t){throw console.error("Error generating PDF:",t),t}}function Aa(){return U("POST","pdf",async(e,t)=>{let{slugs:r,path:o}=e.body;if(!r||!o)throw new E(400,"Missing path parameter in request.");{new URL(o,e.headers.origin);return {ok:!0,status:200,data:await Yc()}}})}function Ta(e,t){let r=`list${ye(t)}Icons`,o=e[r];return U("GET",`list/icons/${t}`,async()=>o({}),[$.EDITOR])}function va(e,t){let r=`read${ye(t)}Icon`,o=e[r];return U("GET",`read/icons/${t}/icon.svg`,async n=>o({provider:t,name:n.query.name}))}function _a(){return U("GET","report",async(e,t)=>{let{report:r,prefix:o,locale:n}=e.query;if(!r)throw new E(400,"Missing report parameter.");if(!o)throw new E(400,"Missing report parameter.");if(!n)throw new E(400,"Missing report parameter.");try{let s=await(await fetch(`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${n}${o}${r}`)).text(),l=new Qc().parseFromString(s,"text/html").getElementById("__NEXT_DATA__")?.textContent,p=JSON.parse(l).props;return {ok:!0,status:200,data:{variables:p.pageProps.initialState.variables,status:p.pageProps.initialState.status}}}catch(a){throw console.error(a),new E(500,"Couldn't find page cache")}})}var el=Te();function no(e,t){return `${e.toUpperCase()} ${t.toLowerCase()}`}function tl(e,t){let r=St(e,t);return Object.fromEntries([...We(r,"block"),...We(r,"dimension"),...We(r,"formatter"),...We(r,"report"),...We(r,"section"),...la(r),...Gn(r),da(r),ua(r),pa(r),Et(r,"flickr"),Et(r,"local"),Et(r,"unsplash"),Et(r,"upload"),Et(r,"adobe"),Xt(r,"flickr"),Xt(r,"local"),Xt(r,"unsplash"),Xt(r,"adobe"),ma(r),ha(r),Ra(r),ba(r),Sa(r),Ea(r),fa(r),ya(),ga(r),Aa(),Ta(r,"tabler"),va(r,"tabler"),_a()].map(({handler:o,method:n,path:a,roleRequired:s})=>[no(n,a),{handler:o,roleRequired:s}]))}function rl(e){let t=qe().then(r=>tl(r,e));return async function(o,n){await Zc(o,n,{methods:["GET","HEAD","PUT","PATCH","POST","DELETE"],origin:"*"});let{query:a,method:s}=o,{path:i,...c}=a;if(i&&s){let l=await t.then(p=>{let u=[].concat(i).join("/"),d=no(s,u);return p[d]});if(l){let p=await fe(o,n,e);if(l.roleRequired){if(!p)return n.status(401).json({error:"Unauthorized. Must be logged in."});let u=p&&p.user&&p.user.bespoke_roles&&Array.isArray(p.user.bespoke_roles)?p.user.bespoke_roles:[];if(Array.isArray(l.roleRequired)&&l.roleRequired.length>0&&!cr(u,l.roleRequired))return n.status(402).json({error:"Forbidden. Not enough roles."})}if(l.handler)return ["POST","DELETE"].includes(s)&&(o.body=await oo(o)),Promise.resolve(o).then(u=>l.handler(u,n,p||void 0)).then(async u=>{if(u&&"error"in u)throw new E(u.status,u.error);if(u.ok)if(u.data instanceof Buffer){let d=await Xc(u.data),m=Buffer.byteLength(u.data);n.writeHead(u.status,{"Content-Type":d?d.mime:"image/jpeg","Content-Length":m.toString()}).send(u.data);}else o.url&&o.url.indexOf("/icon.svg?name=")>0?(n.setHeader("Content-Type","image/svg+xml"),n.status(u.status).send(u.data)):n.status(u.status).json({data:u.data});}).catch(u=>{el&&console.error("Backend Error",u),n.status(u.code).json({error:u.message});})}}else i||await t.then(console.info);return n.status(404).json({error:"No matching route",path:i,query:c})}}var ol=e=>{let t=e;return async function(r,o){let n=await t({test:"pala"});return o.json(n)}},nl=ol;var nt={};vs(nt,{addBlockToState:()=>Oo,addRunConsumersRunning:()=>ds,cloneEntity:()=>as,createEntity:()=>rs,deleteEntity:()=>ns,deleteQueryParam:()=>Tu,readEntity:()=>re,readMember:()=>Ie,readMetadata:()=>_u,readPrivateBlocks:()=>Bu,readUser:()=>xu,recalculateVariables:()=>ys,removeBlocksFromState:()=>ot,removeRunConsumersRunning:()=>ms,reportSearch:()=>Su,resetSectionState:()=>ps,revalidateReport:()=>Ou,revalidateUrl:()=>Lu,searchMember:()=>Au,searchRegenerate:()=>Eu,searchRole:()=>Pu,searchUser:()=>wu,setCurrentLocale:()=>hu,setPreferredLocale:()=>Ru,setPreviews:()=>gu,setQueryParam:()=>vu,setSectionState:()=>us,setStatus:()=>ls,updateEntity:()=>os,updateMyData:()=>Cu,updateUser:()=>Iu,urlProxy:()=>ku,variantValidateSlug:()=>bu});function de(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function ee(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>de(e,{...o,method:"GET",params:r?r(n):n})}function te(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>de(e,{...o,method:"POST",data:r?r(n):n})}function Je(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>de(e,{...o,method:"DELETE",params:r?r(n):n})}function At(e,t){return r=>de(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function er(e,t){return r=>de(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function ka(e,t){return ()=>de(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function Pa(e,t){return r=>de(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var Tt=e=>({id:e}),sl=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function tr(e){let t=_r.create({baseURL:e});return {createBulkBlock:te(t,"create/bulk/block"),createBlock:te(t,"create/block"),createDimension:te(t,"create/dimension"),createFormatter:te(t,"create/formatter"),createReport:te(t,"create/report"),createSection:te(t,"create/section"),createVariant:te(t,"create/variant"),deleteBlock:Je(t,"delete/block",Tt),deleteDimension:Je(t,"delete/dimension",Tt),deleteFormatter:Je(t,"delete/formatter",Tt),deleteReport:Je(t,"delete/report",Tt),deleteSection:Je(t,"delete/section",Tt),deleteVariant:Je(t,"delete/variant",Tt),readBlock:ee(t,"read/block"),readDimension:ee(t,"read/dimension"),readFormatter:ee(t,"read/formatter"),readReport:ee(t,"read/report"),readSection:ee(t,"read/section"),readVariant:ee(t,"read/variant"),updateBulkBlock:te(t,"update/bulk/block"),updateBlock:te(t,"update/block"),updateDimension:te(t,"update/dimension"),updateFormatter:te(t,"update/formatter"),updateReport:te(t,"update/report"),updateSection:te(t,"update/section"),updateVariant:te(t,"update/variant"),searchReport:ee(t,"search/reports"),validateVariantSlug:ee(t,"validate/variant"),readMember:ee(t,"read/members",sl),readMemberImage:ee(t,{url:"member/image",responseType:"blob"}),searchMember:ee(t,"search/members"),updateMember:ee(t,"update/members"),imageLocalSearch:er(t,"local"),imageLocalSave:At(t,"local"),imageFlickrSearch:er(t,"flickr"),imageFlickrSave:At(t,"flickr"),imageUnsplashSearch:er(t,"unsplash"),imageUnsplashSave:At(t,"unsplash"),imageUploadSave:At(t,"upload"),imageAdobeSearch:er(t,"adobe"),imageAdobeSave:At(t,"adobe"),readMetadata:ee(t,"read/metadata"),regenerateSearch:te(t,"search/regenerate"),urlProxy:ee(t,"url/proxy"),searchRole:ee(t,"auth/search/roles"),searchUser:ee(t,"auth/search/users"),readUser:ee(t,"auth/read/user"),updateUser:te(t,"auth/update/user"),updateMyData:te(t,"auth/update/me"),revalidateReport:ee(t,"revalidate/report"),revalidateUrl:ee(t,"revalidate/url"),readPrivateBlocks:te(t,"read/blocks/private"),listTablerIcons:ka(t,"tabler"),readTablerIcon:Pa(t,"tabler")}}var{localeDefault:ll}=G();function ue(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||ll}}var dl=Sr(process.env.REPORTS_LOGGING),Ye=ml;function ml(e,t,r,o,n=void 0,a){let s={},i=[],{locale:c}=ue(a);try{if(t){let l=new Proxy(console,{get(u,d){return fl(d,"log","debug","info","warn","error")?(...m)=>{i.push(`${d} ${Date.now()} - ${m.map(f=>format(f)).join(" ")}`),dl&&u[d](...m);}:u[d]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,l,Ne,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,l,Ne,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(s,p),{vars:s,error:null,log:i,output:p}}return {vars:s,error:"Invalid API Link",log:i}}catch(l){return {vars:s,error:l.message,log:i}}}function fl(e,...t){return t.includes(e)}function ao(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var vt=yl;function yl(e,t,r,o=!1){let{variables:n}=ue(r);if(!e)return e;let a=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(a,(i,c,l)=>{let p=d=>d;if(c){let d=c.replace(/^\w/g,m=>m.toLowerCase());d in t?p=t[d]:p=m=>`${c}${m}`;}let u=Array.isArray(n[l])?ao(n[l]):n[l];if(u===void 0)return o?i:"N/A";try{return p(u,Ne,t)}catch(d){return console.error(`Error using formatter ${p.name}
|
|
64
|
+
`,`Error message: ${d.message}`),"N/A"}})}var so=(e,t,r)=>{let{variables:o}=r,n=s=>s.allowed==="never"?!1:!s.allowed||s.allowed==="always"||o[s.allowed],a={...e};return Object.keys(a).forEach(s=>{typeof a[s]=="string"?a[s]=vt(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?so(i,t,r):typeof i=="string"?vt(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=so(a[s],t,r));}),a},Tr=so;var wa=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var gl=(e,t,r)=>{if(!r)return !1;if(e===Ue.SINGLE)return r.find(n=>n.id===t);let o=Array.isArray(t)?t:t.split(",");return Array.isArray(o)&&o.every(n=>r.map(a=>a.id).includes(n))},io=gl;function co(e,t,r,o,n=!1){let{variables:a}=ue(o),s=Tr({logic:t},r,o).logic,i=Ye("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i,u=c.type||Ue.SINGLE,d=c.component||"Selector",m=c.hideLabel||"false",f=c.resetSectionVars||"false",h=c.name||"Unlabeled Selector",R=wa(c.options||[]),T=b=>u===Ue.MULTI&&!Array.isArray(b)?[b]:b,k=c.defaultValue,x;if(k&&(k=T(k),io(u,k,R)&&(x=k)),!x){let b=R&&R[0]&&R[0].id||R[0]||"";x=T(b);}if(n&&typeof window<"u"){let b=`selector${e}id`,O=new URLSearchParams(window.location.search),B=Object.fromEntries(O)[b];B&&!io(u,B,R)&&B!==void 0&&(O.delete(b),window.history.replaceState(null,null,`?${O.toString()}`));}return {config:{name:h,type:u,options:R,defaultValue:x,component:d,hideLabel:m,resetSectionVars:f},log:l,error:p}}function lo(e,t,r){if(!e)return !1;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(a=>`${a[`${t} ID`]}`).includes(n))}function uo(e,t,r,o,n=!1){let{variables:a}=ue(o),s=Tr({logic:t},r,o).logic,i=Ye("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i;if(n&&typeof window<"u"){let d=`multihierarchySelector${e}-value`,m=`multihierarchySelector${e}-type`,f=new URLSearchParams(window.location.search),h=Object.fromEntries(f),R=h[d],T=h[m];R&&R!==void 0&&T&&T!==void 0&&!lo(c.data,T,R)&&(f.delete(d),f.delete(m),window.history.replaceState(null,null,`?${f.toString()}`));}return {config:c,log:l,error:p}}var hl=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(t).get(o),s=n||a;if(r.type===Ue.MULTI){let l=s?s.split(","):r.defaultValue,p=r.options.filter(u=>l.includes(u.id));return {[`selector${e}id`]:l,[`selector${e}label`]:(p||[]).map(u=>u.label)}}let i=s&&r.options.find(l=>l.id===s)?s:r.defaultValue,c=r.options.find(l=>l.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},xa=hl;var Rl=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),l=a||i,p=s||c,u=l?l.split(","):r.defaultValue||[],d=p||r.defaultValueType||"",m=r.data?.filter(f=>u.includes(`${f[`${d} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:u,[`multihierarchySelector${e}label`]:[...new Set((m||[]).map(f=>f[d]))],[`multihierarchySelector${e}type`]:d}},Ia=Rl;var{localeDefault:Ca,locales:bl}=G(),Sl=Object.values(Kr),El=(e,t=Ca)=>e&&Sl.includes(e.type)?{locale:Hr,locales:[Hr]}:{locale:t,locales:bl},Ba=(e,t=Ca)=>{if(!e)return {};let{locale:r}=El(e,t);return e.contentByLocale?.[r]?.content};function Al(e,t){let r=Object.values(t),o=r.filter(n=>n.shared&&n.section_id!==e).map(n=>n.id);return Object.fromEntries(r.filter(n=>n.section_id===e&&(n.inputs.length===0||n.inputs.some(a=>o.includes(a)))).map(n=>[n.id,n]))}var La=Al;function po(e){return e.type===D.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}var Qe=Sr(process.env.NEXT_PUBLIC_REPORTS_DEBUG),kl=process.env.REPORTS_ORIGIN||"";Oa(_r,{retries:5,retryDelay:Oa.exponentialDelay,onRetry:(e,t,r)=>{console.error("Generator request failed. Retrying... Count: ",e),console.error("URL: ",r.url),console.error(t.message);}});_r.interceptors.request.use(e=>({...e,requestStart:Date.now()}));_r.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Pl=(e,t,r)=>{let o=vt(e,t,r);return o.startsWith("http")||(o=`${kl}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:wl}=tr("/api/cms");function vr(e){return e.ok!==void 0}function mo(e){this.message=e,this.name="ApiFetchException";}var Ma=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function xl(e,t,r="en",o){let n=Date.now(),a=e,s,c=new URL(e).searchParams;if(c.has("bespoke_slugs")){let u=new RegExp(`[?&]bespoke_slugs=${c.get("bespoke_slugs")}`,"g");a=a.replace(u,"");}let l=o?o.settings:{},p=!!(l&&l.useProxy&&l.useProxy==="true");if(typeof window=="object"&&p){let u=await wl({url:a,timeout:Ma});if(u.ok===!0)s=u.data;else throw new mo(u?.error)}else try{let u=await _r({url:a,timeout:Ma});if(u.status===200)u.headers["content-type"]==="text/csv"?s=csvParse(u.data):s=u.data;else throw new mo("No response")}catch(u){throw new mo(u.message)}if(c.has("bespoke_slugs")){let u=c.get("bespoke_slugs");if(u){let d=u.split(",");if(d.length===3){let[m,f,h]=d,R=Ft(s,h);if(R&&Array.isArray(R)){let T=Array.from(new Set(R.map(k=>`${k[f]}`).filter(k=>!["","undefined"].includes(k))));if(T.length>0){let k=T.join("").length>2e3,x=await t({mode:k?"whole":"ids",ids:k?void 0:T,all:!1,locale:r,variant:[parseInt(m,10)],output:"lite",limit:T.length+1}).then(S=>{let b=[];return vr(S)?S.ok&&(b=S.data.results):b=S.results,b&&Array.isArray(b)?b:[]}).catch(S=>(console.error(`Error hydrating slugs for Variant: ${m}, Key: ${f}, Accessor: ${h}`),console.error(` Url ${e}`),o&&console.error(` From Section ${o.section_id} and Block ${o.id}`),console.error(S),[]));if(x){let S=Object.fromEntries(x.map(b=>[b.id,`/${b.variant_slug}/${b.slug}`]));R.map(b=>(b.bespoke_slug=S[b[f]]?S[b[f]]:null,b));}}}}}}return {data:s,requestDuration:Date.now()-n}}function Il(e){this.name="BlockException",this.message=e;}async function Na(e,t,r,o){let{locale:n,variables:a,query:s}=ue(r),i=Bl(e,r,a,t),c=null,l=e.contentByLocale?.logic?.content?.api,p=null,u=null,d=null;if(!i)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(e.type===D.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:i,hiddenByCascade:e.id}};if(l){d=Pl(l,t,r);let S=d.split(Fn).filter(F=>F!==""),b=[];for(let F=0;F<S.length;F++){let B=S[F];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(B=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${B}`.replace(/([^:]\/)\/+/g,"$1")),b.push(xl(B,o,n,e).catch(H=>{throw new Il(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${a.report_name} (${a.report_id}) failed.
|
|
61
65
|
Error fetching ${B}.
|
|
62
|
-
Message: ${
|
|
63
|
-
`)}));}let M=await Promise.all(E).catch(w=>w.message);if(typeof M=="string"&&M)return {outputVariables:{},renderVariables:{},status:{error:M}};c=M.length===1?M[0].data:M.map(w=>w.data),u=M.reduce((w,B)=>w+JSON.stringify(B.data).length/1024,0),p=Math.max(...M.map(w=>w.requestDuration));}if(e.type===z.SELECTOR){let{config:S,log:E,error:M}=Hr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:fa(e.id,s,S),renderVariables:S,status:{log:E,error:M,allowed:i}}}if(e.type===z.MULTIHIERARCHY_SELECTOR){let{config:S,log:E,error:M}=Jr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ga(e.id,s,S),renderVariables:S,status:{log:E,error:M,allowed:i}}}if(e.type===z.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===z.RELATED){let S=e.contentByLocale?.logic?.content?.simple?.compare||"variant",E=e.contentByLocale?.logic?.content?.simple?.limit||4,M=Object.keys(a).filter(P=>P.startsWith("report_id")).map(P=>a[P]),w=Object.keys(a).filter(P=>P.startsWith("dimension_id")).map(P=>a[P]),B=Object.keys(a).filter(P=>P.startsWith("variant_id")).map(P=>a[P]),q=Object.keys(a).filter(P=>P.startsWith("id")).map(P=>a[P]);if(!q.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let F=(await o({mode:"ids",locale:n,ids:q,output:"lite"}).then(P=>{let $=[];return Qr(P)?P.ok&&($=P.data.results):$=P.results,$&&Array.isArray($)?$:[]}).catch(P=>(console.log("Error getting related members",P),[]))).map(P=>P.content_id),Z={mode:"related",locale:n,related:E??4,current_ids:F,output:"full"};S&&(S==="report"?Z.report_ids=M:S==="dimension"?Z.dimension_ids=w:Z.variant_ids=B);let W=await o(Z).then(P=>{let $=[];return Qr(P)?P.ok&&($=P.data.results):$=P.results,$&&Array.isArray($)?$:[]}).catch(P=>(console.log("Error getting related members",P),[]));return {outputVariables:{related_reports:W},renderVariables:{},status:{log:[],allowed:W.length>0}}}let{logic:m}=ha(e,n),y=ut(m,t,r),h=Ve("resp",c||{},y,t,a,r),{vars:b,error:A,log:v}=h;if(typeof b!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:v,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let x=Object.keys(b).reduce((S,E)=>({...S,[`${e.type}${e.id}${E}`]:b[E]}),{});return {renderVariables:b,outputVariables:e.type===z.GENERATOR?b:x,status:{log:v,error:A,duration:p,responseSize:u,resp:c,api:d,allowed:i}}}function ul(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l].section_id===t[r].section_id||!n).forEach(l=>Zr(l,t,o,!1,a,n,s));}})}var Zr=(e,t,r=[],o=!0,n=!0,a=!0,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(p=>Zr(p,t,r,o,!1,a,s));}),i.consumers.length&&n&&ul(i,t,e,r,a,n,s),r},pl=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let a=ie(t),{error:s,output:i}=Ve("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},mr=async(e,t,r,o,n,a={},s,i="section")=>{if(!r&&!t)return {...a};let c={...a.variables??{}},l={...a.status??{}},p=ie(n),u=p.variables,d=r?{[r]:e[r]}:(t??[]).reduce((w,{id:B})=>({...w,...ba(B,e)}),{});Vt&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(d));let m=i==="section",y=Object.keys(d).reduce((w,B)=>{let q=new Date,O=Zr(Number(B),e,[],!r,!0,m).map(W=>W.split("-")),Z=(new Date().getTime()-q.getTime())/1e3;return Vt&&console.log(`%cResolved dependencies for ${B} (${Z.toFixed(2)}s)`,"color:blue"),[...w,...O]},[]),h=new Date,b=Object.keys(d).reduce((w,B)=>w.includes(B)?[...w]:[B,...w],tl(y)),v=(new Date().getTime()-h.getTime())/1e3;Vt&&console.log(`%cResolved DAG (${v.toFixed(2)}s): `,"color:green",b);async function x(w,B){let q=new Map;for(let O of w){let F=B[O],W=Promise.all(F.inputs.filter(P=>w.includes(String(P))).map(P=>q.get(Number(P)))).then(async()=>{let P=F.inputs.reduce((G,_)=>({...G,...c[_]}),u),$=F.inputs.find(G=>(F.settings?.ignoreCascade?F.settings?.ignoreCascade:[]).includes(G)?!1:!l[G].allowed||l[G].hiddenByCascade);if($){l[O]={allowed:!1,hiddenByCascade:l[$].hiddenByCascade||$},c[O]={};return}let j=new Date,k=await ll(F,o,{...p,variables:P,locale:P.locale},s).then(({outputVariables:G,status:_})=>{if(_.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${O}, Section ${F.section_id}) failed with message: ${_.error}. `);l[O]={allowed:!1,error:_.error},c[O]={};}(F.consumers.length>0||[z.GENERATOR,z.RELATED].includes(F.type))&&_.allowed&&Object.keys(G).length>0?c[O]=G:c[O]={},i==="report"?(l[O]={allowed:_.allowed},F.type===z.GENERATOR&&_.api&&(l[O].api=_.api)):l[O]=_;}),N=(new Date().getTime()-j.getTime())/1e3;return Vt&&console.log(`%cBlock ${F.id} resolved in ${N.toFixed(3)}s`,N>500?"color:red":"color:green"),k});q.set(Number(O),W);}await Promise.all(Array.from(q.values()));}let S=new Date;await x(b,e);let M=(new Date().getTime()-S.getTime())/1e3;return Vt&&console.log(`%cResolved Variables (${M.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...c},status:{...a.status??{},...l}}};function dl(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var fr=dl;function fl(){let{publicRuntimeConfig:e}=ml(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var gr=fl;function gl(e,t){return +(e<t)-+(e>t)}function yr(e,t,r="ordering"){return gl(t[r],e[r])}var Aa=(e,t={},r="en",o={},n={})=>{let a={setVariables:o.onSetVariables?o.onSetVariables:c=>c,openModal:o.onOpenModal?o.onOpenModal:c=>c,formatters:t,libs:xe,locale:r,...n};function s(c){return Function("globals",...c.vars,`with (globals) { ${c.logic} }`).bind(a,a)}function i(c){if(c.vars&&c.logic)return s(c);for(let l in c)Array.isArray(c[l])?c[l]=c[l].map(p=>isObject(p)?i(p):p):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:hl}=U();var zt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});zt.define({consumers:[zt],inputs:[zt]});var Ta=new schema.Entity("variant"),va=new schema.Entity("dimension",{variants:[Ta]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),_a=new schema.Entity("section",{blocks:[zt]}),bl=new schema.Entity("report",{dimensions:[va],sections:[_a]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(yr):[]}}}),Rl=new schema.Entity("formatter"),Sl={report:bl,section:_a,block:zt,dimension:va,variant:Ta,formatter:Rl};function hr(e,t){let r=Sl[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:pt(o,"report"),dimension:pt(o,"dimension"),section:pt(o,"section"),block:pt(o,"block"),variant:pt(o,"variant"),formatter:pt(o,"formatter")}}function pt(e,t){return e.hasOwnProperty(t)?e[t]:{}}var ka=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}},Xr=(e=[],t=hl)=>e.reduce((r,o)=>{let n=Aa({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var le=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",br=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[le];br.includes(le)||br.push(le);var Tl={localeDefault:le,locales:br,currentLocale:le,preferredLocale:le,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},Rr=createSlice({name:"status",initialState:Tl,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),ze=Rr.actions;var kl={attributes:{},variables:{},status:{}},Sr=createSlice({name:"variables",initialState:kl,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),Er=Sr.actions;var xl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},Te=createSlice({name:"records",initialState:xl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:qt(e.entities,r.entities||{}),requests:qt(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=hr(r.type,o),a=qt(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=Ar(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=Ar(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=hr(r.type,r.data),n=qt(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=hr(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=qt(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=Ar(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=Ar(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(p=>p!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;Il(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function qt(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Ar(e,t){return e.map(n=>t[n]).sort(yr).map(n=>n.id)}function Il(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function ee(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=Ul[e],a=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+a)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(s){return "'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function mt(e){return !!e&&!!e[ae]}function $e(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===Fl}(e)||Array.isArray(e)||!!e[La]||!!(!((t=e.constructor)===null||t===void 0)&&t[La])||lo(e)||uo(e))}function Gt(e,t,r){r===void 0&&(r=!1),gt(e)===0?(r?Object.keys:yo)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function gt(e){var t=e[ae];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:lo(e)?2:uo(e)?3:0}function no(e,t){return gt(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Cl(e,t){return gt(e)===2?e.get(t):e[t]}function Oa(e,t,r){var o=gt(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Bl(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function lo(e){return Nl&&e instanceof Map}function uo(e){return Dl&&e instanceof Set}function qe(e){return e.o||e.t}function po(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Vl(e);delete t[ae];for(var r=yo(t),o=0;o<r.length;o++){var n=r[o],a=t[n];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[n]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function mo(e,t){return t===void 0&&(t=!1),fo(e)||mt(e)||!$e(e)||(gt(e)>1&&(e.set=e.add=e.clear=e.delete=Ml),Object.freeze(e),t&&Gt(e,function(r,o){return mo(o,!0)},!0)),e}function Ml(){ee(2);}function fo(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function ge(e){var t=zl[e];return t||ee(18,e),t}function Pa(){return process.env.NODE_ENV==="production"||ft||ee(0),ft}function eo(e,t){t&&(ge("Patches"),e.u=[],e.s=[],e.v=t);}function Tr(e){ao(e),e.p.forEach(Ll),e.p=null;}function ao(e){e===ft&&(ft=e.l);}function wa(e){return ft={p:[],l:ft,h:e,m:!0,_:0}}function Ll(e){var t=e[ae];t.i===0||t.i===1?t.j():t.g=!0;}function to(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||ge("ES5").S(t,e,o),o?(r[ae].P&&(Tr(t),ee(4)),$e(e)&&(e=vr(t,e),t.l||_r(t,e)),t.u&&ge("Patches").M(r[ae].t,e,t.u,t.s)):e=vr(t,r,[]),Tr(t),t.u&&t.v(t.u,t.s),e!==Na?e:void 0}function vr(e,t,r){if(fo(t))return t;var o=t[ae];if(!o)return Gt(t,function(i,c){return xa(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return _r(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=po(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Gt(a,function(i,c){return xa(e,o,n,i,c,r,s)}),_r(e,n,!1),r&&e.u&&ge("Patches").N(o,r,e.u,e.s);}return o.o}function xa(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&ee(5),mt(n)){var i=vr(e,n,a&&t&&t.i!==3&&!no(t.R,o)?a.concat(o):void 0);if(Oa(r,o,i),!mt(i))return;e.m=!1;}else s&&r.add(n);if($e(n)&&!fo(n)){if(!e.h.D&&e._<1)return;vr(e,n),t&&t.A.l||_r(e,n);}}function _r(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&mo(t,r);}function ro(e,t){var r=e[ae];return (r?qe(r):e)[t]}function Ia(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function so(e){e.P||(e.P=!0,e.l&&so(e.l));}function oo(e){e.o||(e.o=po(e.t));}function io(e,t,r){var o=lo(t)?ge("MapSet").F(t,r):uo(t)?ge("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Pa(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=co;s&&(c=[i],l=$t);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):ge("ES5").J(t,r);return (r?r.A:Pa()).p.push(o),o}function Ol(e){return mt(e)||ee(22,e),function t(r){if(!$e(r))return r;var o,n=r[ae],a=gt(r);if(n){if(!n.P&&(n.i<4||!ge("ES5").K(n)))return n.t;n.I=!0,o=Ca(r,a),n.I=!1;}else o=Ca(r,a);return Gt(o,function(s,i){n&&Cl(n.t,s)===i||Oa(o,s,t(i));}),a===3?new Set(o):o}(e)}function Ca(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return po(e)}var Ba,ft,go=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Nl=typeof Map<"u",Dl=typeof Set<"u",Ma=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Na=go?Symbol.for("immer-nothing"):((Ba={})["immer-nothing"]=!0,Ba),La=go?Symbol.for("immer-draftable"):"__$immer_draftable",ae=go?Symbol.for("immer-state"):"__$immer_state";var Ul={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},Fl=""+Object.prototype.constructor,yo=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,Vl=Object.getOwnPropertyDescriptors||function(e){var t={};return yo(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},zl={},co={get:function(e,t){if(t===ae)return e;var r=qe(e);if(!no(r,t))return function(n,a,s){var i,c=Ia(a,s);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!$e(o)?o:o===ro(e.t,t)?(oo(e),e.o[t]=io(e.A.h,o,e)):o},has:function(e,t){return t in qe(e)},ownKeys:function(e){return Reflect.ownKeys(qe(e))},set:function(e,t,r){var o=Ia(qe(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=ro(qe(e),t),a=n?.[ae];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Bl(r,n)&&(r!==void 0||no(e.t,t)))return !0;oo(e),so(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return ro(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,oo(e),so(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=qe(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){ee(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){ee(12);}},$t={};Gt(co,function(e,t){$t[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),$t.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&ee(13),$t.set.call(this,e,t,void 0)},$t.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&ee(14),co.set.call(this,e[0],t,r,e[0])};var ql=function(){function e(r){var o=this;this.O=Ma,this.D=!0,this.produce=function(n,a,s){if(typeof n=="function"&&typeof a!="function"){var i=a;a=n;var c=o;return function(h){var b=this;h===void 0&&(h=i);for(var A=arguments.length,v=Array(A>1?A-1:0),x=1;x<A;x++)v[x-1]=arguments[x];return c.produce(h,function(S){var E;return (E=a).call.apply(E,[b,S].concat(v))})}}var l;if(typeof a!="function"&&ee(6),s!==void 0&&typeof s!="function"&&ee(7),$e(n)){var p=wa(o),u=io(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?Tr(p):ao(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return eo(p,s),to(h,p)},function(h){throw Tr(p),h}):(eo(p,s),to(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Na&&(l=void 0),o.D&&mo(l,!0),s){var m=[],y=[];ge("Patches").M(n,l,m,y),s(m,y);}return l}ee(21,n);},this.produceWithPatches=function(n,a){if(typeof n=="function")return function(l){for(var p=arguments.length,u=Array(p>1?p-1:0),d=1;d<p;d++)u[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(u))})};var s,i,c=o.produce(n,a,function(l,p){s=l,i=p;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(l){return [l,s,i]}):[c,s,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){$e(r)||ee(8),mt(r)&&(r=Ol(r));var o=wa(this),n=io(this,r,void 0);return n[ae].C=!0,ao(o),n},t.finishDraft=function(r,o){var n=r&&r[ae];process.env.NODE_ENV!=="production"&&(n&&n.C||ee(9),n.I&&ee(10));var a=n.A;return eo(a,o),to(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Ma&&ee(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var a=o[n];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}n>-1&&(o=o.slice(n+1));var s=ge("Patches").$;return mt(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),se=new ql,$l=se.produce;se.produceWithPatches.bind(se);se.setAutoFreeze.bind(se);se.setUseProxies.bind(se);se.applyPatches.bind(se);se.createDraft.bind(se);se.finishDraft.bind(se);var kr=$l;var ue=Te.actions,Va=Kt({block:Ge("block"),dimension:Ge("dimension"),formatter:Ge("formatter"),report:Ge("report"),section:Ge("section"),variant:Ge("variant")}),te=Kt({block:Ke("block"),dimension:Ke("dimension"),formatter:Ke("formatter"),report:Ke("report"),section:Ke("section"),variant:Ke("variant")}),za=Kt({block:be("block"),dimension:be("dimension"),formatter:be("formatter"),report:be("report"),section:be("section"),variant:be("variant")}),qa=Kt({block:yt("block"),dimension:yt("dimension"),formatter:yt("formatter"),report:yt("report"),section:yt("section"),variant:yt("variant")}),$a=Kt({block:Ua("block"),section:Ua("section")});function Kt(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function je(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(ue.setRequest({key:t,type:e,status:s}));}}function ht(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(ue.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function Ge(e){return t=>{let r=bo(e,t);return (o,n,a)=>(o(je(e,r)),re(a,"create",e)(t).then(i=>(i.ok===!0?o(ue.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(ht(e,r,i.status,i.error)),i)))}}function jl(e){return t=>{let r=bo(e,t[0]);return (o,n,a)=>(o(je(e,r)),re(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(ue.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(ht(e,r,i.status,i.error)),i)))}}function Da(e,t,r){return r.replace(new RegExp(e,"g"),t)}function Hl(e){return e.section_id!==void 0}function Wl(e){return e.report_id!==void 0}function Ua(e){return t=>{let{create:r}=t;return (o,n,a)=>Ge(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=ja(e,{id:l});if(o(je(e,`${u}`)),e==="block"&&Hl(r)){let d=kr(p,b=>{b.id=l;}),{contentByLocale:m}=d;m&&(d=kr(d,b=>{b.id=l,b.contentByLocale=Object.keys(m).reduce((A,v)=>{let x=m?m[v]:{};return A[v]={...x,id:l},A},{});}));let h=d.inputs?.map(b=>({type:b.type,id:b.id,inputAction:{operation:"create",input:{input_id:b.id,block_id:d.id}}}));return h&&h.length>0&&Fa(e)([d,...h])(o,n,a).then(()=>Ke("section")({id:d.section_id,include:!0})(o,n,a).then(b=>(b.ok&&o(ue.setRequest({key:u,type:e,status:"SUCCESS",data:b.data})),b))),be(e)(d)(o,n,a).then(b=>(b.ok&&o(ue.setRequest({key:u,type:e,status:"SUCCESS",data:b.data})),b))}if(e==="section"&&Wl(r)){let{id:d}=c,m=kr(p,b=>{b.id=d;}),{blocks:y}=m,h=y?.map(b=>({type:b.type,blockcol:b.blockcol,blockrow:b.blockrow,section_id:d,locales:Object.keys(b.contentByLocale).map(A=>A)}));return h&&y&&await jl("block")(h)(o,n,a).then(b=>{if(b.ok){let A=b.data,v=[],x=A.map((S,E)=>{let w={...S},B=w.id,q=y[E];q.contentByLocale&&(w.contentByLocale=Object.keys(q.contentByLocale).reduce((k,I)=>{let N=q.contentByLocale[I];return k[I]={...N,content:{...N.content},id:w.id},k},{}));let{settings:O}=q,{contentByLocale:F,id:Z}=w;w.settings=O;let W={id:Z,contentByLocale:F,settings:O};return q.inputs.map(k=>k.id).reduce((k,I)=>{let N=y.findIndex(G=>G.id===I);return [...k,N]},[]).map(k=>({...A[k],originalBlock:y[k]})).forEach(k=>{let{id:I,type:N,originalBlock:G}=k;if(["selector","visualization"].includes(N)){if(W.contentByLocale?.logic?.content?.api){let _=W.contentByLocale?.logic.content.api;W.contentByLocale.logic.content.api=Da(`(selector${G.id}id)`,`selector${I}id`,_);}if(W.contentByLocale?.logic?.content?.logic){let _=W.contentByLocale.logic.content.logic;W.contentByLocale.logic.content.logic=Da(`(selector${G.id}id)`,`selector${I}id`,_);}}v.push({id:I,inputAction:{operation:"create",input:{input_id:I,block_id:B}}});}),W});return Fa("block")([...x,...v])(o,n,a)}}),be(e)(m)(o,n,a).then(b=>(b.ok&&o(ue.setRequest({key:u,type:e,status:"SUCCESS",data:b.data})),b))}return be(e)({...p,id:c.id})(o,n,a)}})}}function Ke(e){return t=>{let r=Ga(e,t);return (o,n,a)=>(o(je(e,r)),re(a,"read",e)(t).then(i=>(i.ok===!0?o(ue.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(ht(e,r,i.status,i.error)),i)))}}function be(e){return t=>{let r=Ro(e,t);return (o,n,a)=>(o(je(e,r)),re(a,"update",e)(t).then(i=>(i.ok===!0?o(ue.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(ht(e,r,i.status,i.error)),i)))}}function Fa(e){return t=>{let r=Ro(e,t[0]);return (o,n,a)=>(o(je(e,r)),re(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(ue.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(ht(e,r,i.status,i.error)),i)))}}function yt(e){return t=>{let r=Ka(e,t);return (o,n,a)=>(o(je(e,r)),re(a,"delete",e)(t).then(i=>{i.ok===!0?o(ue.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(ht(e,r,i.status,i.error));}))}}function bo(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Ga(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Ro(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Ka(e,t){return `delete(${e}, ${t})`}function ja(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:Ha,setPreviews:Jl,setSectionState:Wa,resetSectionState:Ja,setCurrentLocale:Yl,setPreferredLocale:Ql}=ze;function Zl(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function Xl(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function eu(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function jt(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function tu(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function Ya(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(Ha(i)),n.activeSection&&t(Qa(e,{query:s}));}function ru(e,t){return async(r,o)=>Ya(e,r,o,{query:{[t]:void 0}})}function ou(e,t,r){return async(o,n)=>Ya(e,o,n,{query:{[t]:r}})}function Qa(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],{parsedParams:c,statusPayload:l}=ka(n.status,t),{sid:p,bid:u,previews:d,query:m}=c;Object.keys(l).length&&r(ze.setStatus(l));let y={...fr(d),locale:a,...gr()},h={variables:y,query:m,locale:a},b=n.records.entities.section[p],A=async v=>r(jt(v));try{let v=await mr(s,b&&[b],u,i,h,void 0,A),{variables:x,status:S}=v;r(Er.setVariableChange({attributes:y,variables:x,status:S}));}catch(v){console.log("Error in runConsumers client side: recalculateVariables",v);}}}function nu(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function au(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function su(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function iu(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function cu(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function lu({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function uu(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function So(e){let{removeBlocks:t}=Te.actions;return async r=>{await r(t(e));}}function Eo(e){let{addBlocks:t}=Te.actions;return async r=>{await r(t(e));}}function pu(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function du(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function mu(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var Za=e=>configureStore({reducer:{[Te.name]:Te.reducer,[Rr.name]:Rr.reducer,[Sr.name]:Sr.reducer},middleware(t){return t({thunk:{extraArgument:Ft("/api/cms/")}})}}),Wt=createWrapper(Za);function bu(e){let t=process.cwd(),r=hu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(tc.readFileSync(r,"utf-8"));o=n.dependencies&&n.dependencies[e]&&n.dependencies[e].version!=="file:packages/reports"?n.dependencies[e].version:"0.dev";}catch{o="0.vercel";}return o||"Version not found"}function Ru(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t,authOptions:a={providers:[]}}=e||{};return Wt.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{if(!await de(c.req,c.res,a))return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=c.query[r],[u]=Array.isArray(p)?p:[p];await i(Nt);let d=await bu("@datawheel/bespoke"),m=await o(s,c);if("redirect"in m)return {props:m};u==="reports"&&(Xa(c.query[r])?await Promise.all([i(te("formatter",{})),i(te("report",{id:Xa(c.query[r]),include:!0})),ze.setStatus({isCMS:!0})]):await Promise.all([i(te("report",{include:"dimensions"})),ze.setStatus({isCMS:!0})])),u==="metadata"&&await i(te("report",{include:"dimensions"})),u==="formatters"&&await i(te("formatter",{}));let y=await n(s,c);return {props:{...m,...y,bespokeVersion:d}}}})}function Xa(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Eu}=U(),Au={pathSegment:"path",formatterFunctions:Eu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(Au);U();var as=e=>e.records.entities.block;function St(e){return t=>Object.values(t.records.entities[e])}var ss=St("section"),is=St("formatter");function Du(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=le,locales:a=[]}=o,s=[];if(r>0){let i=a.find(p=>p===n),{searchMember:c}=await Oe().then(st),l=await c({query:"",limit:r,format:"plain",locale:i||le,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(p=>({locale:a.find(u=>u===p.locale),params:{bespoke:[p.variant.slug,p.slug]}})));}return {fallback:t,paths:s}}}function Uu(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return Wt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Nt);let a=new Date().toISOString(),{locale:s=le,params:i={}}=n,c=Array.from(Fu(i[t]));if(c.length===0)return await Promise.all([o(te("formatter",{})),o(te("report",{include:!0}))]),{props:{buildTime:a}};let l=await o(jt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Ht.setPreviews(l.results)),await Promise.all([o(te("formatter",{})),o(te("report",{id:l.results.map(E=>E.report_id),include:!0,locales:[s]}))]);let p=r.getState(),u=is(p),d=Xr(u,s),m=ss(p),y=as(p),h={...y},b={},A=Object.values(y).reduce((E,M)=>("access"in M.settings&&!["public","guest"].some(w=>!M.settings.access||M.settings.access.includes(w))&&E.push(M.id),E),[]);A=A.concat(Ot(A,Object.values(h)));let v=A.filter(E=>h[E].settings[jo.FALLBACK]);A.forEach(E=>{v.includes(E)&&(b[E]={...h[E],type:"fallback"}),delete h[E];}),await o(So(A)),await o(Eo(b));let x={...fr(l.results),locale:s,...gr()},S=async E=>await o(jt(E));return await mr({...h,...b},m,void 0,d,{locale:s,query:i,variables:x},void 0,S,"report").then(E=>{o(Er.setVariableChange({...E,attributes:x}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function Fu(e=[]){let t=[].concat(e),r=0;return {next(){return {value:{variantSlug:t[r++],memberSlug:t[r++]},done:r>t.length}},[Symbol.iterator](){return this}}}
|
|
66
|
+
Message: ${H.message}.
|
|
67
|
+
`)}));}let O=await Promise.all(b).catch(F=>F.message);if(typeof O=="string"&&O)return {outputVariables:{},renderVariables:{},status:{error:O}};c=O.length===1?O[0].data:O.map(F=>F.data),u=O.reduce((F,B)=>F+JSON.stringify(B.data).length/1024,0),p=Math.max(...O.map(F=>F.requestDuration));}if(e.type===D.SELECTOR){let{config:S,log:b,error:O}=co(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:xa(e.id,s,S),renderVariables:S,status:{log:b,error:O,allowed:i}}}if(e.type===D.MULTIHIERARCHY_SELECTOR){let{config:S,log:b,error:O}=uo(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:Ia(e.id,s,S),renderVariables:S,status:{log:b,error:O,allowed:i}}}if(e.type===D.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===D.RELATED){let S=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,O=Object.keys(a).filter(_=>_.startsWith("report_id")).map(_=>a[_]),F=Object.keys(a).filter(_=>_.startsWith("dimension_id")).map(_=>a[_]),B=Object.keys(a).filter(_=>_.startsWith("variant_id")).map(_=>a[_]),W=Object.keys(a).filter(_=>_.startsWith("id")).map(_=>a[_]);if(!W.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let H=await Promise.all(W.map((_,N)=>o({mode:"ids",locale:n,ids:[_],output:"lite",variant:[B[N]]}))).then(_=>_.flatMap(N=>{let A=[];return vr(N)?N.ok&&(A=N.data.results):A=N.results,A&&Array.isArray(A)?A:[]})).catch(_=>(console.error("Error getting related members",_),[]));if(F.length>1){let _=Object.keys(a).filter(K=>K.startsWith("variant_slug")).map(K=>a[K]),N=H.map((K,L)=>{let C={mode:"related",locale:n,related:b??4,current_ids:[K.content_id],output:"full",variant_ids:[K.variant_id]};return L===0&&(C.include_ids=[K.content_id]),C}),A=await Promise.all(N.map(K=>o(K))).then(K=>K.flatMap(L=>{let C=[];return vr(L)?L.ok&&(C=L.data.results):C=L.results,C&&Array.isArray(C)?C:[]})).catch(K=>(console.error("Error getting related members",K),[])),w=A.reduce((K,L)=>{let C=L.variant_slug;return K[C]||(K[C]=[]),K[C].push(L),K},{}),V=[],Q=Object.keys(w),Y=[{combination:[],index:0}];for(;Y.length>0;){let K=Y.pop();if(!K)continue;let{combination:L,index:C}=K;if(C===Q.length){V.push(L);continue}let ae=Q[C],pe=w[ae];for(let le of pe)Y.push({combination:[...L,le],index:C+1});}return {outputVariables:{related_reports:V.map(K=>{let L=K.sort((C,ae)=>_.indexOf(C.variant_slug)-_.indexOf(ae.variant_slug));return {entities:L,link:"/"+L.map(C=>`${C.variant_slug}/${C.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:A.length>0}}}let M=H.map(_=>_.content_id),I={mode:"related",locale:n,related:b??4,current_ids:M,output:"full"};S&&(S==="report"?I.report_ids=O:S==="dimension"?I.dimension_ids=F:I.variant_ids=B);let z=await o(I).then(_=>{let N=[];return vr(_)?_.ok&&(N=_.data.results):N=_.results,N&&Array.isArray(N)?N:[]}).catch(_=>(console.error("Error getting related members",_),[]));return {outputVariables:{related_reports:z.map(_=>({entities:[_],link:`/${_.variant_slug}/${_.slug}`}))},renderVariables:{},status:{log:[],allowed:z.length>0}}}let{logic:m}=Ba(e,n),f=vt(m,t,r),h=Ye("resp",c||{},f,t,a,r),{vars:R,error:T,log:k}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:k,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let x=Object.keys(R).reduce((S,b)=>({...S,[`${e.type}${e.id}${b}`]:R[b]}),{});return {renderVariables:R,outputVariables:[D.GENERATOR,D.SECTION_FLAG].includes(e.type)?R:x,status:{log:k,error:T,duration:p,responseSize:u,resp:c,api:d,allowed:i}}}function Cl(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l]&&t[l].section_id===t[r].section_id||!n).forEach(l=>fo(l,t,o,!1,a,n,s));}})}var fo=(e,t,r=[],o=!0,n=!0,a=!0,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(p=>fo(p,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&Cl(i,t,e,r,a,n,s),r},Bl=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let a=ue(t),{error:s,output:i}=Ye("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},_t=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=ue(n),p=l.variables,u={...a.variables??{}},d={...a.status??{}},m=new Set,f=[],h={};r?h={...h,[r]:e[r]}:t?h=(t??[]).reduce((M,{id:I})=>({...M,...La(I,e)}),{}):h=Object.values(e).filter(M=>po(M)).reduce((M,I)=>({...M,[I.id]:I}),{});let R=Object.values(h).filter(M=>po(M));if(R.length>0){Qe&&console.info("%crunConsumers: calculating section flags","color:purple",R.map(v=>v.id).join(", "));let M=Object.fromEntries(await Promise.all(R.map(async v=>[v.id,await Na(v,o,{...l,variables:p,locale:p.locale},s).then(_=>{let{outputVariables:N,status:A}=_;if(A.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v.id}, Section ${v.section_id}) failed with message: ${A.error}. `);d[v.id]={allowed:!1,error:A.error},u[v.id]={};}return (v.consumers.length>0||[D.GENERATOR,D.SECTION_FLAG,D.RELATED].includes(v.type))&&A.allowed&&Object.keys(N).length>0?u[v.id]=N:u[v.id]={},i==="report"?(d[v.id]={allowed:A.allowed},[D.GENERATOR,D.SECTION_FLAG].includes(v.type)&&A.api&&(d[v.id].api=A.api)):d[v.id]=A,_})]))),z=Object.entries(M).filter(([,v])=>!v.outputVariables[Vn]).map(([v])=>Number(v));m=new Set(z.map(v=>e[v].section_id)),Object.values(h).filter(v=>m.has(v.section_id)).forEach(v=>{f.push(v.id),delete h[v.id];}),Qe&&console.info("%crunConsumers: removing sections","color:purple",m.keys());}let T=m.size>0?Object.fromEntries(Object.entries(e).filter(([,M])=>m?.has(M.section_id)?(f.includes(M.id)||f.push(M.id),!1):!0)):e;if(f.length>0&&(T=Object.fromEntries(Object.entries(T).map(([M,I])=>{let z={...I,inputs:I.inputs.filter(v=>!f.includes(v)),consumers:I.consumers.filter(v=>!f.includes(v))};return [M,z]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};i==="report"&&f.length>0&&f.forEach(M=>{delete u[M],delete d[M],delete e[M];}),Qe&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(h));let k=Object.keys(h).reduce((M,I)=>{let z=new Date,v=fo(Number(I),T,[],!r,!0,c).map(A=>A.split("-")),N=(new Date().getTime()-z.getTime())/1e3;return Qe&&console.info(`%cResolved dependencies for ${I} (${N.toFixed(2)}s)`,"color:blue"),[...M,...v]},[]),x=new Date,S=Object.keys(h).reduce((M,I)=>M.includes(I)?[...M]:[I,...M],Tl(k)),O=(new Date().getTime()-x.getTime())/1e3;Qe&&console.info(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",S);async function F(M,I){let z=new Map;for(let v of M){let _=I[v],A=Promise.all(_.inputs.filter(w=>M.includes(String(w))).map(w=>z.get(Number(w)))).then(async()=>{let w=_.inputs.reduce((L,C)=>({...L,...u[C]}),p),V=_.inputs.find(L=>(_.settings?.ignoreCascade?_.settings?.ignoreCascade:[]).includes(L)||!d[L]?!1:!d[L].allowed||d[L].hiddenByCascade);if(V){d[v]={allowed:!1,hiddenByCascade:d[V].hiddenByCascade||V},u[v]={};return}let Q=new Date,Y=await Na(_,o,{...l,variables:w,locale:w.locale},s).then(({outputVariables:L,status:C})=>{if(C.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v}, Section ${_.section_id}) failed with message: ${C.error}. `);d[v]={allowed:!1,error:C.error},u[v]={};}(_.consumers.length>0||[D.GENERATOR,D.SECTION_FLAG,D.RELATED].includes(_.type))&&C.allowed&&Object.keys(L).length>0?u[v]=L:u[v]={},i==="report"?(d[v]={allowed:C.allowed},[D.GENERATOR,D.SECTION_FLAG].includes(_.type)&&C.api&&(d[v].api=C.api)):d[v]=C;}),K=(new Date().getTime()-Q.getTime())/1e3;return Qe&&console.info(`%cBlock ${_.id} resolved in ${K.toFixed(3)}s`,K>500?"color:red":"color:green"),Y});z.set(Number(v),A);}await Promise.all(Array.from(z.values()));}let B=new Date;await F(S,T);let H=(new Date().getTime()-B.getTime())/1e3;return Qe&&console.info(`%cResolved Variables (${H.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...u},status:{...a.status??{},...d}}};function Ll(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var kt=Ll;function Ml(){let{publicRuntimeConfig:e}=Ol(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Pt=Ml;function Nl(e,t){return +(e<t)-+(e>t)}function kr(e,t,r="ordering"){return Nl(t[r],e[r])}var Ua=(e,t={},r="en",o={},n={})=>{let a={setVariables:o.onSetVariables?o.onSetVariables:c=>c,openModal:o.onOpenModal?o.onOpenModal:c=>c,formatters:t,libs:Ne,locale:r,...n};function s(c){return Function("globals",...c.vars,`with (globals) { ${c.logic} }`).bind(a,a)}function i(c){if(c.vars&&c.logic)return s(c);for(let l in c)Array.isArray(c[l])?c[l]=c[l].map(p=>isObject(p)?i(p):p):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:Ul}=G();var rr=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});rr.define({consumers:[rr],inputs:[rr]});var Fa=new schema.Entity("variant"),Va=new schema.Entity("dimension",{variants:[Fa]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),za=new schema.Entity("section",{blocks:[rr]}),Fl=new schema.Entity("report",{dimensions:[Va],sections:[za]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(kr):[]}}}),Vl=new schema.Entity("formatter"),zl={report:Fl,section:za,block:rr,dimension:Va,variant:Fa,formatter:Vl};function Pr(e,t){let r=zl[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:wt(o,"report"),dimension:wt(o,"dimension"),section:wt(o,"section"),block:wt(o,"block"),variant:wt(o,"variant"),formatter:wt(o,"formatter")}}function wt(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var qa=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}},or=(e=[],t=Ul)=>e.reduce((r,o)=>{let n=Ua({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var se=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",wr=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[se];wr.includes(se)||wr.push(se);var Gl={localeDefault:se,locales:wr,currentLocale:se,preferredLocale:se,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},xr=createSlice({name:"status",initialState:Gl,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Ee=xr.actions;var Hl={attributes:{},variables:{},status:{}},Ir=createSlice({name:"variables",initialState:Hl,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),It=Ir.actions;var Yl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},xe=createSlice({name:"records",initialState:Yl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:nr(e.entities,r.entities||{}),requests:nr(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=Pr(r.type,o),a=nr(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=Cr(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=Cr(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Pr(r.type,r.data),n=nr(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=Pr(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=nr(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=Cr(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=Cr(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(p=>p!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;Ql(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function nr(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Cr(e,t){return e.map(n=>t[n]).sort(kr).map(n=>n.id)}function Ql(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function oe(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=au[e],a=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+a)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(s){return "'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Ct(e){return !!e&&!!e[ie]}function Xe(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===su}(e)||Array.isArray(e)||!!e[Ya]||!!(!((t=e.constructor)===null||t===void 0)&&t[Ya])||vo(e)||_o(e))}function sr(e,t,r){r===void 0&&(r=!1),Lt(e)===0?(r?Object.keys:Io)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Lt(e){var t=e[ie];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:vo(e)?2:_o(e)?3:0}function bo(e,t){return Lt(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Zl(e,t){return Lt(e)===2?e.get(t):e[t]}function Qa(e,t,r){var o=Lt(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Xl(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function vo(e){return ou&&e instanceof Map}function _o(e){return nu&&e instanceof Set}function Ze(e){return e.o||e.t}function ko(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=iu(e);delete t[ie];for(var r=Io(t),o=0;o<r.length;o++){var n=r[o],a=t[n];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[n]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function Po(e,t){return t===void 0&&(t=!1),wo(e)||Ct(e)||!Xe(e)||(Lt(e)>1&&(e.set=e.add=e.clear=e.delete=eu),Object.freeze(e),t&&sr(e,function(r,o){return Po(o,!0)},!0)),e}function eu(){oe(2);}function wo(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function he(e){var t=cu[e];return t||oe(18,e),t}function $a(){return process.env.NODE_ENV==="production"||Bt||oe(0),Bt}function yo(e,t){t&&(he("Patches"),e.u=[],e.s=[],e.v=t);}function Br(e){So(e),e.p.forEach(tu),e.p=null;}function So(e){e===Bt&&(Bt=e.l);}function Ga(e){return Bt={p:[],l:Bt,h:e,m:!0,_:0}}function tu(e){var t=e[ie];t.i===0||t.i===1?t.j():t.g=!0;}function go(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||he("ES5").S(t,e,o),o?(r[ie].P&&(Br(t),oe(4)),Xe(e)&&(e=Lr(t,e),t.l||Or(t,e)),t.u&&he("Patches").M(r[ie].t,e,t.u,t.s)):e=Lr(t,r,[]),Br(t),t.u&&t.v(t.u,t.s),e!==Za?e:void 0}function Lr(e,t,r){if(wo(t))return t;var o=t[ie];if(!o)return sr(t,function(i,c){return ja(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Or(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=ko(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),sr(a,function(i,c){return ja(e,o,n,i,c,r,s)}),Or(e,n,!1),r&&e.u&&he("Patches").N(o,r,e.u,e.s);}return o.o}function ja(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&oe(5),Ct(n)){var i=Lr(e,n,a&&t&&t.i!==3&&!bo(t.R,o)?a.concat(o):void 0);if(Qa(r,o,i),!Ct(i))return;e.m=!1;}else s&&r.add(n);if(Xe(n)&&!wo(n)){if(!e.h.D&&e._<1)return;Lr(e,n),t&&t.A.l||Or(e,n);}}function Or(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&Po(t,r);}function ho(e,t){var r=e[ie];return (r?Ze(r):e)[t]}function Ka(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function Eo(e){e.P||(e.P=!0,e.l&&Eo(e.l));}function Ro(e){e.o||(e.o=ko(e.t));}function Ao(e,t,r){var o=vo(t)?he("MapSet").F(t,r):_o(t)?he("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:$a(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=To;s&&(c=[i],l=ar);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):he("ES5").J(t,r);return (r?r.A:$a()).p.push(o),o}function ru(e){return Ct(e)||oe(22,e),function t(r){if(!Xe(r))return r;var o,n=r[ie],a=Lt(r);if(n){if(!n.P&&(n.i<4||!he("ES5").K(n)))return n.t;n.I=!0,o=Ha(r,a),n.I=!1;}else o=Ha(r,a);return sr(o,function(s,i){n&&Zl(n.t,s)===i||Qa(o,s,t(i));}),a===3?new Set(o):o}(e)}function Ha(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return ko(e)}var Wa,Bt,xo=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",ou=typeof Map<"u",nu=typeof Set<"u",Ja=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Za=xo?Symbol.for("immer-nothing"):((Wa={})["immer-nothing"]=!0,Wa),Ya=xo?Symbol.for("immer-draftable"):"__$immer_draftable",ie=xo?Symbol.for("immer-state"):"__$immer_state";var au={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},su=""+Object.prototype.constructor,Io=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,iu=Object.getOwnPropertyDescriptors||function(e){var t={};return Io(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},cu={},To={get:function(e,t){if(t===ie)return e;var r=Ze(e);if(!bo(r,t))return function(n,a,s){var i,c=Ka(a,s);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!Xe(o)?o:o===ho(e.t,t)?(Ro(e),e.o[t]=Ao(e.A.h,o,e)):o},has:function(e,t){return t in Ze(e)},ownKeys:function(e){return Reflect.ownKeys(Ze(e))},set:function(e,t,r){var o=Ka(Ze(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=ho(Ze(e),t),a=n?.[ie];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Xl(r,n)&&(r!==void 0||bo(e.t,t)))return !0;Ro(e),Eo(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return ho(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,Ro(e),Eo(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Ze(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){oe(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){oe(12);}},ar={};sr(To,function(e,t){ar[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),ar.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&oe(13),ar.set.call(this,e,t,void 0)},ar.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&oe(14),To.set.call(this,e[0],t,r,e[0])};var lu=function(){function e(r){var o=this;this.O=Ja,this.D=!0,this.produce=function(n,a,s){if(typeof n=="function"&&typeof a!="function"){var i=a;a=n;var c=o;return function(h){var R=this;h===void 0&&(h=i);for(var T=arguments.length,k=Array(T>1?T-1:0),x=1;x<T;x++)k[x-1]=arguments[x];return c.produce(h,function(S){var b;return (b=a).call.apply(b,[R,S].concat(k))})}}var l;if(typeof a!="function"&&oe(6),s!==void 0&&typeof s!="function"&&oe(7),Xe(n)){var p=Ga(o),u=Ao(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?Br(p):So(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return yo(p,s),go(h,p)},function(h){throw Br(p),h}):(yo(p,s),go(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Za&&(l=void 0),o.D&&Po(l,!0),s){var m=[],f=[];he("Patches").M(n,l,m,f),s(m,f);}return l}oe(21,n);},this.produceWithPatches=function(n,a){if(typeof n=="function")return function(l){for(var p=arguments.length,u=Array(p>1?p-1:0),d=1;d<p;d++)u[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(u))})};var s,i,c=o.produce(n,a,function(l,p){s=l,i=p;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(l){return [l,s,i]}):[c,s,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){Xe(r)||oe(8),Ct(r)&&(r=ru(r));var o=Ga(this),n=Ao(this,r,void 0);return n[ie].C=!0,So(o),n},t.finishDraft=function(r,o){var n=r&&r[ie];process.env.NODE_ENV!=="production"&&(n&&n.C||oe(9),n.I&&oe(10));var a=n.A;return yo(a,o),go(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Ja&&oe(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var a=o[n];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}n>-1&&(o=o.slice(n+1));var s=he("Patches").$;return Ct(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ce=new lu,uu=ce.produce;ce.produceWithPatches.bind(ce);ce.setAutoFreeze.bind(ce);ce.setUseProxies.bind(ce);ce.applyPatches.bind(ce);ce.createDraft.bind(ce);ce.finishDraft.bind(ce);var Mr=uu;var me=xe.actions,rs=ir({block:et("block"),dimension:et("dimension"),formatter:et("formatter"),report:et("report"),section:et("section"),variant:et("variant")}),re=ir({block:tt("block"),dimension:tt("dimension"),formatter:tt("formatter"),report:tt("report"),section:tt("section"),variant:tt("variant")}),os=ir({block:Ae("block"),dimension:Ae("dimension"),formatter:Ae("formatter"),report:Ae("report"),section:Ae("section"),variant:Ae("variant")}),ns=ir({block:Ot("block"),dimension:Ot("dimension"),formatter:Ot("formatter"),report:Ot("report"),section:Ot("section"),variant:Ot("variant")}),as=ir({block:es("block"),section:es("section")});function ir(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function rt(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(me.setRequest({key:t,type:e,status:s}));}}function Mt(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(me.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function et(e){return t=>{let r=Bo(e,t);return (o,n,a)=>(o(rt(e,r)),ne(a,"create",e)(t).then(i=>(i.ok===!0?o(me.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(Mt(e,r,i.status,i.error)),i)))}}function mu(e){return t=>{let r=Bo(e,t[0]);return (o,n,a)=>(o(rt(e,r)),ne(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(me.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(Mt(e,r,i.status,i.error)),i)))}}function Xa(e,t,r){return r.replace(new RegExp(e,"g"),t)}function fu(e){return e.section_id!==void 0}function yu(e){return e.report_id!==void 0}function es(e){return t=>{let{create:r}=t;return (o,n,a)=>et(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=cs(e,{id:l});if(o(rt(e,`${u}`)),e==="block"&&fu(r)){let d=Mr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=Mr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((T,k)=>{let x=m?m[k]:{};return T[k]={...x,id:l},T},{});}));let h=d.inputs?.map(R=>({type:R.type,id:R.id,inputAction:{operation:"create",input:{input_id:R.id,block_id:d.id}}}));return h&&h.length>0&&ts(e)([d,...h])(o,n,a).then(()=>tt("section")({id:d.section_id,include:!0})(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))),Ae(e)(d)(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}if(e==="section"&&yu(r)){let{id:d}=c,m=Mr(p,R=>{R.id=d;}),{blocks:f}=m,h=f?.map(R=>({type:R.type,blockcol:R.blockcol,blockrow:R.blockrow,section_id:d,locales:Object.keys(R.contentByLocale).map(T=>T)}));return h&&f&&await mu("block")(h)(o,n,a).then(R=>{if(R.ok){let T=R.data,k=[],x=T.map((S,b)=>{let F={...S},B=F.id,W=f[b];W.contentByLocale&&(F.contentByLocale=Object.keys(W.contentByLocale).reduce((A,w)=>{let V=W.contentByLocale[w];return A[w]={...V,content:{...V.content},id:F.id},A},{}));let{settings:H}=W,{contentByLocale:M,id:I}=F;F.settings=H;let z={id:I,contentByLocale:M,settings:H};return W.inputs.map(A=>A.id).reduce((A,w)=>{let V=f.findIndex(Q=>Q.id===w);return [...A,V]},[]).map(A=>({...T[A],originalBlock:f[A]})).forEach(A=>{let{id:w,type:V,originalBlock:Q}=A;if([D.SELECTOR,D.VIZ].includes(V)){if(z.contentByLocale?.logic?.content?.api){let Y=z.contentByLocale?.logic.content.api;z.contentByLocale.logic.content.api=Xa(`(selector${Q.id}id)`,`selector${w}id`,Y);}if(z.contentByLocale?.logic?.content?.logic){let Y=z.contentByLocale.logic.content.logic;z.contentByLocale.logic.content.logic=Xa(`(selector${Q.id}id)`,`selector${w}id`,Y);}}k.push({id:w,inputAction:{operation:"create",input:{input_id:w,block_id:B}}});}),z});return ts("block")([...x,...k])(o,n,a)}}),Ae(e)(m)(o,n,a).then(R=>(R.ok&&o(me.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return Ae(e)({...p,id:c.id})(o,n,a)}})}}function tt(e){return t=>{let r=ss(e,t);return (o,n,a)=>(o(rt(e,r)),ne(a,"read",e)(t).then(i=>(i.ok===!0?o(me.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(Mt(e,r,i.status,i.error)),i)))}}function Ae(e){return t=>{let r=Lo(e,t);return (o,n,a)=>(o(rt(e,r)),ne(a,"update",e)(t).then(i=>(i.ok===!0?o(me.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(Mt(e,r,i.status,i.error)),i)))}}function ts(e){return t=>{let r=Lo(e,t[0]);return (o,n,a)=>(o(rt(e,r)),ne(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(me.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(Mt(e,r,i.status,i.error)),i)))}}function Ot(e){return t=>{let r=is(e,t);return (o,n,a)=>(o(rt(e,r)),ne(a,"delete",e)(t).then(i=>{i.ok===!0?o(me.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(Mt(e,r,i.status,i.error));}))}}function Bo(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function ss(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Lo(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function is(e,t){return `delete(${e}, ${t})`}function cs(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:ls,setPreviews:gu,setSectionState:us,resetSectionState:ps,setCurrentLocale:hu,setPreferredLocale:Ru,addRunConsumersRunning:ds,removeRunConsumersRunning:ms}=Ee;function bu(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function Su(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function Eu(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function Ie(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function Au(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function fs(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(ls(i)),n.activeSection&&t(ys(e,{query:s}));}function Tu(e,t){return async(r,o)=>fs(e,r,o,{query:{[t]:void 0}})}function vu(e,t,r){return async(o,n)=>fs(e,o,n,{query:{[t]:r}})}function ys(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],{parsedParams:c,statusPayload:l}=qa(n.status,t),{sid:p,bid:u,previews:d,query:m}=c;Object.keys(l).length&&r(Ee.setStatus(l));let f={...kt(d),locale:a,...Pt()},h={variables:f,query:m,locale:a};r(Ee.addRunConsumersRunning([p]));let R=n.records.entities.section[p],T=async k=>r(Ie(k));try{let k=await _t(s,R&&[R],u,i,h,void 0,T),{variables:x,status:S}=k;r(It.setVariableChange({attributes:f,variables:x,status:S})),r(Ee.removeRunConsumersRunning([p]));}catch(k){console.error("Error in runConsumers client side: recalculateVariables",k);}}}function _u(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function ku(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function Pu(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function wu(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function xu(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function Iu({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function Cu(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function ot(e){let{removeBlocks:t}=xe.actions;return async r=>{await r(t(e));}}function Oo(e){let{addBlocks:t}=xe.actions;return async r=>{await r(t(e));}}function Bu(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function Lu(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function Ou(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var gs=()=>configureStore({reducer:{[xe.name]:xe.reducer,[xr.name]:xr.reducer,[Ir.name]:Ir.reducer},middleware(e){return e({thunk:{extraArgument:tr("/api/cms/")}})}}),at=createWrapper(gs);function Fu(e){let t=process.cwd(),r=Uu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(Ac.readFileSync(r,"utf-8"));o=n.dependencies&&n.dependencies[e]&&n.dependencies[e].version!=="file:packages/reports"?n.dependencies[e].version:"0.dev";}catch{o="0.vercel";}return o||"Version not found"}function Vu(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t,authOptions:a={providers:[]}}=e||{};return at.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{let l=await fe(c.req,c.res,a);if(!l)return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=new Set([$.ADMIN,$.EDITOR,$.WRITER]);if(!(l?.user?.bespoke_roles||[]).some(T=>p.has(T)))return {redirect:{destination:"/",permanent:!1}};let d=c.query[r],[m]=Array.isArray(d)?d:[d];await i(He);let f=await Fu("@datawheel/bespoke"),h=await o(s,c);if("redirect"in h)return {props:h};m==="reports"&&(hs(c.query[r])?await Promise.all([i(re("formatter",{})),i(re("report",{id:hs(c.query[r]),include:!0})),Ee.setStatus({isCMS:!0})]):await Promise.all([i(re("report",{include:"dimensions"})),Ee.setStatus({isCMS:!0})])),m==="metadata"&&await i(re("report",{include:"dimensions"})),m==="formatters"&&await i(re("formatter",{}));let R=await n(s,c);return {props:{...h,...R,bespokeVersion:f,session:l}}}})}function hs(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:qu}=G(),$u={pathSegment:"path",formatterFunctions:qu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext($u);G();var Nr=e=>e.records.entities.block;function Ut(e){return t=>Object.values(t.records.entities[e])}var Dr=Ut("section"),Ur=Ut("formatter");function np(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=se,locales:a=[]}=o,s=[];if(r>0){let i=a.find(p=>p===n),{searchMember:c}=await qe().then(St),l=await c({query:"",limit:r,format:"plain",locale:i||se,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(p=>({locale:a.find(u=>u===p.locale),params:{bespoke:[p.variant.slug,p.slug]}})));}return {fallback:t,paths:s}}}function ap(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return at.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(He);let a=new Date().toISOString(),{locale:s=se,params:i={}}=n,c=Array.from(Do(i[t]));if(c.length===0)return await Promise.all([o(re("formatter",{})),o(re("report",{include:!0}))]),{props:{buildTime:a}};let l=await o(Ie({mode:"slugs",locale:s,slugs:c,output:"full"}));o(nt.setPreviews(l.results)),await Promise.all([o(re("formatter",{})),o(re("report",{id:l.results.map(b=>b.report_id),include:!0,locales:[s]}))]);let p=r.getState(),u=Ur(p),d=or(u,s),m=Dr(p),f=Nr(p),h={...f},R={},T=Object.values(f).reduce((b,O)=>("access"in O.settings&&!["public","guest"].some(F=>!O.settings.access||O.settings.access.includes(F))&&b.push(O.id),b),[]);T=T.concat(Ke(T,Object.values(h)));let k=T.filter(b=>h[b].settings[sn.FALLBACK]);T.forEach(b=>{k.includes(b)&&(R[b]={...h[b],type:D.FALLBACK,original_type:h[b].type}),delete h[b];}),await o(ot(T)),await o(Oo(R));let x={...kt(l.results),locale:s,...Pt()},S=async b=>await o(Ie(b));return await _t({...h,...R},m,void 0,d,{locale:s,query:i,variables:x},void 0,S,"report").then(async b=>{let O=Object.keys({...h,...R}).reduce((F,B)=>(b.variables[B]&&b.status[B]||F.push(B),F),[]);await o(ot(O)),await o(It.setVariableChange({...b,attributes:x}));}),{props:{buildTime:a}}}})}catch(r){console.error("ERROR SSR",r);}}function Do(e=[]){let t=[].concat(e),r=0;return {next(){return {value:{variantSlug:t[r++],memberSlug:t[r++]},done:r>t.length}},[Symbol.iterator](){return this}}}function sp(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return at.getServerSideProps(r=>{let{dispatch:o}=r;return async n=>{let{section:a,block:s}=n.query,i=Object.fromEntries(Object.entries(n.query).filter(([B])=>B.match(/selector\d+id/)));if(!a&&!s)return {notFound:!0};let c=Number(a);await o(He);let l=new Date().toISOString(),{locale:p=se,params:u={}}=n,d=Array.from(Do(u[t]));if(d.length===0)return {notFound:!0};let m=await o(Ie({mode:"slugs",locale:p,slugs:d,output:"full"}));o(nt.setPreviews(m.results)),await Promise.all([o(re("formatter",{})),o(re("report",{id:m.results.map(B=>B.report_id),include:!0,locales:[p]}))]);let f=r.getState(),h=Ur(f),R=or(h,p),T=Dr(f).filter(B=>B.id===c),k=Nr(f),x={...k},S=Object.values(k).reduce((B,W)=>("access"in W.settings&&!["public","guest"].some(H=>!W.settings.access||W.settings.access.includes(H))&&B.push(W.id),B),[]);S=S.concat(Ke(S,Object.values(x))),S.forEach(B=>{delete x[B];}),await o(ot(S));let b={...kt(m.results),locale:p,...Pt()},O=async B=>await o(Ie(B));await _t(x,T,void 0,R,{locale:p,query:{...u,...i},variables:b},void 0,O,"section").then(B=>{o(It.setVariableChange({...B,attributes:b}));});let F=Object.keys(x).filter(B=>a&&s?B!==s:x[B].section_id!==c);return await o(ot(F)),{props:{buildTime:l}}}})}catch(r){console.error("ERROR SSR",r);}}
|
|
64
68
|
|
|
65
|
-
export {
|
|
69
|
+
export { sp as BespokeEmbedServerSideProps, rl as BespokeEndpointNextJsHandlerFactory, fe as BespokeGetSession, xs as BespokeHandleAuth, Vu as BespokeManagerServerSideProps, np as BespokeRendererStaticPaths, ap as BespokeRendererStaticProps, Vs as BespokeSearchUsersByMetadata, Ls as BespokeUpdateCurrentUserAppMetadata, Ns as BespokeUpdateCurrentUserMetadata, Us as BespokeWithApiRoleAuthRequired, nl as ReportCrosswalkHandler, St as dbApiFactory, no as endpointKey, qe as getDB, He as useDatabaseApi };
|