diff --git a/inst/dist/@cori-risi/cotexts/AmplifyContextProvider.js b/inst/dist/@cori-risi/cotexts/AmplifyContextProvider.js new file mode 100644 index 00000000..f944003a --- /dev/null +++ b/inst/dist/@cori-risi/cotexts/AmplifyContextProvider.js @@ -0,0 +1,72 @@ +/* + * CORI Data API component library + * {@link https://github.com/ruralinnovation/cori.data.api} + * @copyright Rural Innovation Strategies, Inc. + * @license ISC + */ +import React, { createContext, useState, useEffect } from 'react'; +import { Amplify } from 'aws-amplify'; +import amplifyconfig from './amplifyconfiguration.json.js'; + +Amplify.configure(amplifyconfig); +const initAmplifyContext = { + domain: undefined, + region: undefined, + identityPoolId: undefined, + userPoolId: undefined, + userPoolClientId: undefined, +}; +const AmplifyContext = createContext(initAmplifyContext); +function AmplifyContextProvider(props) { + const [state, setState] = useState(initAmplifyContext); + useEffect(() => { + if (!!props.domain + && !!props.region + && !!props.identityPoolId + && !!props.userPoolId + && !!props.userPoolClientId) { + const { domain, region, identityPoolId, userPoolId, userPoolClientId } = props; + const aws_original_auth_config = { + "Auth": { + "domain": domain, + "region": region, + "identityPoolRegion": region, + "identityPoolId": identityPoolId, + "userPoolId": userPoolId, + // "userPoolClientId": userPoolClientId, + "userPoolWebClientId": userPoolClientId, + "clientId": userPoolClientId, + "oauth": { + "domain": domain, + // "scope": [ "email", "profile", "openid", "aws.cognito.signin.user.admin" ], + // "scope": [ "email", "openid", "profile" ], + // "scope": [ "email" ], + "scope": ["openid"], + "redirectSignIn": window.location.protocol + "//" + window.location.hostname + ((!!window.location.port) ? ":" + window.location.port : ""), + "redirectSignOut": window.location.protocol + "//" + window.location.hostname + ((!!window.location.port) ? ":" + window.location.port : "") + "/", + "responseType": "code" // ... or "token", note that REFRESH token will only + // be generated when the responseType is "code" + } + } + }; + Amplify.configure(Object.assign(Object.assign({}, Amplify.getConfig()), { Auth: Object.assign(Object.assign({}, Amplify.getConfig().Auth), { Cognito: Object.assign(Object.assign(Object.assign({}, Amplify.getConfig().Auth.Cognito), aws_original_auth_config.Auth), { loginWith: Object.assign(Object.assign({}, Amplify.getConfig().Auth.Cognito.loginWith), { oauth: Object.assign(Object.assign(Object.assign({}, Amplify.getConfig().Auth.Cognito.loginWith.oauth), aws_original_auth_config.Auth.oauth), { redirectSignIn: [ + aws_original_auth_config.Auth.oauth.redirectSignIn + ], redirectSignOut: [ + aws_original_auth_config.Auth.oauth.redirectSignOut + ], responseType: aws_original_auth_config.Auth.oauth.responseType, scopes: [ + ...aws_original_auth_config.Auth.oauth.scope + ] }), username: true }), userPoolClientId: aws_original_auth_config.Auth.clientId }) }) })); + setState({ + domain, + region, + identityPoolId, + userPoolId, + userPoolClientId + }); + } + }, []); + return (React.createElement("div", { className: "amplify-context" }, props.children)); +} + +export { AmplifyContext, AmplifyContextProvider as default }; +//# sourceMappingURL=AmplifyContextProvider.js.map diff --git a/inst/dist/@cori-risi/cotexts/AmplifyContextProvider.js.map b/inst/dist/@cori-risi/cotexts/AmplifyContextProvider.js.map new file mode 100644 index 00000000..3903639a --- /dev/null +++ b/inst/dist/@cori-risi/cotexts/AmplifyContextProvider.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AmplifyContextProvider.js","sources":["../../../../lib/@cori-risi/cotexts/AmplifyContextProvider.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactElement,\n useEffect,\n useState\n} from \"react\";\nimport { Amplify } from \"aws-amplify\";\n\nimport amplifyconfig from './amplifyconfiguration.json';\n\nAmplify.configure(amplifyconfig);\n\ntype AmplifyContextType = {\n domain?: string,\n region?: string,\n identityPoolId?: string,\n userPoolId?: string,\n userPoolClientId?: string,\n};\n\nconst initAmplifyContext: AmplifyContextType = {\n domain: undefined,\n region: undefined,\n identityPoolId: undefined,\n userPoolId: undefined,\n userPoolClientId: undefined,\n};\n\nexport const AmplifyContext = createContext(initAmplifyContext);\n\nexport default function AmplifyContextProvider(props: {\n children?: ReactElement,\n domain?: string,\n region?: string,\n userPoolId?: string,\n userPoolClientId?: string,\n identityPoolId?: string,\n\n}) {\n\n const [ state, setState ] = useState(initAmplifyContext);\n\n useEffect(() => {\n if (!!props.domain\n && !!props.region\n && !!props.identityPoolId\n && !!props.userPoolId\n && !!props.userPoolClientId\n ) {\n\n const {\n domain,\n region,\n identityPoolId,\n userPoolId,\n userPoolClientId\n } = props;\n\n const aws_original_auth_config = {\n \"Auth\": {\n \"domain\": domain,\n \"region\": region,\n \"identityPoolRegion\": region,\n \"identityPoolId\": identityPoolId,\n \"userPoolId\": userPoolId,\n // \"userPoolClientId\": userPoolClientId,\n \"userPoolWebClientId\": userPoolClientId,\n \"clientId\": userPoolClientId,\n \"oauth\": {\n \"domain\": domain,\n // \"scope\": [ \"email\", \"profile\", \"openid\", \"aws.cognito.signin.user.admin\" ],\n // \"scope\": [ \"email\", \"openid\", \"profile\" ],\n // \"scope\": [ \"email\" ],\n \"scope\": [\"openid\"],\n \"redirectSignIn\": window.location.protocol + \"//\" + window.location.hostname + ((!!window.location.port) ? \":\" + window.location.port : \"\"),\n \"redirectSignOut\": window.location.protocol + \"//\" + window.location.hostname + ((!!window.location.port) ? \":\" + window.location.port : \"\") + \"/\",\n \"responseType\": (\"code\" as \"code\") // ... or \"token\", note that REFRESH token will only\n // be generated when the responseType is \"code\"\n }\n }\n };\n\n Amplify.configure({\n // TODO: Why is this so ridiculous and how can these options be\n // specified exclusively in amplifyconfiguration.json ???\n ...Amplify.getConfig(),\n Auth: {\n ...Amplify.getConfig().Auth!,\n Cognito: {\n ...Amplify.getConfig().Auth!.Cognito!,\n ...aws_original_auth_config.Auth,\n loginWith: {\n ...Amplify.getConfig().Auth!.Cognito!.loginWith!,\n oauth: {\n ...Amplify.getConfig().Auth!.Cognito!.loginWith!.oauth!,\n ...aws_original_auth_config.Auth.oauth,\n redirectSignIn: [\n aws_original_auth_config.Auth.oauth.redirectSignIn\n ],\n redirectSignOut: [\n aws_original_auth_config.Auth.oauth.redirectSignOut\n ],\n responseType: (aws_original_auth_config.Auth.oauth.responseType as \"code\"),\n scopes: [\n ...aws_original_auth_config.Auth.oauth.scope\n ]\n },\n username: true,\n },\n userPoolClientId: aws_original_auth_config.Auth.clientId\n }\n }\n });\n\n setState({\n domain,\n region,\n identityPoolId,\n userPoolId,\n userPoolClientId\n });\n }\n\n }, []);\n\n\n return (\n
\n {props.children}\n
\n )\n\n}\n"],"names":[],"mappings":";;;;;;;;;;AAUA,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAUjC,MAAM,kBAAkB,GAAuB;AAC3C,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,gBAAgB,EAAE,SAAS;CAC9B,CAAC;MAEW,cAAc,GAAG,aAAa,CAA4B,kBAAkB,EAAE;AAEnE,SAAA,sBAAsB,CAAC,KAQ9C,EAAA;IAEG,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,QAAQ,CAA4B,kBAAkB,CAAC,CAAC;IAEpF,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM;eACX,CAAC,CAAC,KAAK,CAAC,MAAM;eACd,CAAC,CAAC,KAAK,CAAC,cAAc;eACtB,CAAC,CAAC,KAAK,CAAC,UAAU;AAClB,eAAA,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAC7B;AAEE,YAAA,MAAM,EACF,MAAM,EACN,MAAM,EACN,cAAc,EACd,UAAU,EACV,gBAAgB,EACnB,GAAG,KAAK,CAAC;AAEV,YAAA,MAAM,wBAAwB,GAAG;AAC7B,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,oBAAoB,EAAE,MAAM;AAC5B,oBAAA,gBAAgB,EAAE,cAAc;AAChC,oBAAA,YAAY,EAAE,UAAU;;AAExB,oBAAA,qBAAqB,EAAE,gBAAgB;AACvC,oBAAA,UAAU,EAAE,gBAAgB;AAC5B,oBAAA,OAAO,EAAE;AACL,wBAAA,QAAQ,EAAE,MAAM;;;;wBAIhB,OAAO,EAAE,CAAC,QAAQ,CAAC;AACnB,wBAAA,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC;AAC3I,wBAAA,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,GAAG;wBAClJ,cAAc,EAAG,MAAiB;;AAErC,qBAAA;AACJ,iBAAA;aACJ,CAAC;AAEF,YAAA,OAAO,CAAC,SAAS,CAGV,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAC,SAAS,EAAE,CAAA,EAAA,EACtB,IAAI,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACG,OAAO,CAAC,SAAS,EAAE,CAAC,IAAK,CAAA,EAAA,EAC5B,OAAO,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACA,OAAO,CAAC,SAAS,EAAE,CAAC,IAAK,CAAC,OAAQ,CAAA,EAClC,wBAAwB,CAAC,IAAI,CAChC,EAAA,EAAA,SAAS,EACF,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAC,SAAS,EAAE,CAAC,IAAK,CAAC,OAAQ,CAAC,SAAU,CAChD,EAAA,EAAA,KAAK,EACE,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAC,SAAS,EAAE,CAAC,IAAK,CAAC,OAAQ,CAAC,SAAU,CAAC,KAAM,CAAA,EACpD,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAA,EAAA,EACtC,cAAc,EAAE;AACZ,oCAAA,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc;AACrD,iCAAA,EACD,eAAe,EAAE;AACb,oCAAA,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe;iCACtD,EACD,YAAY,EAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAuB,EAC1E,MAAM,EAAE;AACJ,oCAAA,GAAG,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;AAC/C,iCAAA,EAAA,CAAA,EAEL,QAAQ,EAAE,IAAI,EAAA,CAAA,EAElB,gBAAgB,EAAE,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAGlE,CAAC;AAEH,YAAA,QAAQ,CAAC;gBACL,MAAM;gBACN,MAAM;gBACN,cAAc;gBACd,UAAU;gBACV,gBAAgB;AACnB,aAAA,CAAC,CAAC;SACN;KAEJ,EAAE,EAAE,CAAC,CAAC;IAGP,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,iBAAiB,EAC5B,EAAA,KAAK,CAAC,QAAQ,CACb,EACT;AAEL;;;;"} \ No newline at end of file diff --git a/inst/dist/@cori-risi/cotexts/ApiContextProvider.d.ts.map b/inst/dist/@cori-risi/cotexts/ApiContextProvider.d.ts.map index ed8a182a..f89eff21 100644 --- a/inst/dist/@cori-risi/cotexts/ApiContextProvider.d.ts.map +++ b/inst/dist/@cori-risi/cotexts/ApiContextProvider.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ApiContextProvider.d.ts","sourceRoot":"","sources":["../../../../lib/@cori-risi/cotexts/ApiContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEV,YAAY,EAGf,MAAM,OAAO,CAAC;AACf,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa7C,OAAO,iCAAiC,CAAC;AAczC,UAAU,cAAc;IACpB,SAAS,EAAE,aAAa,CAAC;IAIzB,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5C;AAaD,eAAO,MAAM,UAAU,sCAAkD,CAAC;AAM1E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,qBAsD/F"} \ No newline at end of file +{"version":3,"file":"ApiContextProvider.d.ts","sourceRoot":"","sources":["../../../../lib/@cori-risi/cotexts/ApiContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEV,YAAY,EAGf,MAAM,OAAO,CAAC;AACf,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa7C,OAAO,iCAAiC,CAAC;AAiBzC,UAAU,cAAc;IACpB,SAAS,EAAE,aAAa,CAAC;IAIzB,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CAC5C;AAaD,eAAO,MAAM,UAAU,sCAAkD,CAAC;AAM1E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,YAAY,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,qBAsD/F"} \ No newline at end of file diff --git a/inst/dist/@cori-risi/cotexts/ApiContextProvider.js b/inst/dist/@cori-risi/cotexts/ApiContextProvider.js index 816c5551..9db6ea69 100644 --- a/inst/dist/@cori-risi/cotexts/ApiContextProvider.js +++ b/inst/dist/@cori-risi/cotexts/ApiContextProvider.js @@ -7,10 +7,13 @@ import React, { createContext, useState, useEffect } from 'react'; import axios from 'axios'; -const BASE_URL = ""; // `${import.meta.env.VITE_CORI_DATA_API}`; -// TODO: From now on will pass API url in as param to ApiContextProvider because: +const BASE_URL = "http://localhost:8000"; // `${import.meta.env.VITE_CORI_DATA_API}`; +// TODO: From now on must pass dev/prod API url in as param to ApiContextProvider because: // cori.data.api/lib/@cori-risi/cotexts/ApiContextProvider.tsx:22 // const BASE_URL = `${import.meta.env.VITE_CORI_DATA_API}`; +// ^^^^ +// SyntaxError: Cannot use 'import.meta' outside a module +// const apiClient = axios.create({ baseURL: BASE_URL, headers: { diff --git a/inst/dist/@cori-risi/cotexts/ApiContextProvider.js.map b/inst/dist/@cori-risi/cotexts/ApiContextProvider.js.map index 9b46c421..0216ce2e 100644 --- a/inst/dist/@cori-risi/cotexts/ApiContextProvider.js.map +++ b/inst/dist/@cori-risi/cotexts/ApiContextProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"ApiContextProvider.js","sources":["../../../../lib/@cori-risi/cotexts/ApiContextProvider.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactElement,\n useEffect,\n useState\n} from \"react\";\nimport axios, { AxiosInstance } from 'axios';\n// import { fetchAuthSession, JWT } from \"@aws-amplify/auth\";\n// import { getCurrentUser } from \"@aws-amplify/auth/cognito\";\n// import { useAuthenticator, UseAuthenticator } from \"@aws-amplify/ui-react\";\n// import { useDispatch, useSelector } from \"react-redux\";\n// import {\n// updateUserId,\n// updateUserName,\n// updateUserTokens,\n// selectUser\n// } from \"../features\";\n// import { User } from '../models';\n\nimport \"./styles/ApiContextProvider.css\";\n\nconst BASE_URL = \"\"; // `${import.meta.env.VITE_CORI_DATA_API}`;\n// TODO: From now on will pass API url in as param to ApiContextProvider because:\n// cori.data.api/lib/@cori-risi/cotexts/ApiContextProvider.tsx:22\n// const BASE_URL = `${import.meta.env.VITE_CORI_DATA_API}`;\n\nconst apiClient: AxiosInstance = axios.create({\n baseURL: BASE_URL,\n headers: {\n 'Content-Type': 'application/json'\n },\n});\n\ninterface ApiContextType {\n apiClient: AxiosInstance;\n // authenticated: boolean;\n // authenticated_user: User | null;\n // autoSignOut: (() => void) | null;\n baseURL: string;\n // token: JWT | null;\n data: any;\n setData: ((newData: any) => void) | null;\n}\n\nconst initState: ApiContextType = {\n apiClient: apiClient,\n // authenticated: false,\n // authenticated_user: null,\n // autoSignOut: null,\n baseURL: BASE_URL,\n // token: null,\n data: {},\n setData: null\n};\n\nexport const ApiContext = createContext(initState);\n\n// let hasAuthSession = false;\n// let hasAuthUser = false;\n// let hasAuthClient = false;\n\nexport default function ApiContextProvider (props: { children?: ReactElement, baseURL?: string }) {\n\n // const authenticator: UseAuthenticator = useAuthenticator();\n // const userState: User = useSelector(selectUser);\n // const dispatch = useDispatch();\n\n // const [ authenticated_user, setAuthenticatedUser ] = useState(userState);\n\n const [ state, setState ] = useState(initState);\n\n function setData(newData: any) {\n const currentState: ApiContextType = state!;\n setState({\n ...currentState,\n data: {\n ...currentState.data,\n ...newData\n },\n setData: setData\n });\n }\n\n useEffect(() => {\n\n apiClient.interceptors.request.use(\n (config) => {\n // const accessToken = tokens.idToken!.toString();\n // if (!!accessToken) {\n // config.headers.Authorization = `Bearer ${accessToken}`;\n // }\n if (!!props.baseURL) {\n config.baseURL = props.baseURL;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n setState({\n apiClient: apiClient,\n baseURL: props.baseURL || BASE_URL,\n data: {},\n setData\n });\n\n }, []);\n\n return (<>\n \n {/**/}\n {props.children}\n {/**/}\n \n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAqBA,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB;AACA;AACA;AAEA,MAAM,SAAS,GAAkB,KAAK,CAAC,MAAM,CAAC;AAC1C,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;AACL,QAAA,cAAc,EAAE,kBAAkB;AACrC,KAAA;AACJ,CAAA,CAAC,CAAC;AAaH,MAAM,SAAS,GAAmB;AAC9B,IAAA,SAAS,EAAE,SAAS;;;;AAIpB,IAAA,OAAO,EAAE,QAAQ;;AAEjB,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,OAAO,EAAE,IAAI;CAChB,CAAC;MAEW,UAAU,GAAG,aAAa,CAAwB,SAAS,EAAE;AAE1E;AACA;AACA;AAEwB,SAAA,kBAAkB,CAAE,KAAoD,EAAA;;;;;IAQ5F,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,QAAQ,CAAwB,SAAS,CAAC,CAAC;IAEvE,SAAS,OAAO,CAAC,OAAY,EAAA;QACzB,MAAM,YAAY,GAAoB,KAAM,CAAC;AAC7C,QAAA,QAAQ,CACD,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,YAAY,CACf,EAAA,EAAA,IAAI,kCACG,YAAY,CAAC,IAAI,CAAA,EACjB,OAAO,CAEd,EAAA,OAAO,EAAE,OAAO,IAClB,CAAC;KACN;IAED,SAAS,CAAC,MAAK;QAEX,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAC9B,CAAC,MAAM,KAAI;;;;;AAKP,YAAA,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;AACjB,gBAAA,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;aAClC;AACD,YAAA,OAAO,MAAM,CAAC;AAClB,SAAC,EACD,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACnC,CAAC;AAEF,QAAA,QAAQ,CAAC;AACL,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ;AAClC,YAAA,IAAI,EAAE,EAAE;YACR,OAAO;AACV,SAAA,CAAC,CAAC;KAEN,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,QAAQ,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACJ,QAAA,KAAA,CAAA,aAAA,CAAC,UAAU,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAExB,EAAA,KAAK,CAAC,QAAQ,CAED,CACvB,EAAE;AACT;;;;"} \ No newline at end of file +{"version":3,"file":"ApiContextProvider.js","sources":["../../../../lib/@cori-risi/cotexts/ApiContextProvider.tsx"],"sourcesContent":["import React, {\n createContext,\n ReactElement,\n useEffect,\n useState\n} from \"react\";\nimport axios, { AxiosInstance } from 'axios';\n// import { fetchAuthSession, JWT } from \"@aws-amplify/auth\";\n// import { getCurrentUser } from \"@aws-amplify/auth/cognito\";\n// import { useAuthenticator, UseAuthenticator } from \"@aws-amplify/ui-react\";\n// import { useDispatch, useSelector } from \"react-redux\";\n// import {\n// updateUserId,\n// updateUserName,\n// updateUserTokens,\n// selectUser\n// } from \"../features\";\n// import { User } from '../models';\n\nimport \"./styles/ApiContextProvider.css\";\n\nconst BASE_URL = \"http://localhost:8000\"; // `${import.meta.env.VITE_CORI_DATA_API}`;\n// TODO: From now on must pass dev/prod API url in as param to ApiContextProvider because:\n// cori.data.api/lib/@cori-risi/cotexts/ApiContextProvider.tsx:22\n// const BASE_URL = `${import.meta.env.VITE_CORI_DATA_API}`;\n// ^^^^\n// SyntaxError: Cannot use 'import.meta' outside a module\n//\n\nconst apiClient: AxiosInstance = axios.create({\n baseURL: BASE_URL,\n headers: {\n 'Content-Type': 'application/json'\n },\n});\n\ninterface ApiContextType {\n apiClient: AxiosInstance;\n // authenticated: boolean;\n // authenticated_user: User | null;\n // autoSignOut: (() => void) | null;\n baseURL: string;\n // token: JWT | null;\n data: any;\n setData: ((newData: any) => void) | null;\n}\n\nconst initState: ApiContextType = {\n apiClient: apiClient,\n // authenticated: false,\n // authenticated_user: null,\n // autoSignOut: null,\n baseURL: BASE_URL,\n // token: null,\n data: {},\n setData: null\n};\n\nexport const ApiContext = createContext(initState);\n\n// let hasAuthSession = false;\n// let hasAuthUser = false;\n// let hasAuthClient = false;\n\nexport default function ApiContextProvider (props: { children?: ReactElement, baseURL?: string }) {\n\n // const authenticator: UseAuthenticator = useAuthenticator();\n // const userState: User = useSelector(selectUser);\n // const dispatch = useDispatch();\n\n // const [ authenticated_user, setAuthenticatedUser ] = useState(userState);\n\n const [ state, setState ] = useState(initState);\n\n function setData(newData: any) {\n const currentState: ApiContextType = state!;\n setState({\n ...currentState,\n data: {\n ...currentState.data,\n ...newData\n },\n setData: setData\n });\n }\n\n useEffect(() => {\n\n apiClient.interceptors.request.use(\n (config) => {\n // const accessToken = tokens.idToken!.toString();\n // if (!!accessToken) {\n // config.headers.Authorization = `Bearer ${accessToken}`;\n // }\n if (!!props.baseURL) {\n config.baseURL = props.baseURL;\n }\n return config;\n },\n (error) => Promise.reject(error)\n );\n\n setState({\n apiClient: apiClient,\n baseURL: props.baseURL || BASE_URL,\n data: {},\n setData\n });\n\n }, []);\n\n return (<>\n \n {/**/}\n {props.children}\n {/**/}\n \n );\n}\n"],"names":[],"mappings":";;;;;;;;;AAqBA,MAAM,QAAQ,GAAG,uBAAuB,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,SAAS,GAAkB,KAAK,CAAC,MAAM,CAAC;AAC1C,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,OAAO,EAAE;AACL,QAAA,cAAc,EAAE,kBAAkB;AACrC,KAAA;AACJ,CAAA,CAAC,CAAC;AAaH,MAAM,SAAS,GAAmB;AAC9B,IAAA,SAAS,EAAE,SAAS;;;;AAIpB,IAAA,OAAO,EAAE,QAAQ;;AAEjB,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,OAAO,EAAE,IAAI;CAChB,CAAC;MAEW,UAAU,GAAG,aAAa,CAAwB,SAAS,EAAE;AAE1E;AACA;AACA;AAEwB,SAAA,kBAAkB,CAAE,KAAoD,EAAA;;;;;IAQ5F,MAAM,CAAE,KAAK,EAAE,QAAQ,CAAE,GAAG,QAAQ,CAAwB,SAAS,CAAC,CAAC;IAEvE,SAAS,OAAO,CAAC,OAAY,EAAA;QACzB,MAAM,YAAY,GAAoB,KAAM,CAAC;AAC7C,QAAA,QAAQ,CACD,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,YAAY,CACf,EAAA,EAAA,IAAI,kCACG,YAAY,CAAC,IAAI,CAAA,EACjB,OAAO,CAEd,EAAA,OAAO,EAAE,OAAO,IAClB,CAAC;KACN;IAED,SAAS,CAAC,MAAK;QAEX,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAC9B,CAAC,MAAM,KAAI;;;;;AAKP,YAAA,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;AACjB,gBAAA,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;aAClC;AACD,YAAA,OAAO,MAAM,CAAC;AAClB,SAAC,EACD,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CACnC,CAAC;AAEF,QAAA,QAAQ,CAAC;AACL,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ;AAClC,YAAA,IAAI,EAAE,EAAE;YACR,OAAO;AACV,SAAA,CAAC,CAAC;KAEN,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,QAAQ,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA;AACJ,QAAA,KAAA,CAAA,aAAA,CAAC,UAAU,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAExB,EAAA,KAAK,CAAC,QAAQ,CAED,CACvB,EAAE;AACT;;;;"} \ No newline at end of file diff --git a/inst/dist/@cori-risi/cotexts/amplifyconfiguration.json.js b/inst/dist/@cori-risi/cotexts/amplifyconfiguration.json.js new file mode 100644 index 00000000..14331d47 --- /dev/null +++ b/inst/dist/@cori-risi/cotexts/amplifyconfiguration.json.js @@ -0,0 +1,166 @@ +/* + * CORI Data API component library + * {@link https://github.com/ruralinnovation/cori.data.api} + * @copyright Rural Innovation Strategies, Inc. + * @license ISC + */ +var Auth = { + oauth: { + domain: "authcori.auth.us-east-1.amazoncognito.com" + } +}; +var aws_project_region = "us-east-1"; +var aws_user_pools_id = "us-east-1_QeA4600FA"; +var aws_user_pools_web_client_id = "5eusi16g0o2q1g1rr5ehgudodm"; +var aws_cognito_domain = "authcori.auth.us-east-1.amazoncognito.com"; +var aws_cognito_region = "us-east-1"; +var aws_cognito_identity_pool_id = "us-east-1:2194a76a-fa3d-4c33-999e-e3c4b2b049ee"; +var aws_cognito_signup_attributes = [ + "EMAIL" +]; +var aws_cognito_username_attributes = [ + "EMAIL", + "OPENID" +]; +var aws_cognito_verification_mechanisms = [ + "EMAIL", + "OPENID" +]; +var aws_cognito_password_protection_settings = { + passwordPolicyMinLength: 8, + passwordPolicyCharacters: [ + "REQUIRES_NUMBERS", + "REQUIRES_LOWERCASE", + "REQUIRES_UPPERCASE", + "REQUIRES_SYMBOLS" + ] +}; +var aws_appsync_graphqlEndpoint = "https://bdkxhfgus5dztobic7gvn5ymue.appsync-api.us-east-1.amazonaws.com/graphql"; +var aws_appsync_region = "us-east-1"; +var aws_appsync_apiKey = "da2-yexc3mow25fc3amaendi4vscuq"; +var aws_appsync_authenticationType = "API_KEY"; +var aws_appsync_additionalAuthenticationTypes = "AMAZON_COGNITO_USER_POOLS,AWS_IAM"; +var modelIntrospection = { + version: 1, + models: { + Todo: { + name: "Todo", + fields: { + id: { + name: "id", + isArray: false, + type: "ID", + isRequired: true, + attributes: [ + ] + }, + content: { + name: "content", + isArray: false, + type: "String", + isRequired: false, + attributes: [ + ] + }, + owner: { + name: "owner", + isArray: false, + type: "String", + isRequired: false, + attributes: [ + ] + }, + createdAt: { + name: "createdAt", + isArray: false, + type: "AWSDateTime", + isRequired: true, + attributes: [ + ] + }, + updatedAt: { + name: "updatedAt", + isArray: false, + type: "AWSDateTime", + isRequired: true, + attributes: [ + ] + } + }, + syncable: true, + pluralName: "Todos", + attributes: [ + { + type: "model", + properties: { + } + }, + { + type: "key", + properties: { + fields: [ + "id" + ] + } + }, + { + type: "auth", + properties: { + rules: [ + { + provider: "userPools", + ownerField: "owner", + allow: "owner", + identityClaim: "cognito:username", + operations: [ + "create", + "update", + "delete", + "read" + ] + }, + { + allow: "public", + operations: [ + "read" + ] + } + ] + } + } + ], + primaryKeyInfo: { + isCustomPrimaryKey: false, + primaryKeyFieldName: "id", + sortKeyFieldNames: [ + ] + } + } + }, + enums: { + }, + nonModels: { + } +}; +var amplifyconfig = { + Auth: Auth, + aws_project_region: aws_project_region, + aws_user_pools_id: aws_user_pools_id, + aws_user_pools_web_client_id: aws_user_pools_web_client_id, + aws_cognito_domain: aws_cognito_domain, + aws_cognito_region: aws_cognito_region, + aws_cognito_identity_pool_id: aws_cognito_identity_pool_id, + aws_cognito_signup_attributes: aws_cognito_signup_attributes, + aws_cognito_username_attributes: aws_cognito_username_attributes, + aws_cognito_verification_mechanisms: aws_cognito_verification_mechanisms, + aws_cognito_password_protection_settings: aws_cognito_password_protection_settings, + aws_appsync_graphqlEndpoint: aws_appsync_graphqlEndpoint, + aws_appsync_region: aws_appsync_region, + aws_appsync_apiKey: aws_appsync_apiKey, + aws_appsync_authenticationType: aws_appsync_authenticationType, + aws_appsync_additionalAuthenticationTypes: aws_appsync_additionalAuthenticationTypes, + modelIntrospection: modelIntrospection +}; + +export { Auth, aws_appsync_additionalAuthenticationTypes, aws_appsync_apiKey, aws_appsync_authenticationType, aws_appsync_graphqlEndpoint, aws_appsync_region, aws_cognito_domain, aws_cognito_identity_pool_id, aws_cognito_password_protection_settings, aws_cognito_region, aws_cognito_signup_attributes, aws_cognito_username_attributes, aws_cognito_verification_mechanisms, aws_project_region, aws_user_pools_id, aws_user_pools_web_client_id, amplifyconfig as default, modelIntrospection }; +//# sourceMappingURL=amplifyconfiguration.json.js.map diff --git a/inst/dist/@cori-risi/cotexts/amplifyconfiguration.json.js.map b/inst/dist/@cori-risi/cotexts/amplifyconfiguration.json.js.map new file mode 100644 index 00000000..b40b1719 --- /dev/null +++ b/inst/dist/@cori-risi/cotexts/amplifyconfiguration.json.js.map @@ -0,0 +1 @@ +{"version":3,"file":"amplifyconfiguration.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/lib/@cori-risi/cotexts/ApiContextProvider.tsx b/lib/@cori-risi/cotexts/ApiContextProvider.tsx index a2e26d79..27c17f08 100644 --- a/lib/@cori-risi/cotexts/ApiContextProvider.tsx +++ b/lib/@cori-risi/cotexts/ApiContextProvider.tsx @@ -19,10 +19,13 @@ import axios, { AxiosInstance } from 'axios'; import "./styles/ApiContextProvider.css"; -const BASE_URL = ""; // `${import.meta.env.VITE_CORI_DATA_API}`; -// TODO: From now on will pass API url in as param to ApiContextProvider because: +const BASE_URL = "http://localhost:8000"; // `${import.meta.env.VITE_CORI_DATA_API}`; +// TODO: From now on must pass dev/prod API url in as param to ApiContextProvider because: // cori.data.api/lib/@cori-risi/cotexts/ApiContextProvider.tsx:22 // const BASE_URL = `${import.meta.env.VITE_CORI_DATA_API}`; +// ^^^^ +// SyntaxError: Cannot use 'import.meta' outside a module +// const apiClient: AxiosInstance = axios.create({ baseURL: BASE_URL,