def delete_type(self, public_id: int): """Delete a type by the public id Also removes the id from the category type list if existing """ try: ack = self._delete(TypeModel.COLLECTION, public_id) except Exception as err: raise ObjectManagerDeleteError(err=err) if ack: try: category = self.get_category_by(types=public_id) category.types.remove(public_id) self.update_category(category=category) # If no category with this ID except ObjectManagerGetError: pass except ObjectManagerUpdateError as err: LOGGER.error(err.message) if self._event_queue: event = Event("cmdb.core.objecttype.deleted", {"id": public_id}) self._event_queue.put(event) return ack
def delete_link(self, public_id: int): try: ack = self._delete(CmdbLink.COLLECTION, public_id) except (CMDBError, Exception) as err: raise ObjectManagerDeleteError(err) return ack
def delete_collection_template(self, public_id: int) -> bool: try: return self._delete(CmdbCollectionTemplate.COLLECTION, public_id) except (CMDBError, Exception) as err: raise ObjectManagerDeleteError(err)
def delete_category(self, public_id: int): """Remove a category from the database""" try: return self._delete(CategoryModel.COLLECTION, public_id) except Exception as err: raise ObjectManagerDeleteError(err=err)