def save_stats()

in modular_api/services/usage_service.py [0:0]


    def save_stats(self, request: LocalRequest, payload: dict) -> None:
        module_mount_point = self.__resolve_module_mount_point(request)
        parts = request.path.strip('/').split('/')
        if len(parts) >= 3:
            *_, group_name, command_name = parts
        elif len(parts) == 2:
            group_name, command_name = None, parts[1]
        else:
            group_name, command_name = None, None
        exec_status = payload.get(STATUS)
        meta = payload.get(META)
        event_type = payload.get(EVENT_TYPE)
        product = payload.get(PRODUCT)
        job_id = payload.get(JOB_ID)

        status = 'FAILED'
        if exec_status:
            status = 'SUCCESS' if exec_status.lower() == 'success' or \
                exec_status.lower() == 'succeeded' else 'FAILED'

        if not product:
            event_type = EVENT_TYPE_API
            product = self.modules_info.get(module_mount_point)

        stats_doc, current_event_ts, current_event_date, prev_item_id = (
            self.__make_stats_item(module_mount_point, group_name,
                                   command_name, meta, status, event_type,
                                   product, job_id))
        if prev_item_id:
            _LOG.info(f'Updating previous item. Item ID: {prev_item_id}')

            last = self._get_last()
            last.delete()
            last.id = prev_item_id
            last.save()

        _LOG.info(f'Saving usage event. Last timestamp: {self.last_rec_ts},'
                  f'current timestamp: {current_event_ts}')
        Stats(**stats_doc).save()
        _LOG.info(f'Usage event saved')