lce_service.device_class_api.retrieve_classes module

lce_service.device_class_api.retrieve_classes.get_code_for_device_class(dbc: silo_cursor, device_class_id: int, pretty: bool, include: str | None = None, exclude: str | None = None) → Dict[str, Any]

Retrieve and serialize a single device class.

Parameters:
  • dbc – A silo_cursor instance used to execute the database query.

  • device_class_id – The id of the device class.

  • pretty – Whether enums are serialized by name rather than by value.

  • include – An optional comma-separated list of the fields to include.

  • exclude – An optional comma-separated list of the fields to exclude.

Returns:

The serialized device class.

Raises:
lce_service.device_class_api.retrieve_classes.get_codes_for_device_classes(dbc: silo_cursor, device_class_ids: List[int], pretty: bool, include: str | None = None, exclude: str | None = None) → List[Dict[str, Any]]

Retrieve and serialize device classes, with one query.

Parameters:
  • dbc – A silo_cursor instance used to execute the database query.

  • device_class_ids – The ids of the device classes.

  • pretty – Whether enums are serialized by name rather than by value.

  • include – An optional comma-separated list of the fields to include.

  • exclude – An optional comma-separated list of the fields to exclude.

Returns:

The serialized device classes, in the order of their ids.

Raises:
lce_service.device_class_api.retrieve_classes.get_device_class_model(dbc: silo_cursor, device_class_id: int) → DeviceClass

Retrieve the model of a single device class.

Parameters:
  • dbc – A silo_cursor instance used to execute the database query.

  • device_class_id – The id of the device class.

Returns:

The model of the device class. Stored values that fail validation are kept and reported in its validation_errors.

Raises:
lce_service.device_class_api.retrieve_classes.get_device_classes_data_by_guids(dbc: silo_cursor, guids: List[str]) → Dict[str, Dict[str, Any]]

Retrieve the stored fields of the device classes with the given GUIDs.

Parameters:
  • dbc – A silo_cursor instance used to execute the database query.

  • guids – The GUIDs of the device classes. No query is executed if empty.

Returns:

The stored fields of each device class found, keyed by uppercase GUID, as GUIDs are compared without regard to case.

Raises:

DatabaseExecutionError – Raised when the database query fails.

lce_service.device_class_api.retrieve_classes.get_device_classes_from_filters(dbc: silo_cursor, args: Dict[str, str], pretty: bool, include: str | None, exclude: str | None, require_all: bool) → Dict[str, List[Dict[str, Any]]]

Retrieve and serialize the device classes matching filter criteria.

Filters use the same syntax as the other entities of the API, e.g. filter[class_name][contains]=Microsoft&filter[device_type][is]=COMPONENT. Unlike other entities, filters are optional: every device class is listed when none are provided. The limit and offset query parameters page through the device classes, ordered by id.

Parameters:
  • dbc – A silo_cursor instance used to execute the database queries.

  • args – The query parameters of the request, holding the filters and paging.

  • pretty – Whether enums are serialized by name rather than by value.

  • include – An optional comma-separated list of the fields to include.

  • exclude – An optional comma-separated list of the fields to exclude.

  • require_all – Whether every filter must match (AND), rather than any filter (OR).

Returns:

A dictionary holding the “device_classes” that match, ordered by id.

Raises:
  • ValueError – Raised when a filter is malformed, references an unknown field or uses an unsupported operator, or a paging parameter is not an integer from 0 to MAX_PAGING_VALUE.

  • MissingResourceError – Raised when filters are provided and no device class matches, unless the page is empty for paging (an offset, or a limit of 0).

  • InvalidResourceError – Raised when a stored device class fails a rule of its model that is not about a single field.

  • DatabaseExecutionError – Raised when a database query fails.