diff --git a/gso/services/sharepoint.py b/gso/services/sharepoint.py index 4b4f421cfb2f2bd3fc754c3ab6ccba75300d95ca..b4b412db48f88dd340d58aa91d7e2ce776d230dc 100644 --- a/gso/services/sharepoint.py +++ b/gso/services/sharepoint.py @@ -5,8 +5,8 @@ from msgraph import GraphServiceClient from msgraph.generated.models.field_value_set import FieldValueSet from msgraph.generated.models.list_item import ListItem from msgraph.generated.models.list_item_collection_response import ListItemCollectionResponse +from msgraph.generated.models.site import Site from msgraph.generated.sites.item.lists.item.items.items_request_builder import ItemsRequestBuilder -from products import Site from gso.settings import load_oss_params @@ -36,15 +36,13 @@ class SPClient: :param str list_name: The name of the list. """ - query_params = ItemsRequestBuilder.ItemsRequestBuilderGetQueryParameters( - expand=["fields($select=Title,LinkTitle,CHECK_LIST_STATE,VERIFY_LIBRENMS)"], - ) + query_params = ItemsRequestBuilder.ItemsRequestBuilderGetQueryParameters(expand=["fields"]) request_configuration = ItemsRequestBuilder.ItemsRequestBuilderGetRequestConfiguration( query_parameters=query_params ) return ( await self.client.sites.by_site_id(self.site_id) - .lists.by_list_id(getattr(self.list_ids, list_name)) + .lists.by_list_id(self.list_ids[list_name]) .items.get(request_configuration=request_configuration) ) @@ -57,6 +55,5 @@ class SPClient: request_body = ListItem(fields=FieldValueSet(additional_data=fields)) return ( await self.client.sites.by_site_id(self.site_id) - .lists.by_list_id(getattr(self.list_ids, list_name)) - .items.post(request_body) + .lists.by_list_id(self.list_ids[list_name]).items.post(request_body) ) diff --git a/gso/settings.py b/gso/settings.py index cb09073029cc818070599a5893546e17b8de1a60..0948862ed29d24f9a39fda30af6c7427a0975b08 100644 --- a/gso/settings.py +++ b/gso/settings.py @@ -11,8 +11,9 @@ import os from pathlib import Path from typing import Annotated -from pydantic import BaseSettings, Field, HttpUrl +from pydantic import Field, HttpUrl from pydantic_forms.types import UUIDstr +from pydantic_settings import BaseSettings from typing_extensions import Doc logger = logging.getLogger(__name__) @@ -154,8 +155,8 @@ class EmailParams(BaseSettings): smtp_host: str smtp_port: int starttls_enabled: bool - smtp_username: str | None - smtp_password: str | None + smtp_username: str | None = None + smtp_password: str | None = None class SharepointParams(BaseSettings): @@ -167,10 +168,7 @@ class SharepointParams(BaseSettings): certificate_password: str site_id: UUIDstr list_ids: dict[str, UUIDstr] - scopes: list[HttpUrl] - #: .. deprecated :: 1.7 - #: Not used anymore, since this can be inferred from SharePoint :term:`API` responses. - checklist_site_url: HttpUrl | None + scopes: list[str] class OSSParams(BaseSettings):