diff --git a/pkgs/clan-cli/clan_cli/webui/app.py b/pkgs/clan-cli/clan_cli/webui/app.py index d34d25d..8913f72 100644 --- a/pkgs/clan-cli/clan_cli/webui/app.py +++ b/pkgs/clan-cli/clan_cli/webui/app.py @@ -17,11 +17,19 @@ from .routers import endpoints, health, root, socket_manager2 # sql router hinz from .sql_db import engine from .tags import tags_metadata -origins = [ - "http://localhost:3000", - "http://127.0.0.1:3000", - "http://0.0.0.0:3000", +cors_url = [ + "http://localhost", + "http://127.0.0.1", + "http://0.0.0.0", + "http://[::]", ] +cors_ports = [2979, 3000] +cors_whitelist = [] +for u in cors_url: + for p in cors_ports: + cors_whitelist.append(f"{u}:{p}") + + # Logging setup log = logging.getLogger(__name__) @@ -44,7 +52,7 @@ def setup_app() -> FastAPI: app = FastAPI(lifespan=lifespan, swagger_ui_parameters={"tryItOutEnabled": True}) app.add_middleware( CORSMiddleware, - allow_origins=origins, + allow_origins=cors_whitelist, allow_credentials=True, allow_methods=["*"], allow_headers=["*"], diff --git a/pkgs/clan-cli/tests/test_db_api.py b/pkgs/clan-cli/tests/test_db_api.py index faa5442..2bb519d 100644 --- a/pkgs/clan-cli/tests/test_db_api.py +++ b/pkgs/clan-cli/tests/test_db_api.py @@ -1,3 +1,6 @@ +import random +import uuid + from openapi_client import ApiClient from openapi_client.api import DefaultApi from openapi_client.api.entities_api import EntitiesApi @@ -10,18 +13,11 @@ from openapi_client.models import ( Status, ) -uuids = [ - "e95bb72f-b1b3-4452-8065-c7acf09068fc", - "411d772e-1ad0-4d99-8da0-133ab2972322", - "8cfdf359-c3b9-4951-9e51-08dce797725a", - "24b5b4de-9f5f-4e60-878e-cc5be085fd0d", - "d45f9687-c413-43b9-8e0d-cb610b39fcaf", - "083e09a0-1d71-4819-83e2-ce2a6d831713", - "e6f74e55-c163-4368-98c0-a2b04c99d6e3", - "1b577ba7-c9dd-4e66-b695-9350e9db0b6c", - "bfd9e653-98a4-4451-9d97-bcc2908f213d", - "0e481624-b886-437c-89a0-b9e73651cc72", -] +random.seed(42) + + +num_uuids = 100 +uuids = [str(uuid.UUID(int=random.getrandbits(128))) for i in range(num_uuids)] def test_health(api_client: ApiClient) -> None: @@ -75,7 +71,8 @@ def test_create_entities(api_client: ApiClient) -> None: def test_create_services(api_client: ApiClient) -> None: sapi = ServicesApi(api_client=api_client) eapi = EntitiesApi(api_client=api_client) - for idx, entity in enumerate(eapi.get_all_entities()): - service_obj = create_service(idx, entity) - service = sapi.create_service(service_obj) - assert service.uuid == service_obj.uuid + for midx, entity in enumerate(eapi.get_all_entities()): + for idx in range(4): + service_obj = create_service(idx + 4 * midx, entity) + service = sapi.create_service(service_obj) + assert service.uuid == service_obj.uuid diff --git a/pkgs/ui/src/app/access-point/page.tsx b/pkgs/ui/src/app/access-point/page.tsx index b5de9d8..34f08cd 100644 --- a/pkgs/ui/src/app/access-point/page.tsx +++ b/pkgs/ui/src/app/access-point/page.tsx @@ -65,6 +65,7 @@ export default function AccessPoint() { loading={loadingAttachements} data={APAttachementData?.data} configuration={APAttachmentsTableConfig} + tkey="attachment-table" />
@@ -73,6 +74,7 @@ export default function AccessPoint() { loading={laodingRepositories} data={APRepositories?.data} configuration={APServiceRepositoryTableConfig} + tkey="service-repository-table" />
diff --git a/pkgs/ui/src/app/client/[client_name]/page.tsx b/pkgs/ui/src/app/client/[client_name]/page.tsx index 259d016..2637d81 100644 --- a/pkgs/ui/src/app/client/[client_name]/page.tsx +++ b/pkgs/ui/src/app/client/[client_name]/page.tsx @@ -41,7 +41,7 @@ export default function Client({ }); } return []; - }, [services]); + }, [services, entity?.did]); const onRefresh = () => { const entityKey = @@ -52,7 +52,7 @@ export default function Client({ useEffect(() => { const interval = setInterval(() => { onRefresh(); - }, 1000); + }, 5000); return () => clearInterval(interval); // eslint-disable-next-line react-hooks/exhaustive-deps @@ -162,7 +162,7 @@ export default function Client({ loading={services_loading} data={clients} configuration={ClientTableConfig} - key="client-table" + tkey="client-table" />
@@ -171,7 +171,7 @@ export default function Client({ loading={services_loading} data={services?.data?.services} configuration={ServiceTableConfig} - key="service-table" + tkey="service-table" />
diff --git a/pkgs/ui/src/app/home/page.tsx b/pkgs/ui/src/app/home/page.tsx index d405ccf..a99e9c9 100644 --- a/pkgs/ui/src/app/home/page.tsx +++ b/pkgs/ui/src/app/home/page.tsx @@ -24,7 +24,7 @@ export default function Home() { useEffect(() => { const interval = setInterval(() => { onRefresh(); - }, 500); + }, 5000); return () => clearInterval(interval); // eslint-disable-next-line react-hooks/exhaustive-deps @@ -45,6 +45,7 @@ export default function Home() { loading={data.loadingEntities} data={data?.allEntities} configuration={HomeTableConfig} + tkey="home_table" /> diff --git a/pkgs/ui/src/components/table/index.tsx b/pkgs/ui/src/components/table/index.tsx index d0a8b75..425606e 100644 --- a/pkgs/ui/src/components/table/index.tsx +++ b/pkgs/ui/src/components/table/index.tsx @@ -11,7 +11,7 @@ import { StyledTableCell, StyledTableRow } from "./style"; import { ICustomTable, CustomTableConfiguration } from "@/types"; import { Checkbox, Skeleton } from "@mui/material"; -const CustomTable = ({ configuration, data, loading, key }: ICustomTable) => { +const CustomTable = ({ configuration, data, loading, tkey }: ICustomTable) => { if (loading) return ; @@ -25,7 +25,7 @@ const CustomTable = ({ configuration, data, loading, key }: ICustomTable) => { render?: (param: any) => void | undefined, ) => { let renderedValue = value; - console.log(cellKey); + // cover use case if the data is an array if (Array.isArray(value)) renderedValue = value.join(", "); @@ -36,6 +36,7 @@ const CustomTable = ({ configuration, data, loading, key }: ICustomTable) => { // cover use case if we want to render a component if (render) renderedValue = render(value); + console.log("renderTableCell key", cellKey); return ( {renderedValue} @@ -59,7 +60,7 @@ const CustomTable = ({ configuration, data, loading, key }: ICustomTable) => { {configuration.map( (column: CustomTableConfiguration, columnIndex: number) => { const cellValue: any = data[column.key]; - const cellKey = key + ":" + column.key + ":" + rowIndex; + const cellKey = tkey + ":" + column.key + ":" + rowIndex; const renderComponent = column?.render; return renderTableCell( cellValue, diff --git a/pkgs/ui/src/config/client_1/index.tsx b/pkgs/ui/src/config/client_1/index.tsx index 3a1db60..b91cd4e 100644 --- a/pkgs/ui/src/config/client_1/index.tsx +++ b/pkgs/ui/src/config/client_1/index.tsx @@ -71,6 +71,7 @@ export const ServiceTableConfig = [ ))} ); + console.log("render", renderedValue); return renderedValue; }, }, diff --git a/pkgs/ui/src/types/index.ts b/pkgs/ui/src/types/index.ts index 6ac86cc..9a4808b 100644 --- a/pkgs/ui/src/types/index.ts +++ b/pkgs/ui/src/types/index.ts @@ -8,7 +8,7 @@ export interface ICustomTable { configuration: CustomTableConfiguration[]; data: any; loading?: boolean; - key: string; + tkey: string; } export interface EntityDetails {