diff --git a/pkgs/clan-cli/clan_cli/webui/app.py b/pkgs/clan-cli/clan_cli/webui/app.py
index 8913f72..99d7e9e 100644
--- a/pkgs/clan-cli/clan_cli/webui/app.py
+++ b/pkgs/clan-cli/clan_cli/webui/app.py
@@ -33,7 +33,6 @@ for u in cors_url:
# Logging setup
log = logging.getLogger(__name__)
-
@asynccontextmanager
async def lifespan(app: FastAPI) -> Any:
await socket_manager2.brd.connect()
diff --git a/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py b/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py
index 4aec32b..9b601aa 100644
--- a/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py
+++ b/pkgs/clan-cli/clan_cli/webui/routers/endpoints.py
@@ -2,6 +2,7 @@ import logging
import time
from datetime import datetime
from typing import List, Optional
+import asyncio
import httpx
from fastapi import APIRouter, BackgroundTasks, Depends
@@ -30,7 +31,7 @@ log = logging.getLogger(__name__)
# #
#########################
@router.post("/api/v1/service", response_model=Service, tags=[Tags.services])
-async def create_service(
+def create_service(
service: ServiceCreate, db: Session = Depends(sql_db.get_db)
) -> Service:
# todo checken ob schon da ...
@@ -38,7 +39,7 @@ async def create_service(
@router.get("/api/v1/services", response_model=List[Service], tags=[Tags.services])
-async def get_all_services(
+def get_all_services(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Service]:
services = sql_crud.get_services(db, skip=skip, limit=limit)
@@ -46,9 +47,9 @@ async def get_all_services(
@router.get(
- "/api/v1/{entity_did}/service", response_model=List[Service], tags=[Tags.services]
+ "/api/v1/service", response_model=List[Service], tags=[Tags.services]
)
-async def get_service_by_did(
+def get_service_by_did(
entity_did: str = "did:sov:test:1234",
skip: int = 0,
limit: int = 100,
@@ -59,25 +60,21 @@ async def get_service_by_did(
@router.get(
- "/api/v1/services_by_entity_name",
- response_model=ServicesByName,
+ "/api/v1/services_without_entity",
+ response_model=List[Service],
tags=[Tags.services],
)
-async def get_services_by_name(
- entity_name: str,
+def get_services_without_entity(
+ entity_did: str = "did:sov:test:1234",
skip: int = 0,
limit: int = 100,
db: Session = Depends(sql_db.get_db),
-) -> ServicesByName:
- entity = sql_crud.get_entity_by_name(db, name=entity_name)
- if entity is None:
- raise ClanError(f"Entity with name '{entity_name}' not found")
- services = sql_crud.get_services_by_entity_did(db, entity_did=str(entity.did))
- return ServicesByName(entity=entity, services=services) # type: ignore
+) -> List[sql_models.Service]:
+ service = sql_crud.get_services_without_entity_id(db, entity_did=entity_did)
+ return service
-
-@router.delete("/api/v1/{entity_did}/service", tags=[Tags.services])
-async def delete_service(
+@router.delete("/api/v1/service", tags=[Tags.services])
+def delete_service(
entity_did: str = "did:sov:test:1234",
db: Session = Depends(sql_db.get_db),
) -> dict[str, str]:
@@ -95,7 +92,7 @@ async def delete_service(
response_model=List[Service],
tags=[Tags.repositories],
)
-async def get_all_repositories(
+def get_all_repositories(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Service]:
repositories = sql_crud.get_services(db, skip=skip, limit=limit)
@@ -108,7 +105,7 @@ async def get_all_repositories(
# #
#########################
@router.post("/api/v1/entity", response_model=Entity, tags=[Tags.entities])
-async def create_entity(
+def create_entity(
entity: EntityCreate, db: Session = Depends(sql_db.get_db)
) -> EntityCreate:
return sql_crud.create_entity(db, entity)
@@ -117,7 +114,7 @@ async def create_entity(
@router.get(
"/api/v1/entity_by_name", response_model=Optional[Entity], tags=[Tags.entities]
)
-async def get_entity_by_name(
+def get_entity_by_name(
entity_name: str, db: Session = Depends(sql_db.get_db)
) -> Optional[sql_models.Entity]:
entity = sql_crud.get_entity_by_name(db, name=entity_name)
@@ -125,7 +122,7 @@ async def get_entity_by_name(
@router.get("/api/v1/entities", response_model=List[Entity], tags=[Tags.entities])
-async def get_all_entities(
+def get_all_entities(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Entity]:
entities = sql_crud.get_entities(db, skip=skip, limit=limit)
@@ -133,9 +130,9 @@ async def get_all_entities(
@router.get(
- "/api/v1/{entity_did}/entity", response_model=Optional[Entity], tags=[Tags.entities]
+ "/api/v1/entity", response_model=Optional[Entity], tags=[Tags.entities]
)
-async def get_entity_by_did(
+def get_entity_by_did(
entity_did: str = "did:sov:test:1234",
db: Session = Depends(sql_db.get_db),
) -> Optional[sql_models.Entity]:
@@ -148,61 +145,103 @@ async def get_entity_by_did(
response_model=List[Entity],
tags=[Tags.entities],
)
-async def get_attached_entities(
+def get_attached_entities(
skip: int = 0, limit: int = 100, db: Session = Depends(sql_db.get_db)
) -> List[sql_models.Entity]:
entities = sql_crud.get_attached_entities(db, skip=skip, limit=limit)
return entities
-
-@router.post("/api/v1/{entity_did}/detach", response_model=Entity, tags=[Tags.entities])
-async def detach_entity(
- background_tasks: BackgroundTasks,
+@router.get("/api/v1/is_attached", tags=[Tags.entities])
+def is_attached(
entity_did: str = "did:sov:test:1234",
- skip: int = 0,
- limit: int = 100,
- db: Session = Depends(sql_db.get_db),
-) -> sql_models.Entity:
- entity = sql_crud.set_attached_by_entity_did(db, entity_did, False)
- return entity
+ db: Session = Depends(sql_db.get_db)) -> dict[str, str]:
+
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
+
+ if entity is None:
+ raise ClanError(f"Entity with did '{entity_did}' not found")
+
+ timer = 0.0
+ timeout = 2
+ while not entity.attached:
+ time.sleep(0.1)
+
+ timer += 0.1
+ if timer > timeout:
+ url = f"http://{entity.ip}"
+ raise ClanError(f"Entity at {url} not reachable")
+
+ return {"message": f"Attached to {entity.name} successfully"}
-@router.post("/api/v1/{entity_did}/attach", tags=[Tags.entities])
-async def attach_entity(
+
+@router.post("/api/v1/detach", tags=[Tags.entities])
+def detach_entity(
background_tasks: BackgroundTasks,
entity_did: str = "did:sov:test:1234",
skip: int = 0,
limit: int = 100,
db: Session = Depends(sql_db.get_db),
) -> dict[str, str]:
- if sql_crud.get_entity_by_did(db, entity_did) is None:
- raise ClanError(f"Entity with did '{entity_did}' not found")
-
- background_tasks.add_task(attach_entity_loc, db, entity_did)
- return {"message": "Attaching in the background"}
+ sql_crud.stop_entity_health_task(db, entity_did)
+ return {"message": f"Detached {entity_did} successfully"}
-def attach_entity_loc(db: Session, entity_did: str) -> None:
- db_entity = sql_crud.set_attached_by_entity_did(db, entity_did, True)
- try:
- while db_entity.attached:
- # query status endpoint
- # https://www.python-httpx.org/
- response = httpx.get(f"http://{db_entity.ip}", timeout=2)
- print(response)
- # test with:
- # while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | nc -l -N localhost 5555 ; done
- # client test (apt install python3-httpx):
- # httpx http://localhost:5555
- # except not reached set false
+@router.post("/api/v1/attach", tags=[Tags.entities])
+def attach_entity(
+ background_tasks: BackgroundTasks,
+ entity_did: str = "did:sov:test:1234",
+ skip: int = 0,
+ limit: int = 100
+) -> dict[str, str]:
+ # entity = sql_crud.get_entity_by_did(db, did=entity_did)
+ # if entity is None:
+ # raise ClanError(f"Entity with did '{entity_did}' not found")
+ #url = f"http://{entity.ip}"
+ #log.info("Start health query at", url)
+ background_tasks.add_task(attach_entity_loc, entity_did)
+ return {"message": f"Started attachment task for {entity_did}"}
+
+
+def attach_entity_loc(entity_did: str) -> None:
+ with sql_db.SessionLocal() as db:
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
+ while entity.stop_health_task is False:
+ entity = sql_crud.get_entity_by_did(db, did=entity_did)
+ assert entity is not None
+ log.warning(f"Stop health status task for {entity.stop_health_task}")
time.sleep(1)
- except Exception:
- log.warning(f"Entity {entity_did} not reachable. Setting attached to false")
+ # entity = sql_crud.get_entity_by_did(db, did=entity_did)
+ # assert entity is not None
+ # try:
- db_entity = sql_crud.set_attached_by_entity_did(db, entity_did, False)
+ # while True:
-@router.delete("/api/v1/{entity_did}/entity", tags=[Tags.entities])
+ # if entity.stop_health_task:
+ # print(f"Stop health status task for {entity.name}")
+ # break
+
+ # url = f"http://{entity.ip}"
+ # response = httpx.get(url, timeout=2)
+ # #log.warning(f"Response {response.status_code} from {url}")
+ # print(f"{entity.name}: stop_health_task: {entity.stop_health_task}")
+ # if response.status_code != 200:
+ # raise ClanError(f"Entity with did '{entity_did}' returned {response.status_code}")
+
+ # if entity.attached is False:
+ # sql_crud.set_attached_by_entity_did(db, entity_did, True)
+ # if entity is None:
+ # raise ClanError(f"Entity with did '{entity_did}' has been deleted")
+
+ # time.sleep(1)
+ # except Exception:
+ # log.warning(f"Entity {entity_did} not reachable at {url}")
+ # finally:
+ # sql_crud.set_attached_by_entity_did(db, entity_did, False)
+
+
+@router.delete("/api/v1/entity", tags=[Tags.entities])
async def delete_entity(
entity_did: str = "did:sov:test:1234",
db: Session = Depends(sql_db.get_db),
@@ -216,8 +255,6 @@ async def delete_entity(
# Resolution #
# #
#########################
-
-
@router.get(
"/api/v1/resolutions", response_model=List[Resolution], tags=[Tags.resolutions]
)
diff --git a/pkgs/clan-cli/clan_cli/webui/schemas.py b/pkgs/clan-cli/clan_cli/webui/schemas.py
index bdb1a2e..f43e8dd 100644
--- a/pkgs/clan-cli/clan_cli/webui/schemas.py
+++ b/pkgs/clan-cli/clan_cli/webui/schemas.py
@@ -41,6 +41,7 @@ class EntityCreate(EntityBase):
class Entity(EntityCreate):
attached: bool = Field(...)
+ stop_health_task: bool = Field(...)
class Config:
orm_mode = True
diff --git a/pkgs/clan-cli/clan_cli/webui/sql_app.db b/pkgs/clan-cli/clan_cli/webui/sql_app.db
deleted file mode 100644
index 6d1f62f..0000000
Binary files a/pkgs/clan-cli/clan_cli/webui/sql_app.db and /dev/null differ
diff --git a/pkgs/clan-cli/clan_cli/webui/sql_crud.py b/pkgs/clan-cli/clan_cli/webui/sql_crud.py
index f18bc4e..7314f23 100644
--- a/pkgs/clan-cli/clan_cli/webui/sql_crud.py
+++ b/pkgs/clan-cli/clan_cli/webui/sql_crud.py
@@ -64,7 +64,7 @@ def get_services_without_entity_id(
# #
#########################
def create_entity(db: Session, entity: schemas.EntityCreate) -> sql_models.Entity:
- db_entity = sql_models.Entity(**entity.dict(), attached=False)
+ db_entity = sql_models.Entity(**entity.dict(), attached=False, stop_health_task=False)
db.add(db_entity)
db.commit()
db.refresh(db_entity)
@@ -100,20 +100,35 @@ def get_attached_entities(
# Returns same entity if setting didnt changed something
-def set_attached_by_entity_did(
- db: Session, entity_did: str, value: bool
-) -> sql_models.Entity:
+def stop_entity_health_task(
+ db: Session, entity_did: str
+) -> None:
db_entity = get_entity_by_did(db, entity_did)
if db_entity is None:
raise ClanError(f"Entity with did '{entity_did}' not found")
- setattr(db_entity, "attached", value)
+ setattr(db_entity, "stop_health_task", True)
+
+ # save changes in db
+ db.add(db_entity)
+ db.commit()
+ db.refresh(db_entity)
+
+
+
+def set_attached_by_entity_did(
+ db: Session, entity_did: str, attached: bool
+) -> None:
+ db_entity = get_entity_by_did(db, entity_did)
+ if db_entity is None:
+ raise ClanError(f"Entity with did '{entity_did}' not found")
+
+ setattr(db_entity, "attached", attached)
# save changes in db
db.add(db_entity)
db.commit()
db.refresh(db_entity)
- return db_entity
def delete_entity_by_did(db: Session, did: str) -> None:
diff --git a/pkgs/clan-cli/clan_cli/webui/sql_models.py b/pkgs/clan-cli/clan_cli/webui/sql_models.py
index b0358ce..792b8cc 100644
--- a/pkgs/clan-cli/clan_cli/webui/sql_models.py
+++ b/pkgs/clan-cli/clan_cli/webui/sql_models.py
@@ -23,6 +23,7 @@ class Entity(Base):
ip = Column(String, index=True)
attached = Column(Boolean, index=True)
visible = Column(Boolean, index=True)
+ stop_health_task = Column(Boolean)
## Non queryable body ##
# In here we deposit: Network, Roles, Visible, etc.
diff --git a/pkgs/clan-cli/clan_cli/webui/tags.py b/pkgs/clan-cli/clan_cli/webui/tags.py
index 034beb7..712f09b 100644
--- a/pkgs/clan-cli/clan_cli/webui/tags.py
+++ b/pkgs/clan-cli/clan_cli/webui/tags.py
@@ -4,7 +4,6 @@ from typing import Any, Dict, List
class Tags(Enum):
services = "services"
- clients = "clients"
entities = "entities"
repositories = "repositories"
resolutions = "resolution"
@@ -18,10 +17,6 @@ tags_metadata: List[Dict[str, Any]] = [
"name": str(Tags.services),
"description": "Operations on a service.",
},
- {
- "name": str(Tags.clients),
- "description": "Operations on a client.",
- },
{
"name": str(Tags.entities),
"description": "Operations on an entity.",
diff --git a/pkgs/clan-cli/emulate_entity.sh b/pkgs/clan-cli/emulate_entity.sh
index da91b78..b4fdbc8 100755
--- a/pkgs/clan-cli/emulate_entity.sh
+++ b/pkgs/clan-cli/emulate_entity.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | nc -l -N 127.0.0.1 5555 ; done
+while true ; do printf 'HTTP/1.1 200 OK\r\n\r\ncool, thanks' | nc -l -N 127.0.0.1 7002 ; done
diff --git a/pkgs/clan-cli/tests/openapi_client/__init__.py b/pkgs/clan-cli/tests/openapi_client/__init__.py
index 638483e..8263f8b 100644
--- a/pkgs/clan-cli/tests/openapi_client/__init__.py
+++ b/pkgs/clan-cli/tests/openapi_client/__init__.py
@@ -42,7 +42,6 @@ from openapi_client.models.machine import Machine
from openapi_client.models.resolution import Resolution
from openapi_client.models.service import Service
from openapi_client.models.service_create import ServiceCreate
-from openapi_client.models.services_by_name import ServicesByName
from openapi_client.models.status import Status
from openapi_client.models.validation_error import ValidationError
from openapi_client.models.validation_error_loc_inner import ValidationErrorLocInner
diff --git a/pkgs/clan-cli/tests/openapi_client/api/entities_api.py b/pkgs/clan-cli/tests/openapi_client/api/entities_api.py
index 51f4345..debd9c3 100644
--- a/pkgs/clan-cli/tests/openapi_client/api/entities_api.py
+++ b/pkgs/clan-cli/tests/openapi_client/api/entities_api.py
@@ -46,7 +46,7 @@ class EntitiesApi:
self.api_client = api_client
@validate_arguments
- def attach_entity(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Dict[str, str]: # noqa: E501
+ def attach_entity(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Attach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -55,7 +55,7 @@ class EntitiesApi:
>>> thread = api.attach_entity(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -79,7 +79,7 @@ class EntitiesApi:
return self.attach_entity_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def attach_entity_with_http_info(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ def attach_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Attach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -88,7 +88,7 @@ class EntitiesApi:
>>> thread = api.attach_entity_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -152,12 +152,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -184,7 +184,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/attach', 'POST',
+ '/api/v1/attach', 'POST',
_path_params,
_query_params,
_header_params,
@@ -347,7 +347,7 @@ class EntitiesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def delete_entity(self, entity_did : StrictStr, **kwargs) -> Dict[str, str]: # noqa: E501
+ def delete_entity(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Delete Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -356,7 +356,7 @@ class EntitiesApi:
>>> thread = api.delete_entity(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -376,7 +376,7 @@ class EntitiesApi:
return self.delete_entity_with_http_info(entity_did, **kwargs) # noqa: E501
@validate_arguments
- def delete_entity_with_http_info(self, entity_did : StrictStr, **kwargs) -> ApiResponse: # noqa: E501
+ def delete_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Delete Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -385,7 +385,7 @@ class EntitiesApi:
>>> thread = api.delete_entity_with_http_info(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -443,12 +443,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
# process the header parameters
_header_params = dict(_params.get('_headers', {}))
# process the form parameters
@@ -469,7 +469,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/entity', 'DELETE',
+ '/api/v1/entity', 'DELETE',
_path_params,
_query_params,
_header_params,
@@ -486,7 +486,7 @@ class EntitiesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def detach_entity(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Entity: # noqa: E501
+ def detach_entity(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> Entity: # noqa: E501
"""Detach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -495,7 +495,7 @@ class EntitiesApi:
>>> thread = api.detach_entity(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -519,7 +519,7 @@ class EntitiesApi:
return self.detach_entity_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def detach_entity_with_http_info(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ def detach_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Detach Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -528,7 +528,7 @@ class EntitiesApi:
>>> thread = api.detach_entity_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -592,12 +592,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -624,7 +624,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/detach', 'POST',
+ '/api/v1/detach', 'POST',
_path_params,
_query_params,
_header_params,
@@ -935,7 +935,7 @@ class EntitiesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def get_entity_by_did(self, entity_did : StrictStr, **kwargs) -> Entity: # noqa: E501
+ def get_entity_by_did(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Entity: # noqa: E501
"""Get Entity By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -944,7 +944,7 @@ class EntitiesApi:
>>> thread = api.get_entity_by_did(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -964,7 +964,7 @@ class EntitiesApi:
return self.get_entity_by_did_with_http_info(entity_did, **kwargs) # noqa: E501
@validate_arguments
- def get_entity_by_did_with_http_info(self, entity_did : StrictStr, **kwargs) -> ApiResponse: # noqa: E501
+ def get_entity_by_did_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Get Entity By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -973,7 +973,7 @@ class EntitiesApi:
>>> thread = api.get_entity_by_did_with_http_info(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -1031,12 +1031,12 @@ class EntitiesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
# process the header parameters
_header_params = dict(_params.get('_headers', {}))
# process the form parameters
@@ -1057,7 +1057,7 @@ class EntitiesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/entity', 'GET',
+ '/api/v1/entity', 'GET',
_path_params,
_query_params,
_header_params,
diff --git a/pkgs/clan-cli/tests/openapi_client/api/services_api.py b/pkgs/clan-cli/tests/openapi_client/api/services_api.py
index 4c17330..d8eb462 100644
--- a/pkgs/clan-cli/tests/openapi_client/api/services_api.py
+++ b/pkgs/clan-cli/tests/openapi_client/api/services_api.py
@@ -24,7 +24,6 @@ from typing import Any, List, Optional, Dict
from openapi_client.models.service import Service
from openapi_client.models.service_create import ServiceCreate
-from openapi_client.models.services_by_name import ServicesByName
from openapi_client.api_client import ApiClient
from openapi_client.api_response import ApiResponse
@@ -193,7 +192,7 @@ class ServicesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def delete_service(self, entity_did : StrictStr, **kwargs) -> Dict[str, str]: # noqa: E501
+ def delete_service(self, entity_did : Optional[StrictStr] = None, **kwargs) -> Dict[str, str]: # noqa: E501
"""Delete Service # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -202,7 +201,7 @@ class ServicesApi:
>>> thread = api.delete_service(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -222,7 +221,7 @@ class ServicesApi:
return self.delete_service_with_http_info(entity_did, **kwargs) # noqa: E501
@validate_arguments
- def delete_service_with_http_info(self, entity_did : StrictStr, **kwargs) -> ApiResponse: # noqa: E501
+ def delete_service_with_http_info(self, entity_did : Optional[StrictStr] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Delete Service # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -231,7 +230,7 @@ class ServicesApi:
>>> thread = api.delete_service_with_http_info(entity_did, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param async_req: Whether to execute the request asynchronously.
:type async_req: bool, optional
@@ -289,12 +288,12 @@ class ServicesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
# process the header parameters
_header_params = dict(_params.get('_headers', {}))
# process the form parameters
@@ -315,7 +314,7 @@ class ServicesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/service', 'DELETE',
+ '/api/v1/service', 'DELETE',
_path_params,
_query_params,
_header_params,
@@ -479,7 +478,7 @@ class ServicesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def get_service_by_did(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> List[Service]: # noqa: E501
+ def get_service_by_did(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> List[Service]: # noqa: E501
"""Get Service By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -488,7 +487,7 @@ class ServicesApi:
>>> thread = api.get_service_by_did(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -512,7 +511,7 @@ class ServicesApi:
return self.get_service_by_did_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def get_service_by_did_with_http_info(self, entity_did : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ def get_service_by_did_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
"""Get Service By Did # noqa: E501
This method makes a synchronous HTTP request by default. To make an
@@ -521,7 +520,7 @@ class ServicesApi:
>>> thread = api.get_service_by_did_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_did: (required)
+ :param entity_did:
:type entity_did: str
:param skip:
:type skip: int
@@ -585,12 +584,12 @@ class ServicesApi:
# process the path parameters
_path_params = {}
- if _params['entity_did']:
- _path_params['entity_did'] = _params['entity_did']
-
# process the query parameters
_query_params = []
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
+
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -617,7 +616,7 @@ class ServicesApi:
}
return self.api_client.call_api(
- '/api/v1/{entity_did}/service', 'GET',
+ '/api/v1/service', 'GET',
_path_params,
_query_params,
_header_params,
@@ -634,17 +633,17 @@ class ServicesApi:
_request_auth=_params.get('_request_auth'))
@validate_arguments
- def get_services_by_name(self, entity_name : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ServicesByName: # noqa: E501
- """Get Services By Name # noqa: E501
+ def get_services_without_entity(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> List[Service]: # noqa: E501
+ """Get Services Without Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_services_by_name(entity_name, skip, limit, async_req=True)
+ >>> thread = api.get_services_without_entity(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_name: (required)
- :type entity_name: str
+ :param entity_did:
+ :type entity_did: str
:param skip:
:type skip: int
:param limit:
@@ -658,26 +657,26 @@ class ServicesApi:
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
- :rtype: ServicesByName
+ :rtype: List[Service]
"""
kwargs['_return_http_data_only'] = True
if '_preload_content' in kwargs:
- message = "Error! Please call the get_services_by_name_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
+ message = "Error! Please call the get_services_without_entity_with_http_info method with `_preload_content` instead and obtain raw data from ApiResponse.raw_data" # noqa: E501
raise ValueError(message)
- return self.get_services_by_name_with_http_info(entity_name, skip, limit, **kwargs) # noqa: E501
+ return self.get_services_without_entity_with_http_info(entity_did, skip, limit, **kwargs) # noqa: E501
@validate_arguments
- def get_services_by_name_with_http_info(self, entity_name : StrictStr, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
- """Get Services By Name # noqa: E501
+ def get_services_without_entity_with_http_info(self, entity_did : Optional[StrictStr] = None, skip : Optional[StrictInt] = None, limit : Optional[StrictInt] = None, **kwargs) -> ApiResponse: # noqa: E501
+ """Get Services Without Entity # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
- >>> thread = api.get_services_by_name_with_http_info(entity_name, skip, limit, async_req=True)
+ >>> thread = api.get_services_without_entity_with_http_info(entity_did, skip, limit, async_req=True)
>>> result = thread.get()
- :param entity_name: (required)
- :type entity_name: str
+ :param entity_did:
+ :type entity_did: str
:param skip:
:type skip: int
:param limit:
@@ -704,13 +703,13 @@ class ServicesApi:
:return: Returns the result object.
If the method is called asynchronously,
returns the request thread.
- :rtype: tuple(ServicesByName, status_code(int), headers(HTTPHeaderDict))
+ :rtype: tuple(List[Service], status_code(int), headers(HTTPHeaderDict))
"""
_params = locals()
_all_params = [
- 'entity_name',
+ 'entity_did',
'skip',
'limit'
]
@@ -731,7 +730,7 @@ class ServicesApi:
if _key not in _all_params:
raise ApiTypeError(
"Got an unexpected keyword argument '%s'"
- " to method get_services_by_name" % _key
+ " to method get_services_without_entity" % _key
)
_params[_key] = _val
del _params['kwargs']
@@ -743,8 +742,8 @@ class ServicesApi:
# process the query parameters
_query_params = []
- if _params.get('entity_name') is not None: # noqa: E501
- _query_params.append(('entity_name', _params['entity_name']))
+ if _params.get('entity_did') is not None: # noqa: E501
+ _query_params.append(('entity_did', _params['entity_did']))
if _params.get('skip') is not None: # noqa: E501
_query_params.append(('skip', _params['skip']))
@@ -767,12 +766,12 @@ class ServicesApi:
_auth_settings = [] # noqa: E501
_response_types_map = {
- '200': "ServicesByName",
+ '200': "List[Service]",
'422': "HTTPValidationError",
}
return self.api_client.call_api(
- '/api/v1/services_by_entity_name', 'GET',
+ '/api/v1/services_without_entity', 'GET',
_path_params,
_query_params,
_header_params,
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/DefaultApi.md b/pkgs/clan-cli/tests/openapi_client/docs/DefaultApi.md
index aef64f7..9a4a45c 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/DefaultApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/DefaultApi.md
@@ -1,15 +1,15 @@
# openapi_client.DefaultApi
-All URIs are relative to _http://localhost_
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get**](DefaultApi.md#get) | **GET** /ws2_example | Get
+[**health**](DefaultApi.md#health) | **GET** /health | Health
+[**root**](DefaultApi.md#root) | **GET** /{path_name} | Root
-| Method | HTTP request | Description |
-| ---------------------------------- | -------------------- | ----------- |
-| [**get**](DefaultApi.md#get) | **GET** /ws2_example | Get |
-| [**health**](DefaultApi.md#health) | **GET** /health | Health |
-| [**root**](DefaultApi.md#root) | **GET** /{path_name} | Root |
# **get**
-
> get()
Get
@@ -42,8 +42,9 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling DefaultApi->get: %s\n" % e)
```
-### Parameters
+
+### Parameters
This endpoint does not need any parameter.
### Return type
@@ -56,19 +57,17 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **health**
-
> Machine health()
Health
@@ -104,8 +103,9 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling DefaultApi->health: %s\n" % e)
```
-### Parameters
+
+### Parameters
This endpoint does not need any parameter.
### Return type
@@ -118,19 +118,17 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **root**
-
> root(path_name)
Root
@@ -155,7 +153,7 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.DefaultApi(api_client)
- path_name = 'path_name_example' # str |
+ path_name = 'path_name_example' # str |
try:
# Root
@@ -164,11 +162,13 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling DefaultApi->root: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| ------------- | ------- | ----------- | ----- |
-| **path_name** | **str** | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **path_name** | **str**| |
### Return type
@@ -180,14 +180,14 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md b/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md
index 86785f9..2264f33 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/EntitiesApi.md
@@ -1,21 +1,21 @@
# openapi_client.EntitiesApi
-All URIs are relative to _http://localhost_
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**attach_entity**](EntitiesApi.md#attach_entity) | **POST** /api/v1/attach | Attach Entity
+[**create_entity**](EntitiesApi.md#create_entity) | **POST** /api/v1/entity | Create Entity
+[**delete_entity**](EntitiesApi.md#delete_entity) | **DELETE** /api/v1/entity | Delete Entity
+[**detach_entity**](EntitiesApi.md#detach_entity) | **POST** /api/v1/detach | Detach Entity
+[**get_all_entities**](EntitiesApi.md#get_all_entities) | **GET** /api/v1/entities | Get All Entities
+[**get_attached_entities**](EntitiesApi.md#get_attached_entities) | **GET** /api/v1/attached_entities | Get Attached Entities
+[**get_entity_by_did**](EntitiesApi.md#get_entity_by_did) | **GET** /api/v1/entity | Get Entity By Did
+[**get_entity_by_name**](EntitiesApi.md#get_entity_by_name) | **GET** /api/v1/entity_by_name | Get Entity By Name
-| Method | HTTP request | Description |
-| ----------------------------------------------------------------- | -------------------------------------- | --------------------- |
-| [**attach_entity**](EntitiesApi.md#attach_entity) | **POST** /api/v1/{entity_did}/attach | Attach Entity |
-| [**create_entity**](EntitiesApi.md#create_entity) | **POST** /api/v1/entity | Create Entity |
-| [**delete_entity**](EntitiesApi.md#delete_entity) | **DELETE** /api/v1/{entity_did}/entity | Delete Entity |
-| [**detach_entity**](EntitiesApi.md#detach_entity) | **POST** /api/v1/{entity_did}/detach | Detach Entity |
-| [**get_all_entities**](EntitiesApi.md#get_all_entities) | **GET** /api/v1/entities | Get All Entities |
-| [**get_attached_entities**](EntitiesApi.md#get_attached_entities) | **GET** /api/v1/attached_entities | Get Attached Entities |
-| [**get_entity_by_did**](EntitiesApi.md#get_entity_by_did) | **GET** /api/v1/{entity_did}/entity | Get Entity By Did |
-| [**get_entity_by_name**](EntitiesApi.md#get_entity_by_name) | **GET** /api/v1/entity_by_name | Get Entity By Name |
# **attach_entity**
-
-> Dict[str, str] attach_entity(entity_did, skip=skip, limit=limit)
+> Dict[str, str] attach_entity(entity_did=entity_did, skip=skip, limit=limit)
Attach Entity
@@ -39,26 +39,28 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
# Attach Entity
- api_response = api_instance.attach_entity(entity_did, skip=skip, limit=limit)
+ api_response = api_instance.attach_entity(entity_did=entity_did, skip=skip, limit=limit)
print("The response of EntitiesApi->attach_entity:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EntitiesApi->attach_entity: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | --------------------------- |
-| **entity_did** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -70,20 +72,18 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **create_entity**
-
> Entity create_entity(entity_create)
Create Entity
@@ -110,7 +110,7 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_create = openapi_client.EntityCreate() # EntityCreate |
+ entity_create = openapi_client.EntityCreate() # EntityCreate |
try:
# Create Entity
@@ -121,11 +121,13 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling EntitiesApi->create_entity: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| ----------------- | ----------------------------------- | ----------- | ----- |
-| **entity_create** | [**EntityCreate**](EntityCreate.md) | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_create** | [**EntityCreate**](EntityCreate.md)| |
### Return type
@@ -137,21 +139,19 @@ No authorization required
### HTTP request headers
-- **Content-Type**: application/json
-- **Accept**: application/json
+ - **Content-Type**: application/json
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_entity**
-
-> Dict[str, str] delete_entity(entity_did)
+> Dict[str, str] delete_entity(entity_did=entity_did)
Delete Entity
@@ -175,22 +175,24 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
try:
# Delete Entity
- api_response = api_instance.delete_entity(entity_did)
+ api_response = api_instance.delete_entity(entity_did=entity_did)
print("The response of EntitiesApi->delete_entity:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EntitiesApi->delete_entity: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | ----- |
-| **entity_did** | **str** | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
### Return type
@@ -202,21 +204,19 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **detach_entity**
-
-> Entity detach_entity(entity_did, skip=skip, limit=limit)
+> Entity detach_entity(entity_did=entity_did, skip=skip, limit=limit)
Detach Entity
@@ -241,26 +241,28 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
# Detach Entity
- api_response = api_instance.detach_entity(entity_did, skip=skip, limit=limit)
+ api_response = api_instance.detach_entity(entity_did=entity_did, skip=skip, limit=limit)
print("The response of EntitiesApi->detach_entity:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EntitiesApi->detach_entity: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | --------------------------- |
-| **entity_did** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -272,20 +274,18 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_all_entities**
-
> List[Entity] get_all_entities(skip=skip, limit=limit)
Get All Entities
@@ -323,12 +323,14 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling EntitiesApi->get_all_entities: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------- | ------- | ----------- | --------------------------- |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -340,20 +342,18 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_attached_entities**
-
> List[Entity] get_attached_entities(skip=skip, limit=limit)
Get Attached Entities
@@ -391,12 +391,14 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling EntitiesApi->get_attached_entities: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------- | ------- | ----------- | --------------------------- |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -408,21 +410,19 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_entity_by_did**
-
-> Entity get_entity_by_did(entity_did)
+> Entity get_entity_by_did(entity_did=entity_did)
Get Entity By Did
@@ -447,22 +447,24 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
try:
# Get Entity By Did
- api_response = api_instance.get_entity_by_did(entity_did)
+ api_response = api_instance.get_entity_by_did(entity_did=entity_did)
print("The response of EntitiesApi->get_entity_by_did:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling EntitiesApi->get_entity_by_did: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | ----- |
-| **entity_did** | **str** | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
### Return type
@@ -474,20 +476,18 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_entity_by_name**
-
> Entity get_entity_by_name(entity_name)
Get Entity By Name
@@ -513,7 +513,7 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.EntitiesApi(api_client)
- entity_name = 'entity_name_example' # str |
+ entity_name = 'entity_name_example' # str |
try:
# Get Entity By Name
@@ -524,11 +524,13 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling EntitiesApi->get_entity_by_name: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------------- | ------- | ----------- | ----- |
-| **entity_name** | **str** | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_name** | **str**| |
### Return type
@@ -540,14 +542,14 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/Entity.md b/pkgs/clan-cli/tests/openapi_client/docs/Entity.md
index fc0e2d7..18c6174 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/Entity.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/Entity.md
@@ -1,15 +1,15 @@
# Entity
-## Properties
-| Name | Type | Description | Notes |
-| ------------ | ---------- | ----------- | ----- |
-| **did** | **str** | |
-| **name** | **str** | |
-| **ip** | **str** | |
-| **visible** | **bool** | |
-| **other** | **object** | |
-| **attached** | **bool** | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**did** | **str** | |
+**name** | **str** | |
+**ip** | **str** | |
+**visible** | **bool** | |
+**other** | **object** | |
+**attached** | **bool** | |
## Example
@@ -28,5 +28,6 @@ entity_dict = entity_instance.to_dict()
# create an instance of Entity from a dict
entity_form_dict = entity.from_dict(entity_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/EntityCreate.md b/pkgs/clan-cli/tests/openapi_client/docs/EntityCreate.md
index 4fff16a..7cd1831 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/EntityCreate.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/EntityCreate.md
@@ -1,14 +1,14 @@
# EntityCreate
-## Properties
-| Name | Type | Description | Notes |
-| ----------- | ---------- | ----------- | ----- |
-| **did** | **str** | |
-| **name** | **str** | |
-| **ip** | **str** | |
-| **visible** | **bool** | |
-| **other** | **object** | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**did** | **str** | |
+**name** | **str** | |
+**ip** | **str** | |
+**visible** | **bool** | |
+**other** | **object** | |
## Example
@@ -27,5 +27,6 @@ entity_create_dict = entity_create_instance.to_dict()
# create an instance of EntityCreate from a dict
entity_create_form_dict = entity_create.from_dict(entity_create_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/HTTPValidationError.md b/pkgs/clan-cli/tests/openapi_client/docs/HTTPValidationError.md
index d4902e7..5eee49b 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/HTTPValidationError.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/HTTPValidationError.md
@@ -1,10 +1,10 @@
# HTTPValidationError
-## Properties
-| Name | Type | Description | Notes |
-| ---------- | ----------------------------------------------- | ----------- | ---------- |
-| **detail** | [**List[ValidationError]**](ValidationError.md) | | [optional] |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**detail** | [**List[ValidationError]**](ValidationError.md) | | [optional]
## Example
@@ -23,5 +23,6 @@ http_validation_error_dict = http_validation_error_instance.to_dict()
# create an instance of HTTPValidationError from a dict
http_validation_error_form_dict = http_validation_error.from_dict(http_validation_error_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/Machine.md b/pkgs/clan-cli/tests/openapi_client/docs/Machine.md
index 062fd51..4ea6dc3 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/Machine.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/Machine.md
@@ -1,11 +1,11 @@
# Machine
-## Properties
-| Name | Type | Description | Notes |
-| ---------- | ----------------------- | ----------- | ----- |
-| **name** | **str** | |
-| **status** | [**Status**](Status.md) | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**status** | [**Status**](Status.md) | |
## Example
@@ -24,5 +24,6 @@ machine_dict = machine_instance.to_dict()
# create an instance of Machine from a dict
machine_form_dict = machine.from_dict(machine_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/RepositoriesApi.md b/pkgs/clan-cli/tests/openapi_client/docs/RepositoriesApi.md
index ff735f0..7a24ab0 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/RepositoriesApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/RepositoriesApi.md
@@ -1,13 +1,13 @@
# openapi_client.RepositoriesApi
-All URIs are relative to _http://localhost_
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_all_repositories**](RepositoriesApi.md#get_all_repositories) | **GET** /api/v1/repositories | Get All Repositories
-| Method | HTTP request | Description |
-| ------------------------------------------------------------------- | ---------------------------- | -------------------- |
-| [**get_all_repositories**](RepositoriesApi.md#get_all_repositories) | **GET** /api/v1/repositories | Get All Repositories |
# **get_all_repositories**
-
> List[Service] get_all_repositories(skip=skip, limit=limit)
Get All Repositories
@@ -45,12 +45,14 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling RepositoriesApi->get_all_repositories: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------- | ------- | ----------- | --------------------------- |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -62,14 +64,14 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/Resolution.md b/pkgs/clan-cli/tests/openapi_client/docs/Resolution.md
index 27928d5..27a3992 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/Resolution.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/Resolution.md
@@ -1,15 +1,15 @@
# Resolution
-## Properties
-| Name | Type | Description | Notes |
-| ------------------ | ------------ | ----------- | ----- |
-| **requester_name** | **str** | |
-| **requester_did** | **str** | |
-| **resolved_did** | **str** | |
-| **other** | **object** | |
-| **timestamp** | **datetime** | |
-| **id** | **int** | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**requester_name** | **str** | |
+**requester_did** | **str** | |
+**resolved_did** | **str** | |
+**other** | **object** | |
+**timestamp** | **datetime** | |
+**id** | **int** | |
## Example
@@ -28,5 +28,6 @@ resolution_dict = resolution_instance.to_dict()
# create an instance of Resolution from a dict
resolution_form_dict = resolution.from_dict(resolution_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ResolutionApi.md b/pkgs/clan-cli/tests/openapi_client/docs/ResolutionApi.md
index 24da5fb..a2ae852 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/ResolutionApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/ResolutionApi.md
@@ -1,13 +1,13 @@
# openapi_client.ResolutionApi
-All URIs are relative to _http://localhost_
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**get_all_resolutions**](ResolutionApi.md#get_all_resolutions) | **GET** /api/v1/resolutions | Get All Resolutions
-| Method | HTTP request | Description |
-| --------------------------------------------------------------- | --------------------------- | ------------------- |
-| [**get_all_resolutions**](ResolutionApi.md#get_all_resolutions) | **GET** /api/v1/resolutions | Get All Resolutions |
# **get_all_resolutions**
-
> List[Resolution] get_all_resolutions(skip=skip, limit=limit)
Get All Resolutions
@@ -45,12 +45,14 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling ResolutionApi->get_all_resolutions: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------- | ------- | ----------- | --------------------------- |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -62,14 +64,14 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/Service.md b/pkgs/clan-cli/tests/openapi_client/docs/Service.md
index 5798f74..bff9e15 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/Service.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/Service.md
@@ -1,17 +1,17 @@
# Service
-## Properties
-| Name | Type | Description | Notes |
-| ---------------- | ----------------------- | ----------- | ----- |
-| **uuid** | **str** | |
-| **service_name** | **str** | |
-| **service_type** | **str** | |
-| **endpoint_url** | **str** | |
-| **status** | **str** | |
-| **other** | **object** | |
-| **entity_did** | **str** | |
-| **entity** | [**Entity**](Entity.md) | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**uuid** | **str** | |
+**service_name** | **str** | |
+**service_type** | **str** | |
+**endpoint_url** | **str** | |
+**status** | **str** | |
+**other** | **object** | |
+**entity_did** | **str** | |
+**entity** | [**Entity**](Entity.md) | |
## Example
@@ -30,5 +30,6 @@ service_dict = service_instance.to_dict()
# create an instance of Service from a dict
service_form_dict = service.from_dict(service_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ServiceCreate.md b/pkgs/clan-cli/tests/openapi_client/docs/ServiceCreate.md
index 7843b1a..f8e84e1 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/ServiceCreate.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/ServiceCreate.md
@@ -1,16 +1,16 @@
# ServiceCreate
-## Properties
-| Name | Type | Description | Notes |
-| ---------------- | ---------- | ----------- | ----- |
-| **uuid** | **str** | |
-| **service_name** | **str** | |
-| **service_type** | **str** | |
-| **endpoint_url** | **str** | |
-| **status** | **str** | |
-| **other** | **object** | |
-| **entity_did** | **str** | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**uuid** | **str** | |
+**service_name** | **str** | |
+**service_type** | **str** | |
+**endpoint_url** | **str** | |
+**status** | **str** | |
+**other** | **object** | |
+**entity_did** | **str** | |
## Example
@@ -29,5 +29,6 @@ service_create_dict = service_create_instance.to_dict()
# create an instance of ServiceCreate from a dict
service_create_form_dict = service_create.from_dict(service_create_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md b/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md
index 846a81c..9a2c544 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/ServicesApi.md
@@ -1,17 +1,17 @@
# openapi_client.ServicesApi
-All URIs are relative to _http://localhost_
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**create_service**](ServicesApi.md#create_service) | **POST** /api/v1/service | Create Service
+[**delete_service**](ServicesApi.md#delete_service) | **DELETE** /api/v1/service | Delete Service
+[**get_all_services**](ServicesApi.md#get_all_services) | **GET** /api/v1/services | Get All Services
+[**get_service_by_did**](ServicesApi.md#get_service_by_did) | **GET** /api/v1/service | Get Service By Did
+[**get_services_without_entity**](ServicesApi.md#get_services_without_entity) | **GET** /api/v1/services_without_entity | Get Services Without Entity
-| Method | HTTP request | Description |
-| --------------------------------------------------------------- | --------------------------------------- | -------------------- |
-| [**create_service**](ServicesApi.md#create_service) | **POST** /api/v1/service | Create Service |
-| [**delete_service**](ServicesApi.md#delete_service) | **DELETE** /api/v1/{entity_did}/service | Delete Service |
-| [**get_all_services**](ServicesApi.md#get_all_services) | **GET** /api/v1/services | Get All Services |
-| [**get_service_by_did**](ServicesApi.md#get_service_by_did) | **GET** /api/v1/{entity_did}/service | Get Service By Did |
-| [**get_services_by_name**](ServicesApi.md#get_services_by_name) | **GET** /api/v1/services_by_entity_name | Get Services By Name |
# **create_service**
-
> Service create_service(service_create)
Create Service
@@ -38,7 +38,7 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- service_create = openapi_client.ServiceCreate() # ServiceCreate |
+ service_create = openapi_client.ServiceCreate() # ServiceCreate |
try:
# Create Service
@@ -49,11 +49,13 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling ServicesApi->create_service: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| ------------------ | ------------------------------------- | ----------- | ----- |
-| **service_create** | [**ServiceCreate**](ServiceCreate.md) | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **service_create** | [**ServiceCreate**](ServiceCreate.md)| |
### Return type
@@ -65,21 +67,19 @@ No authorization required
### HTTP request headers
-- **Content-Type**: application/json
-- **Accept**: application/json
+ - **Content-Type**: application/json
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete_service**
-
-> Dict[str, str] delete_service(entity_did)
+> Dict[str, str] delete_service(entity_did=entity_did)
Delete Service
@@ -103,22 +103,24 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
try:
# Delete Service
- api_response = api_instance.delete_service(entity_did)
+ api_response = api_instance.delete_service(entity_did=entity_did)
print("The response of ServicesApi->delete_service:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ServicesApi->delete_service: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | ----- |
-| **entity_did** | **str** | |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
### Return type
@@ -130,20 +132,18 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_all_services**
-
> List[Service] get_all_services(skip=skip, limit=limit)
Get All Services
@@ -181,12 +181,14 @@ with openapi_client.ApiClient(configuration) as api_client:
print("Exception when calling ServicesApi->get_all_services: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------- | ------- | ----------- | --------------------------- |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -198,21 +200,19 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **get_service_by_did**
-
-> List[Service] get_service_by_did(entity_did, skip=skip, limit=limit)
+> List[Service] get_service_by_did(entity_did=entity_did, skip=skip, limit=limit)
Get Service By Did
@@ -237,26 +237,28 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- entity_did = 'entity_did_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
# Get Service By Did
- api_response = api_instance.get_service_by_did(entity_did, skip=skip, limit=limit)
+ api_response = api_instance.get_service_by_did(entity_did=entity_did, skip=skip, limit=limit)
print("The response of ServicesApi->get_service_by_did:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ServicesApi->get_service_by_did: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| -------------- | ------- | ----------- | --------------------------- |
-| **entity_did** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
@@ -268,23 +270,21 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
-# **get_services_by_name**
+# **get_services_without_entity**
+> List[Service] get_services_without_entity(entity_did=entity_did, skip=skip, limit=limit)
-> ServicesByName get_services_by_name(entity_name, skip=skip, limit=limit)
-
-Get Services By Name
+Get Services Without Entity
### Example
@@ -292,7 +292,7 @@ Get Services By Name
import time
import os
import openapi_client
-from openapi_client.models.services_by_name import ServicesByName
+from openapi_client.models.service import Service
from openapi_client.rest import ApiException
from pprint import pprint
@@ -307,30 +307,32 @@ configuration = openapi_client.Configuration(
with openapi_client.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = openapi_client.ServicesApi(api_client)
- entity_name = 'entity_name_example' # str |
+ entity_did = 'did:sov:test:1234' # str | (optional) (default to 'did:sov:test:1234')
skip = 0 # int | (optional) (default to 0)
limit = 100 # int | (optional) (default to 100)
try:
- # Get Services By Name
- api_response = api_instance.get_services_by_name(entity_name, skip=skip, limit=limit)
- print("The response of ServicesApi->get_services_by_name:\n")
+ # Get Services Without Entity
+ api_response = api_instance.get_services_without_entity(entity_did=entity_did, skip=skip, limit=limit)
+ print("The response of ServicesApi->get_services_without_entity:\n")
pprint(api_response)
except Exception as e:
- print("Exception when calling ServicesApi->get_services_by_name: %s\n" % e)
+ print("Exception when calling ServicesApi->get_services_without_entity: %s\n" % e)
```
+
+
### Parameters
-| Name | Type | Description | Notes |
-| --------------- | ------- | ----------- | --------------------------- |
-| **entity_name** | **str** | |
-| **skip** | **int** | | [optional] [default to 0] |
-| **limit** | **int** | | [optional] [default to 100] |
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **entity_did** | **str**| | [optional] [default to 'did:sov:test:1234']
+ **skip** | **int**| | [optional] [default to 0]
+ **limit** | **int**| | [optional] [default to 100]
### Return type
-[**ServicesByName**](ServicesByName.md)
+[**List[Service]**](Service.md)
### Authorization
@@ -338,14 +340,14 @@ No authorization required
### HTTP request headers
-- **Content-Type**: Not defined
-- **Accept**: application/json
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
### HTTP response details
-
-| Status code | Description | Response headers |
-| ----------- | ------------------- | ---------------- |
-| **200** | Successful Response | - |
-| **422** | Validation Error | - |
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ServicesByName.md b/pkgs/clan-cli/tests/openapi_client/docs/ServicesByName.md
deleted file mode 100644
index 5d25b1e..0000000
--- a/pkgs/clan-cli/tests/openapi_client/docs/ServicesByName.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# ServicesByName
-
-## Properties
-
-| Name | Type | Description | Notes |
-| ------------ | ------------------------------- | ----------- | ----- |
-| **entity** | [**Entity**](Entity.md) | |
-| **services** | [**List[Service]**](Service.md) | |
-
-## Example
-
-```python
-from openapi_client.models.services_by_name import ServicesByName
-
-# TODO update the JSON string below
-json = "{}"
-# create an instance of ServicesByName from a JSON string
-services_by_name_instance = ServicesByName.from_json(json)
-# print the JSON string representation of the object
-print ServicesByName.to_json()
-
-# convert the object into a dict
-services_by_name_dict = services_by_name_instance.to_dict()
-# create an instance of ServicesByName from a dict
-services_by_name_form_dict = services_by_name.from_dict(services_by_name_dict)
-```
-
-[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/Status.md b/pkgs/clan-cli/tests/openapi_client/docs/Status.md
index 10bd223..3b89cf4 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/Status.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/Status.md
@@ -3,8 +3,9 @@
An enumeration.
## Properties
-
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ValidationError.md b/pkgs/clan-cli/tests/openapi_client/docs/ValidationError.md
index b57b565..04310f6 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/ValidationError.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/ValidationError.md
@@ -1,12 +1,12 @@
# ValidationError
-## Properties
-| Name | Type | Description | Notes |
-| -------- | --------------------------------------------------------------- | ----------- | ----- |
-| **loc** | [**List[ValidationErrorLocInner]**](ValidationErrorLocInner.md) | |
-| **msg** | **str** | |
-| **type** | **str** | |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**loc** | [**List[ValidationErrorLocInner]**](ValidationErrorLocInner.md) | |
+**msg** | **str** | |
+**type** | **str** | |
## Example
@@ -25,5 +25,6 @@ validation_error_dict = validation_error_instance.to_dict()
# create an instance of ValidationError from a dict
validation_error_form_dict = validation_error.from_dict(validation_error_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/docs/ValidationErrorLocInner.md b/pkgs/clan-cli/tests/openapi_client/docs/ValidationErrorLocInner.md
index 04e49df..0bae52d 100644
--- a/pkgs/clan-cli/tests/openapi_client/docs/ValidationErrorLocInner.md
+++ b/pkgs/clan-cli/tests/openapi_client/docs/ValidationErrorLocInner.md
@@ -1,9 +1,9 @@
# ValidationErrorLocInner
-## Properties
-| Name | Type | Description | Notes |
-| ---- | ---- | ----------- | ----- |
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
## Example
@@ -22,5 +22,6 @@ validation_error_loc_inner_dict = validation_error_loc_inner_instance.to_dict()
# create an instance of ValidationErrorLocInner from a dict
validation_error_loc_inner_form_dict = validation_error_loc_inner.from_dict(validation_error_loc_inner_dict)
```
-
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/pkgs/clan-cli/tests/openapi_client/models/__init__.py b/pkgs/clan-cli/tests/openapi_client/models/__init__.py
index 822cc4e..4955602 100644
--- a/pkgs/clan-cli/tests/openapi_client/models/__init__.py
+++ b/pkgs/clan-cli/tests/openapi_client/models/__init__.py
@@ -21,7 +21,6 @@ from openapi_client.models.machine import Machine
from openapi_client.models.resolution import Resolution
from openapi_client.models.service import Service
from openapi_client.models.service_create import ServiceCreate
-from openapi_client.models.services_by_name import ServicesByName
from openapi_client.models.status import Status
from openapi_client.models.validation_error import ValidationError
from openapi_client.models.validation_error_loc_inner import ValidationErrorLocInner
diff --git a/pkgs/clan-cli/tests/openapi_client/models/services_by_name.py b/pkgs/clan-cli/tests/openapi_client/models/services_by_name.py
deleted file mode 100644
index 0ee9a85..0000000
--- a/pkgs/clan-cli/tests/openapi_client/models/services_by_name.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-from __future__ import annotations
-import pprint
-import re # noqa: F401
-import json
-
-
-from typing import List
-from pydantic import BaseModel, Field, conlist
-from openapi_client.models.entity import Entity
-from openapi_client.models.service import Service
-
-class ServicesByName(BaseModel):
- """
- ServicesByName
- """
- entity: Entity = Field(...)
- services: conlist(Service) = Field(...)
- __properties = ["entity", "services"]
-
- class Config:
- """Pydantic configuration"""
- allow_population_by_field_name = True
- validate_assignment = True
-
- def to_str(self) -> str:
- """Returns the string representation of the model using alias"""
- return pprint.pformat(self.dict(by_alias=True))
-
- def to_json(self) -> str:
- """Returns the JSON representation of the model using alias"""
- return json.dumps(self.to_dict())
-
- @classmethod
- def from_json(cls, json_str: str) -> ServicesByName:
- """Create an instance of ServicesByName from a JSON string"""
- return cls.from_dict(json.loads(json_str))
-
- def to_dict(self):
- """Returns the dictionary representation of the model using alias"""
- _dict = self.dict(by_alias=True,
- exclude={
- },
- exclude_none=True)
- # override the default output from pydantic by calling `to_dict()` of entity
- if self.entity:
- _dict['entity'] = self.entity.to_dict()
- # override the default output from pydantic by calling `to_dict()` of each item in services (list)
- _items = []
- if self.services:
- for _item in self.services:
- if _item:
- _items.append(_item.to_dict())
- _dict['services'] = _items
- return _dict
-
- @classmethod
- def from_dict(cls, obj: dict) -> ServicesByName:
- """Create an instance of ServicesByName from a dict"""
- if obj is None:
- return None
-
- if not isinstance(obj, dict):
- return ServicesByName.parse_obj(obj)
-
- _obj = ServicesByName.parse_obj({
- "entity": Entity.from_dict(obj.get("entity")) if obj.get("entity") is not None else None,
- "services": [Service.from_dict(_item) for _item in obj.get("services")] if obj.get("services") is not None else None
- })
- return _obj
-
-
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py b/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py
index b9d196d..68470f9 100644
--- a/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py
+++ b/pkgs/clan-cli/tests/openapi_client/test/test_services_api.py
@@ -54,10 +54,10 @@ class TestServicesApi(unittest.TestCase):
"""
pass
- def test_get_services_by_name(self) -> None:
- """Test case for get_services_by_name
+ def test_get_services_without_entity(self) -> None:
+ """Test case for get_services_without_entity
- Get Services By Name # noqa: E501
+ Get Services Without Entity # noqa: E501
"""
pass
diff --git a/pkgs/clan-cli/tests/openapi_client/test/test_services_by_name.py b/pkgs/clan-cli/tests/openapi_client/test/test_services_by_name.py
deleted file mode 100644
index b63992b..0000000
--- a/pkgs/clan-cli/tests/openapi_client/test/test_services_by_name.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# coding: utf-8
-
-"""
- FastAPI
-
- No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
-
- The version of the OpenAPI document: 0.1.0
- Generated by OpenAPI Generator (https://openapi-generator.tech)
-
- Do not edit the class manually.
-""" # noqa: E501
-
-
-import unittest
-import datetime
-
-from openapi_client.models.services_by_name import ServicesByName # noqa: E501
-
-class TestServicesByName(unittest.TestCase):
- """ServicesByName unit test stubs"""
-
- def setUp(self):
- pass
-
- def tearDown(self):
- pass
-
- def make_instance(self, include_optional) -> ServicesByName:
- """Test ServicesByName
- include_option is a boolean, when False only required
- params are included, when True both required and
- optional params are included """
- # uncomment below to create an instance of `ServicesByName`
- """
- model = ServicesByName() # noqa: E501
- if include_optional:
- return ServicesByName(
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ),
- services = [
- openapi_client.models.service.Service(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ), )
- ]
- )
- else:
- return ServicesByName(
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ),
- services = [
- openapi_client.models.service.Service(
- uuid = '8e285c0c-4e40-430a-a477-26b3b81e30df',
- service_name = 'Carlos Printing',
- service_type = '3D Printing',
- endpoint_url = 'http://127.0.0.1:8000',
- status = 'unknown',
- other = {action=[register, deregister, delete, create]},
- entity_did = 'did:sov:test:1234',
- entity = openapi_client.models.entity.Entity(
- did = 'did:sov:test:1234',
- name = 'C1',
- ip = '127.0.0.1',
- visible = True,
- other = {network=Carlos Home Network, roles=[service repository, service prosumer]},
- attached = True, ), )
- ],
- )
- """
-
- def testServicesByName(self):
- """Test ServicesByName"""
- # inst_req_only = self.make_instance(include_optional=False)
- # inst_req_and_optional = self.make_instance(include_optional=True)
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/pkgs/ui/src/app/access-point/page.tsx b/pkgs/ui/src/app/access-point/page.tsx
index 34f08cd..c4783f0 100644
--- a/pkgs/ui/src/app/access-point/page.tsx
+++ b/pkgs/ui/src/app/access-point/page.tsx
@@ -45,7 +45,7 @@ export default function AccessPoint() {
useEffect(() => {
const interval = setInterval(() => {
onRefresh();
- }, 1000);
+ }, 5000);
return () => clearInterval(interval);
// eslint-disable-next-line react-hooks/exhaustive-deps
diff --git a/pkgs/ui/src/app/client/[client_name]/page.tsx b/pkgs/ui/src/app/client/[client_name]/page.tsx
index 2637d81..4b4e68a 100644
--- a/pkgs/ui/src/app/client/[client_name]/page.tsx
+++ b/pkgs/ui/src/app/client/[client_name]/page.tsx
@@ -10,13 +10,112 @@ import {
CardHeader,
Snackbar,
Typography,
+ CircularProgress,
+ IconButton,
} from "@mui/material";
import CopyToClipboard from "@/components/copy_to_clipboard";
-import { useGetServicesByName } from "@/api/services/services";
-import { attachEntity, detachEntity } from "@/api/entities/entities";
+import {
+ attachEntity,
+ detachEntity,
+ isAttached,
+} from "@/api/entities/entities";
import { mutate } from "swr";
import { Skeleton } from "@mui/material";
-import { Service } from "@/api/model";
+import { Entity, Service } from "@/api/model";
+import useGetEntityByNameOrDid from "@/components/hooks/useGetEntityByNameOrDid";
+import { useGetAllServices } from "@/api/services/services";
+import axios from "axios";
+import { NoDataOverlay } from "@/components/noDataOverlay";
+import { DashboardCard } from "@/components/card";
+import CloseIcon from "@mui/icons-material/Close";
+
+interface SnackMessage {
+ message: string;
+ severity: "success" | "error";
+}
+
+export const RecentActivity = (entity: Entity) => {
+ return (
+