@webiny/app-tenancy 5.41.4 → 5.42.0-beta.1
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/contexts/Tenancy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_store","_interopRequireDefault","_plugins","_TenantHeaderLinkPlugin","_appAdmin","TenancyContext","exports","React","createContext","tenant","setTenant","isMultiTenant","LOCAL_STORAGE_KEY","loadState","localStorage","get","storeState","state","set","getInitialTenant","searchParams","URLSearchParams","location","search","tenantId","currentTenant","plugins","register","TenantHeaderLinkPlugin","goToDashboard","url","URL","window","toString","pathname","href","TenancyProvider","props","_useState","useState","_useState2","_slicedToArray2","default","_useWcp","useWcp","canUseFeature","changeTenant","useCallback","remove","value","useMemo","createElement","Provider","Fragment","children"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { useMemo, useCallback, Fragment, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { plugins } from \"@webiny/plugins\";\nimport { TenantHeaderLinkPlugin } from \"@webiny/app/plugins/TenantHeaderLinkPlugin\";\nimport { useWcp } from \"@webiny/app-admin\";\n\nexport interface Tenant {\n id: string;\n name: string;\n}\n\nexport interface TenancyContextValue {\n tenant: string | null;\n setTenant(tenant: string | null): void;\n isMultiTenant: boolean;\n}\n\ninterface TenancyProviderProps {\n children: React.ReactNode;\n}\n\nexport const TenancyContext = React.createContext<TenancyContextValue>({\n tenant: null,\n setTenant: () => {\n return void 0;\n },\n isMultiTenant: false\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_tenant\";\n\nfunction loadState(): string | null {\n return localStorage.get(LOCAL_STORAGE_KEY) || null;\n}\n\nfunction storeState(state: string) {\n localStorage.set(LOCAL_STORAGE_KEY, state);\n}\n\nconst getInitialTenant = (): string | null => {\n // Check if `tenantId` query parameter is set. If it is, it takes precedence over any other source.\n const searchParams = new URLSearchParams(location.search);\n const tenantId = searchParams.get(\"tenantId\");\n if (tenantId) {\n storeState(tenantId);\n }\n\n const currentTenant = loadState() || \"root\";\n plugins.register(new TenantHeaderLinkPlugin(currentTenant));\n return currentTenant;\n};\n\nconst goToDashboard = () => {\n const url = new URL(window.location.toString());\n url.search = \"\";\n url.pathname = \"/\";\n window.location.href = url.toString();\n};\n\nexport const TenancyProvider = (props: TenancyProviderProps) => {\n const [currentTenant, setTenant] = useState(getInitialTenant);\n const { canUseFeature } = useWcp();\n\n const changeTenant = useCallback(\n (tenant: string): void => {\n if (!tenant) {\n localStorage.remove(LOCAL_STORAGE_KEY);\n\n goToDashboard();\n }\n\n if (!currentTenant) {\n plugins.register(new TenantHeaderLinkPlugin(tenant));\n setTenant(tenant);\n storeState(tenant);\n return;\n }\n\n storeState(tenant);\n goToDashboard();\n },\n [currentTenant]\n );\n\n const value = useMemo<TenancyContextValue>(\n () => ({\n tenant: currentTenant,\n setTenant: changeTenant,\n isMultiTenant: canUseFeature(\"multiTenancy\")\n }),\n [currentTenant]\n );\n\n return (\n <TenancyContext.Provider value={value}>\n <Fragment>{props.children}</Fragment>\n </TenancyContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAiBO,IAAMM,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAGE,cAAK,CAACC,aAAa,CAAsB;EACnEC,MAAM,EAAE,IAAI;EACZC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_store","_interopRequireDefault","_plugins","_TenantHeaderLinkPlugin","_appAdmin","TenancyContext","exports","React","createContext","tenant","setTenant","isMultiTenant","LOCAL_STORAGE_KEY","loadState","localStorage","get","storeState","state","set","getInitialTenant","searchParams","URLSearchParams","location","search","tenantId","currentTenant","plugins","register","TenantHeaderLinkPlugin","goToDashboard","url","URL","window","toString","pathname","href","TenancyProvider","props","_useState","useState","_useState2","_slicedToArray2","default","_useWcp","useWcp","canUseFeature","changeTenant","useCallback","remove","value","useMemo","createElement","Provider","Fragment","children"],"sources":["Tenancy.tsx"],"sourcesContent":["import React, { useMemo, useCallback, Fragment, useState } from \"react\";\nimport { default as localStorage } from \"store\";\nimport { plugins } from \"@webiny/plugins\";\nimport { TenantHeaderLinkPlugin } from \"@webiny/app/plugins/TenantHeaderLinkPlugin\";\nimport { useWcp } from \"@webiny/app-admin\";\n\nexport interface Tenant {\n id: string;\n name: string;\n}\n\nexport interface TenancyContextValue {\n tenant: string | null;\n setTenant(tenant: string | null): void;\n isMultiTenant: boolean;\n}\n\ninterface TenancyProviderProps {\n children: React.ReactNode;\n}\n\nexport const TenancyContext = React.createContext<TenancyContextValue>({\n tenant: null,\n setTenant: () => {\n return void 0;\n },\n isMultiTenant: false\n});\n\nconst LOCAL_STORAGE_KEY = \"webiny_tenant\";\n\nfunction loadState(): string | null {\n return localStorage.get(LOCAL_STORAGE_KEY) || null;\n}\n\nfunction storeState(state: string) {\n localStorage.set(LOCAL_STORAGE_KEY, state);\n}\n\nconst getInitialTenant = (): string | null => {\n // Check if `tenantId` query parameter is set. If it is, it takes precedence over any other source.\n const searchParams = new URLSearchParams(location.search);\n const tenantId = searchParams.get(\"tenantId\");\n if (tenantId) {\n storeState(tenantId);\n }\n\n const currentTenant = loadState() || \"root\";\n plugins.register(new TenantHeaderLinkPlugin(currentTenant));\n return currentTenant;\n};\n\nconst goToDashboard = () => {\n const url = new URL(window.location.toString());\n url.search = \"\";\n url.pathname = \"/\";\n window.location.href = url.toString();\n};\n\nexport const TenancyProvider = (props: TenancyProviderProps) => {\n const [currentTenant, setTenant] = useState(getInitialTenant);\n const { canUseFeature } = useWcp();\n\n const changeTenant = useCallback(\n (tenant: string): void => {\n if (!tenant) {\n localStorage.remove(LOCAL_STORAGE_KEY);\n\n goToDashboard();\n }\n\n if (!currentTenant) {\n plugins.register(new TenantHeaderLinkPlugin(tenant));\n setTenant(tenant);\n storeState(tenant);\n return;\n }\n\n storeState(tenant);\n goToDashboard();\n },\n [currentTenant]\n );\n\n const value = useMemo<TenancyContextValue>(\n () => ({\n tenant: currentTenant,\n setTenant: changeTenant,\n isMultiTenant: canUseFeature(\"multiTenancy\")\n }),\n [currentTenant]\n );\n\n return (\n <TenancyContext.Provider value={value}>\n <Fragment>{props.children}</Fragment>\n </TenancyContext.Provider>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-tenancy",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.42.0-beta.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,13 +14,12 @@
|
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@apollo/react-hooks": "3.1.5",
|
|
17
|
-
"@babel/runtime": "7.24.1",
|
|
18
17
|
"@emotion/styled": "11.10.6",
|
|
19
18
|
"@types/react": "18.2.79",
|
|
20
|
-
"@webiny/app": "5.
|
|
21
|
-
"@webiny/app-admin": "5.
|
|
22
|
-
"@webiny/plugins": "5.
|
|
23
|
-
"@webiny/ui": "5.
|
|
19
|
+
"@webiny/app": "5.42.0-beta.1",
|
|
20
|
+
"@webiny/app-admin": "5.42.0-beta.1",
|
|
21
|
+
"@webiny/plugins": "5.42.0-beta.1",
|
|
22
|
+
"@webiny/ui": "5.42.0-beta.1",
|
|
24
23
|
"apollo-client": "2.6.10",
|
|
25
24
|
"graphql-tag": "2.12.6",
|
|
26
25
|
"react": "18.2.0",
|
|
@@ -28,16 +27,10 @@
|
|
|
28
27
|
"store": "2.0.12"
|
|
29
28
|
},
|
|
30
29
|
"devDependencies": {
|
|
31
|
-
"@babel/cli": "7.24.1",
|
|
32
|
-
"@babel/core": "7.24.3",
|
|
33
|
-
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
34
|
-
"@babel/preset-env": "7.24.3",
|
|
35
|
-
"@babel/preset-react": "7.24.1",
|
|
36
|
-
"@babel/preset-typescript": "7.24.1",
|
|
37
30
|
"@emotion/babel-plugin": "11.11.0",
|
|
38
|
-
"@webiny/cli": "5.
|
|
39
|
-
"@webiny/project-utils": "5.
|
|
40
|
-
"rimraf": "
|
|
31
|
+
"@webiny/cli": "5.42.0-beta.1",
|
|
32
|
+
"@webiny/project-utils": "5.42.0-beta.1",
|
|
33
|
+
"rimraf": "6.0.1",
|
|
41
34
|
"ttypescript": "1.5.15",
|
|
42
35
|
"typescript": "4.9.5"
|
|
43
36
|
},
|
|
@@ -49,5 +42,5 @@
|
|
|
49
42
|
"build": "yarn webiny run build",
|
|
50
43
|
"watch": "yarn webiny run watch"
|
|
51
44
|
},
|
|
52
|
-
"gitHead": "
|
|
45
|
+
"gitHead": "5e69da579efa4f2c8268e0c97ac6407ddc3f5f07"
|
|
53
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_graphqlTag","_interopRequireDefault","_reactHooks","_Alert","_Progress","_SimpleForm","_templateObject","_templateObject2","_EMOTION_STRINGIFIED_CSS_ERROR__","SimpleFormPlaceholder","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","IS_INSTALLED","gql","_taggedTemplateLiteral2","INSTALL","TenancyInstaller","_ref","onInstalled","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","mutate","mutation","then","_ref2","data","tenancy","install","message","setTimeout","createElement","Alert","title","type","SimpleForm","CircularProgress","SimpleFormContent","plugin","dependencies","secure","getInstalledVersion","_ref3","_await$client$query","query","version","render","_ref4","_default","exports"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst IS_INSTALLED = gql`\n query IsTenancyInstalled {\n tenancy {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallTenancy {\n tenancy {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface TenancyInstallerProps {\n onInstalled: () => Promise<void>;\n}\nconst TenancyInstaller = ({ onInstalled }: TenancyInstallerProps) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n useEffect(() => {\n client.mutate({ mutation: INSTALL }).then(({ data }) => {\n const { error } = data.tenancy.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n `Installing Tenancy...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-tenancy\",\n type: \"admin-installation\",\n title: `Tenancy`,\n dependencies: [],\n secure: false,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.tenancy.version;\n },\n render({ onInstalled }) {\n return <TenancyInstaller onInstalled={onInstalled} />;\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAAwF,IAAAO,eAAA,EAAAC,gBAAA;AAAA,SAAAC,iCAAA;AAIxF,IAAMC,qBAAqB,gBAAG,IAAAC,KAAA,CAAAC,OAAA,SAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,GAAAJ,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAG,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAZ;AAAA,CAG7B,CAAC;AAEF,IAAMa,YAAY,OAAGC,mBAAG,EAAAhB,eAAA,KAAAA,eAAA,OAAAiB,uBAAA,CAAAZ,OAAA,qGAMvB;AAED,IAAMa,OAAO,OAAGF,mBAAG,EAAAf,gBAAA,KAAAA,gBAAA,OAAAgB,uBAAA,CAAAZ,OAAA,8OAYlB;AAKD,IAAMc,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAA+C;EAAA,IAAzCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;EACnC,IAAMC,MAAM,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAChC,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAAC,IAAI,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAtB,OAAA,EAAAmB,SAAA;IAAjCI,KAAK,GAAAF,UAAA;IAAEG,QAAQ,GAAAH,UAAA;EAEtB,IAAAI,gBAAS,EAAC,YAAM;IACZR,MAAM,CAACS,MAAM,CAAC;MAAEC,QAAQ,EAAEd;IAAQ,CAAC,CAAC,CAACe,IAAI,CAAC,UAAAC,KAAA,EAAc;MAAA,IAAXC,IAAI,GAAAD,KAAA,CAAJC,IAAI;MAC7C,IAAQP,KAAK,GAAKO,IAAI,CAACC,OAAO,CAACC,OAAO,CAA9BT,KAAK;MACb,IAAIA,KAAK,EAAE;QACPC,QAAQ,CAACD,KAAK,CAACU,OAAO,CAAC;QACvB;MACJ;;MAEA;MACAC,UAAU,CAAClB,WAAW,EAAE,IAAI,CAAC;IACjC,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMX,KAAK,GAAGkB,KAAK,gBACfrC,MAAA,CAAAc,OAAA,CAAAmC,aAAA,CAAC3C,MAAA,CAAA4C,KAAK;IAACC,KAAK,wBAAyB;IAACC,IAAI,EAAE;EAAS,GAChDf,KACE,CAAC,0BAGX;EAED,oBACIrC,MAAA,CAAAc,OAAA,CAAAmC,aAAA,CAACzC,WAAA,CAAA6C,UAAU,qBACPrD,MAAA,CAAAc,OAAA,CAAAmC,aAAA,CAAC1C,SAAA,CAAA+C,gBAAgB;IAACnC,KAAK,EAAEA;EAAM,CAAE,CAAC,eAClCnB,MAAA,CAAAc,OAAA,CAAAmC,aAAA,CAACzC,WAAA,CAAA+C,iBAAiB,qBACdvD,MAAA,CAAAc,OAAA,CAAAmC,aAAA,CAACrC,qBAAqB,MAAE,CACT,CACX,CAAC;AAErB,CAAC;AAED,IAAM4C,MAA+B,GAAG;EACpCpC,IAAI,EAAE,4BAA4B;EAClCgC,IAAI,EAAE,oBAAoB;EAC1BD,KAAK,WAAW;EAChBM,YAAY,EAAE,EAAE;EAChBC,MAAM,EAAE,KAAK;EACPC,mBAAmB,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_graphqlTag","_interopRequireDefault","_reactHooks","_Alert","_Progress","_SimpleForm","_templateObject","_templateObject2","_EMOTION_STRINGIFIED_CSS_ERROR__","SimpleFormPlaceholder","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","IS_INSTALLED","gql","_taggedTemplateLiteral2","INSTALL","TenancyInstaller","_ref","onInstalled","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","mutate","mutation","then","_ref2","data","tenancy","install","message","setTimeout","createElement","Alert","title","type","SimpleForm","CircularProgress","SimpleFormContent","plugin","dependencies","secure","getInstalledVersion","_ref3","_await$client$query","query","version","render","_ref4","_default","exports"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst IS_INSTALLED = gql`\n query IsTenancyInstalled {\n tenancy {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallTenancy {\n tenancy {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface TenancyInstallerProps {\n onInstalled: () => Promise<void>;\n}\nconst TenancyInstaller = ({ onInstalled }: TenancyInstallerProps) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n useEffect(() => {\n client.mutate({ mutation: INSTALL }).then(({ data }) => {\n const { error } = data.tenancy.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n `Installing Tenancy...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-tenancy\",\n type: \"admin-installation\",\n title: `Tenancy`,\n dependencies: [],\n secure: false,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.tenancy.version;\n },\n render({ onInstalled }) {\n return <TenancyInstaller onInstalled={onInstalled} />;\n }\n};\n\nexport default plugin;\n"],"mappings":"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","ignoreList":[]}
|