From 52f18928bd18ad2c9b20b9bf58027badc1ecdee9 Mon Sep 17 00:00:00 2001 From: cccs-rs <62077998+cccs-rs@users.noreply.github.com> Date: Wed, 5 Mar 2025 16:39:04 +0000 Subject: [PATCH 1/2] API should suggest an update_interval for sources based on global settings --- assemblyline_ui/api/v4/signature.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/assemblyline_ui/api/v4/signature.py b/assemblyline_ui/api/v4/signature.py index 5ab6bec4..b10d216c 100644 --- a/assemblyline_ui/api/v4/signature.py +++ b/assemblyline_ui/api/v4/signature.py @@ -1,6 +1,4 @@ import re - -from flask import request from hashlib import sha256 from assemblyline.common import forge @@ -8,13 +6,15 @@ from assemblyline.datastore.exceptions import VersionConflictException from assemblyline.odm.messages.changes import Operation from assemblyline.odm.models.user import ROLES +from assemblyline.remote.datatypes.events import EventSender from assemblyline.remote.datatypes.hash import Hash from assemblyline.remote.datatypes.lock import Lock -from assemblyline.remote.datatypes.events import EventSender from assemblyline_core.signature_client import SignatureClient from assemblyline_ui.api.base import api_login, make_api_response, make_file_response, make_subapi_blueprint -from assemblyline_ui.config import LOGGER, STORAGE, config, CLASSIFICATION as Classification +from assemblyline_ui.config import CLASSIFICATION as Classification +from assemblyline_ui.config import LOGGER, STORAGE, config from assemblyline_ui.helper.signature import append_source_status +from flask import request SUB_API = 'signature' signature_api = make_subapi_blueprint(SUB_API, api_version=4) @@ -526,7 +526,8 @@ def get_signature_sources(**_): s['update_interval'] = service['update_config']['update_interval_seconds'] append_source_status(service) out[service['name']] = dict(sources=service['update_config']['sources'], - generates_signatures=service['update_config']['generates_signatures']) + generates_signatures=service['update_config']['generates_signatures'], + update_interval_seconds=service['update_config']['update_interval_seconds']) # Save the signature return make_api_response(out) From 0d29e3ea2617afae3d6b55f67a429ffe5d3ac213 Mon Sep 17 00:00:00 2001 From: cccs-rs <62077998+cccs-rs@users.noreply.github.com> Date: Sun, 9 Mar 2025 02:54:48 +0000 Subject: [PATCH 2/2] Add default pattern to API response --- assemblyline_ui/api/v4/signature.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/assemblyline_ui/api/v4/signature.py b/assemblyline_ui/api/v4/signature.py index b10d216c..b1c28cb9 100644 --- a/assemblyline_ui/api/v4/signature.py +++ b/assemblyline_ui/api/v4/signature.py @@ -1,6 +1,9 @@ import re from hashlib import sha256 +from assemblyline_core.signature_client import SignatureClient +from flask import request + from assemblyline.common import forge from assemblyline.common.isotime import now_as_iso from assemblyline.datastore.exceptions import VersionConflictException @@ -9,12 +12,15 @@ from assemblyline.remote.datatypes.events import EventSender from assemblyline.remote.datatypes.hash import Hash from assemblyline.remote.datatypes.lock import Lock -from assemblyline_core.signature_client import SignatureClient -from assemblyline_ui.api.base import api_login, make_api_response, make_file_response, make_subapi_blueprint +from assemblyline_ui.api.base import ( + api_login, + make_api_response, + make_file_response, + make_subapi_blueprint, +) from assemblyline_ui.config import CLASSIFICATION as Classification from assemblyline_ui.config import LOGGER, STORAGE, config from assemblyline_ui.helper.signature import append_source_status -from flask import request SUB_API = 'signature' signature_api = make_subapi_blueprint(SUB_API, api_version=4) @@ -525,9 +531,10 @@ def get_signature_sources(**_): if 'update_interval' not in s: s['update_interval'] = service['update_config']['update_interval_seconds'] append_source_status(service) - out[service['name']] = dict(sources=service['update_config']['sources'], - generates_signatures=service['update_config']['generates_signatures'], - update_interval_seconds=service['update_config']['update_interval_seconds']) + out[service['name']] = { + key: service['update_config'][key] + for key in ['sources', 'generates_signatures', 'update_interval_seconds', 'default_pattern'] + } # Save the signature return make_api_response(out)