diff --git a/package-lock.json b/package-lock.json index f4edd7b..22af807 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "@seamapi/blueprint": "^1.8.0", "@seamapi/fake-seam-connect": "2.0.4", "@seamapi/smith": "^1.1.0", - "@seamapi/types": "1.1001.0", + "@seamapi/types": "1.1006.0", "change-case": "^5.4.4", "prettier": "^3.2.5" }, @@ -853,9 +853,9 @@ } }, "node_modules/@seamapi/types": { - "version": "1.1001.0", - "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.1001.0.tgz", - "integrity": "sha512-pwIEqMYCdOLlIHUzzLlMq/4K6QwAM3kWXooSxNWOlPyCeWk21SvrbTN/joXwZtky504g3unLPKMbFad1mlQyfQ==", + "version": "1.1006.0", + "resolved": "https://registry.npmjs.org/@seamapi/types/-/types-1.1006.0.tgz", + "integrity": "sha512-UI3lxJxc2Hm/vVtD5oTF8PVEvOuTkDEdfhl+DSTNUz/qqfP8TXy6uXTf792glX0sK5ihuO7CokGIUpnR4CSzgg==", "dev": true, "license": "MIT", "engines": { diff --git a/package.json b/package.json index ea3ba81..b504afa 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@seamapi/blueprint": "^1.8.0", "@seamapi/fake-seam-connect": "2.0.4", "@seamapi/smith": "^1.1.0", - "@seamapi/types": "1.1001.0", + "@seamapi/types": "1.1006.0", "change-case": "^5.4.4", "prettier": "^3.2.5" } diff --git a/seam/resources/access_grant.py b/seam/resources/access_grant.py index 9a1e5ad..e5cb40d 100644 --- a/seam/resources/access_grant.py +++ b/seam/resources/access_grant.py @@ -29,6 +29,8 @@ class AccessGrant: :ivar display_name: Display name of the Access Grant. + :ivar display_status: Human-readable sentence answering whether the user can currently get in, for example ``Awaiting encoding`` on an access method or ``Upcoming`` here. For display only. The wording is not stable and is not an enumeration — it may change at any time, so never compare against or branch on it. To make decisions, read ``starts_at``, ``ends_at``, ``errors``, and the access methods' own fields. + :ivar ends_at: Date and time at which the Access Grant ends. :ivar errors: Errors associated with the `access grant `_. @@ -516,6 +518,7 @@ def from_dict(cls, d: Any): created_at: str customization_profile_id: Optional[str] display_name: str + display_status: str ends_at: Optional[str] errors: List[Errors] instant_key_url: Optional[str] @@ -540,6 +543,7 @@ def from_dict(cls, d: Any): created_at=d.get("created_at", None), customization_profile_id=d.get("customization_profile_id", None), display_name=d.get("display_name", None), + display_status=d.get("display_status", None), ends_at=d.get("ends_at", None), errors=[ _from_discriminated_dict(i, cls._ErrorsVariants, "error_code") diff --git a/seam/resources/access_method.py b/seam/resources/access_method.py index 06e35d0..bc0efc9 100644 --- a/seam/resources/access_method.py +++ b/seam/resources/access_method.py @@ -27,6 +27,8 @@ class AccessMethod: :ivar display_name: Display name of the access method. + :ivar display_status: Human-readable sentence describing where the access method sits in its relationship with the device or access system, for example ``Awaiting encoding``. For display only. The wording is not stable and is not an enumeration — it may change at any time, so never compare against or branch on it. To make decisions, read ``is_issued``, ``errors``, and ``pending_mutations``. + :ivar errors: Errors associated with the `access method `_. :ivar instant_key_url: URL of the Instant Key for mobile key access methods. @@ -399,6 +401,7 @@ def from_dict(cls, d: Any): created_at: str customization_profile_id: Optional[str] display_name: str + display_status: str errors: List[Errors] instant_key_url: Optional[str] is_assignment_required: Optional[bool] @@ -421,6 +424,7 @@ def from_dict(cls, d: Any): created_at=d.get("created_at", None), customization_profile_id=d.get("customization_profile_id", None), display_name=d.get("display_name", None), + display_status=d.get("display_status", None), errors=[ _from_discriminated_dict(i, cls._ErrorsVariants, "error_code") for i in d.get("errors") or [] diff --git a/seam/resources/action_attempt.py b/seam/resources/action_attempt.py index bab1585..4a6cc6e 100644 --- a/seam/resources/action_attempt.py +++ b/seam/resources/action_attempt.py @@ -1508,6 +1508,8 @@ class Result(ResourceMapping): :ivar display_name: Display name of the access method. + :ivar display_status: Human-readable sentence describing where the access method sits in its relationship with the device or access system, for example ``Awaiting encoding``. For display only. The wording is not stable and is not an enumeration — it may change at any time, so never compare against or branch on it. To make decisions, read ``is_issued``, ``errors``, and ``pending_mutations``. + :ivar errors: Errors associated with the `access method `_. :ivar instant_key_url: URL of the Instant Key for mobile key access methods. @@ -1670,6 +1672,7 @@ def from_dict(cls, d: Any): created_at: str customization_profile_id: Optional[str] display_name: str + display_status: str errors: List[Errors] instant_key_url: Optional[str] is_assignment_required: Optional[bool] @@ -1692,6 +1695,7 @@ def from_dict(cls, d: Any): created_at=d.get("created_at", None), customization_profile_id=d.get("customization_profile_id", None), display_name=d.get("display_name", None), + display_status=d.get("display_status", None), errors=[cls.Errors.from_dict(i) for i in d.get("errors") or []], instant_key_url=d.get("instant_key_url", None), is_assignment_required=d.get("is_assignment_required", None), diff --git a/seam/resources/unmanaged_access_method.py b/seam/resources/unmanaged_access_method.py index 16338e3..a05e28f 100644 --- a/seam/resources/unmanaged_access_method.py +++ b/seam/resources/unmanaged_access_method.py @@ -23,6 +23,8 @@ class UnmanagedAccessMethod: :ivar display_name: Display name of the access method. + :ivar display_status: Human-readable sentence describing where the access method sits in its relationship with the device or access system, for example ``Awaiting encoding``. For display only. The wording is not stable and is not an enumeration — it may change at any time, so never compare against or branch on it. To make decisions, read ``is_issued``, ``errors``, and ``pending_mutations``. + :ivar errors: Errors associated with the `access method `_. :ivar is_assignment_required: Indicates whether an existing card credential must be assigned to this access method before it can be issued. Only applies to card-mode access methods on systems that support credential assignment. @@ -391,6 +393,7 @@ def from_dict(cls, d: Any): code: Optional[str] created_at: str display_name: str + display_status: str errors: List[Errors] is_assignment_required: Optional[bool] is_encoding_required: Optional[bool] @@ -410,6 +413,7 @@ def from_dict(cls, d: Any): code=d.get("code", None), created_at=d.get("created_at", None), display_name=d.get("display_name", None), + display_status=d.get("display_status", None), errors=[ _from_discriminated_dict(i, cls._ErrorsVariants, "error_code") for i in d.get("errors") or [] diff --git a/seam/routes/acs_credentials.py b/seam/routes/acs_credentials.py index c515485..398f687 100644 --- a/seam/routes/acs_credentials.py +++ b/seam/routes/acs_credentials.py @@ -102,22 +102,20 @@ def get(self, *, acs_credential_id: str) -> AcsCredential: def list( self, *, - acs_user_id: Optional[str] = None, acs_system_id: Optional[str] = None, - user_identity_id: Optional[str] = None, + acs_user_id: Optional[str] = None, created_before: Optional[str] = None, is_multi_phone_sync_credential: Optional[bool] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, search: Optional[str] = None, + user_identity_id: Optional[str] = None, ) -> List[AcsCredential]: """Returns a list of all `credentials `_. - :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. - :param acs_system_id: ID of the access system for which you want to retrieve all credentials. - :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. :param created_before: Date and time, in `ISO 8601 `_ format, before which events to return were created. @@ -129,6 +127,8 @@ def list( :param search: String for which to search. Filters returned credentials to include all records that satisfy a partial match using ``display_name``, ``code``, ``card_number``, ``acs_user_id`` or ``acs_credential_id``. + :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :returns: OK""" raise NotImplementedError() @@ -278,22 +278,20 @@ async def get(self, *, acs_credential_id: str) -> AcsCredential: async def list( self, *, - acs_user_id: Optional[str] = None, acs_system_id: Optional[str] = None, - user_identity_id: Optional[str] = None, + acs_user_id: Optional[str] = None, created_before: Optional[str] = None, is_multi_phone_sync_credential: Optional[bool] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, search: Optional[str] = None, + user_identity_id: Optional[str] = None, ) -> List[AcsCredential]: """Returns a list of all `credentials `_. - :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. - :param acs_system_id: ID of the access system for which you want to retrieve all credentials. - :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. :param created_before: Date and time, in `ISO 8601 `_ format, before which events to return were created. @@ -305,6 +303,8 @@ async def list( :param search: String for which to search. Filters returned credentials to include all records that satisfy a partial match using ``display_name``, ``code``, ``card_number``, ``acs_user_id`` or ``acs_credential_id``. + :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :returns: OK""" raise NotImplementedError() @@ -555,22 +555,20 @@ def get(self, *, acs_credential_id: str) -> AcsCredential: def list( self, *, - acs_user_id: Optional[str] = None, acs_system_id: Optional[str] = None, - user_identity_id: Optional[str] = None, + acs_user_id: Optional[str] = None, created_before: Optional[str] = None, is_multi_phone_sync_credential: Optional[bool] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, search: Optional[str] = None, + user_identity_id: Optional[str] = None, ) -> List[AcsCredential]: """Returns a list of all `credentials `_. - :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. - :param acs_system_id: ID of the access system for which you want to retrieve all credentials. - :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. :param created_before: Date and time, in `ISO 8601 `_ format, before which events to return were created. @@ -582,15 +580,15 @@ def list( :param search: String for which to search. Filters returned credentials to include all records that satisfy a partial match using ``display_name``, ``code``, ``card_number``, ``acs_user_id`` or ``acs_credential_id``. + :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :returns: OK""" params: Dict[str, Any] = {} - if acs_user_id is not None: - params["acs_user_id"] = acs_user_id if acs_system_id is not None: params["acs_system_id"] = acs_system_id - if user_identity_id is not None: - params["user_identity_id"] = user_identity_id + if acs_user_id is not None: + params["acs_user_id"] = acs_user_id if created_before is not None: params["created_before"] = created_before if is_multi_phone_sync_credential is not None: @@ -601,6 +599,8 @@ def list( params["page_cursor"] = page_cursor if search is not None: params["search"] = search + if user_identity_id is not None: + params["user_identity_id"] = user_identity_id res = self.client.get("/acs/credentials/list", params=params) @@ -909,22 +909,20 @@ async def get(self, *, acs_credential_id: str) -> AcsCredential: async def list( self, *, - acs_user_id: Optional[str] = None, acs_system_id: Optional[str] = None, - user_identity_id: Optional[str] = None, + acs_user_id: Optional[str] = None, created_before: Optional[str] = None, is_multi_phone_sync_credential: Optional[bool] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, search: Optional[str] = None, + user_identity_id: Optional[str] = None, ) -> List[AcsCredential]: """Returns a list of all `credentials `_. - :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. - :param acs_system_id: ID of the access system for which you want to retrieve all credentials. - :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :param acs_user_id: ID of the access system user for which you want to retrieve all credentials. :param created_before: Date and time, in `ISO 8601 `_ format, before which events to return were created. @@ -936,15 +934,15 @@ async def list( :param search: String for which to search. Filters returned credentials to include all records that satisfy a partial match using ``display_name``, ``code``, ``card_number``, ``acs_user_id`` or ``acs_credential_id``. + :param user_identity_id: ID of the user identity for which you want to retrieve all credentials. + :returns: OK""" params: Dict[str, Any] = {} - if acs_user_id is not None: - params["acs_user_id"] = acs_user_id if acs_system_id is not None: params["acs_system_id"] = acs_system_id - if user_identity_id is not None: - params["user_identity_id"] = user_identity_id + if acs_user_id is not None: + params["acs_user_id"] = acs_user_id if created_before is not None: params["created_before"] = created_before if is_multi_phone_sync_credential is not None: @@ -955,6 +953,8 @@ async def list( params["page_cursor"] = page_cursor if search is not None: params["search"] = search + if user_identity_id is not None: + params["user_identity_id"] = user_identity_id res = await self.client.get("/acs/credentials/list", params=params) diff --git a/seam/routes/acs_encoders.py b/seam/routes/acs_encoders.py index 47d76d8..8fca3e0 100644 --- a/seam/routes/acs_encoders.py +++ b/seam/routes/acs_encoders.py @@ -62,20 +62,20 @@ def get(self, *, acs_encoder_id: str) -> AcsEncoder: def list( self, *, + acs_encoder_ids: Optional[List[str]] = None, acs_system_id: Optional[str] = None, acs_system_ids: Optional[List[str]] = None, - acs_encoder_ids: Optional[List[str]] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, ) -> List[AcsEncoder]: """Returns a list of all `encoders `_. + :param acs_encoder_ids: IDs of the encoders that you want to retrieve. + :param acs_system_id: ID of the access system for which you want to retrieve all encoders. :param acs_system_ids: IDs of the access systems for which you want to retrieve all encoders. - :param acs_encoder_ids: IDs of the encoders that you want to retrieve. - :param limit: Number of encoders to return. :param page_cursor: Identifies the specific page of results to return, obtained from the previous page's ``next_page_cursor``. @@ -178,20 +178,20 @@ async def get(self, *, acs_encoder_id: str) -> AcsEncoder: async def list( self, *, + acs_encoder_ids: Optional[List[str]] = None, acs_system_id: Optional[str] = None, acs_system_ids: Optional[List[str]] = None, - acs_encoder_ids: Optional[List[str]] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, ) -> List[AcsEncoder]: """Returns a list of all `encoders `_. + :param acs_encoder_ids: IDs of the encoders that you want to retrieve. + :param acs_system_id: ID of the access system for which you want to retrieve all encoders. :param acs_system_ids: IDs of the access systems for which you want to retrieve all encoders. - :param acs_encoder_ids: IDs of the encoders that you want to retrieve. - :param limit: Number of encoders to return. :param page_cursor: Identifies the specific page of results to return, obtained from the previous page's ``next_page_cursor``. @@ -341,20 +341,20 @@ def get(self, *, acs_encoder_id: str) -> AcsEncoder: def list( self, *, + acs_encoder_ids: Optional[List[str]] = None, acs_system_id: Optional[str] = None, acs_system_ids: Optional[List[str]] = None, - acs_encoder_ids: Optional[List[str]] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, ) -> List[AcsEncoder]: """Returns a list of all `encoders `_. + :param acs_encoder_ids: IDs of the encoders that you want to retrieve. + :param acs_system_id: ID of the access system for which you want to retrieve all encoders. :param acs_system_ids: IDs of the access systems for which you want to retrieve all encoders. - :param acs_encoder_ids: IDs of the encoders that you want to retrieve. - :param limit: Number of encoders to return. :param page_cursor: Identifies the specific page of results to return, obtained from the previous page's ``next_page_cursor``. @@ -362,12 +362,12 @@ def list( :returns: OK""" params: Dict[str, Any] = {} + if acs_encoder_ids is not None: + params["acs_encoder_ids"] = acs_encoder_ids if acs_system_id is not None: params["acs_system_id"] = acs_system_id if acs_system_ids is not None: params["acs_system_ids"] = acs_system_ids - if acs_encoder_ids is not None: - params["acs_encoder_ids"] = acs_encoder_ids if limit is not None: params["limit"] = limit if page_cursor is not None: @@ -583,20 +583,20 @@ async def get(self, *, acs_encoder_id: str) -> AcsEncoder: async def list( self, *, + acs_encoder_ids: Optional[List[str]] = None, acs_system_id: Optional[str] = None, acs_system_ids: Optional[List[str]] = None, - acs_encoder_ids: Optional[List[str]] = None, limit: Optional[float] = None, page_cursor: Optional[Union[str, Null]] = None, ) -> List[AcsEncoder]: """Returns a list of all `encoders `_. + :param acs_encoder_ids: IDs of the encoders that you want to retrieve. + :param acs_system_id: ID of the access system for which you want to retrieve all encoders. :param acs_system_ids: IDs of the access systems for which you want to retrieve all encoders. - :param acs_encoder_ids: IDs of the encoders that you want to retrieve. - :param limit: Number of encoders to return. :param page_cursor: Identifies the specific page of results to return, obtained from the previous page's ``next_page_cursor``. @@ -604,12 +604,12 @@ async def list( :returns: OK""" params: Dict[str, Any] = {} + if acs_encoder_ids is not None: + params["acs_encoder_ids"] = acs_encoder_ids if acs_system_id is not None: params["acs_system_id"] = acs_system_id if acs_system_ids is not None: params["acs_system_ids"] = acs_system_ids - if acs_encoder_ids is not None: - params["acs_encoder_ids"] = acs_encoder_ids if limit is not None: params["limit"] = limit if page_cursor is not None: