diff --git a/setup.cfg b/setup.cfg index 609dbe4..dc1c6dd 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,6 +11,7 @@ python_requires = >= 3.10 install_requires = redis rq + python-dateutil [options.packages.find] where = src diff --git a/src/piracyshield_service/account/session/get_current_by_account.py b/src/piracyshield_service/account/session/get_current_by_account.py index d3b701f..e3811b7 100644 --- a/src/piracyshield_service/account/session/get_current_by_account.py +++ b/src/piracyshield_service/account/session/get_current_by_account.py @@ -53,7 +53,7 @@ class AccountSessionGetCurrentByAccountService(BaseService): # TODO: need to deal with this in the storage. # let's save the long session as well - long_session = self.data_memory.get_session(f'session:{account_id}:long:{session.get('refresh_token')}') + long_session = self.data_memory.get_session(f"session:{account_id}:long:{session.get('refresh_token')}") long_session['token'] = session.get('refresh_token') diff --git a/src/piracyshield_service/ticket/create.py b/src/piracyshield_service/ticket/create.py index a5fab92..f206281 100644 --- a/src/piracyshield_service/ticket/create.py +++ b/src/piracyshield_service/ticket/create.py @@ -129,6 +129,7 @@ class TicketCreateService(BaseService): ) # proceed to build the relation item <-> provider + # this part provides a check for duplicates, whitelisted items and error tickets (fqdn_ticket_items, ipv4_ticket_items, ipv6_ticket_items) = self.ticket_relation_establish_service.execute( ticket_id = model.get('ticket_id'), providers = model.get('assigned_to'), @@ -150,7 +151,8 @@ class TicketCreateService(BaseService): ipv6 = ipv6, now = Time.now_iso8601(), created_by = created_by, - tasks = [ # append the task id so we can cancel its execution if needed + tasks = [ + # append the task id so we can cancel its execution if needed initialize_job_id, autoclose_job_id ] diff --git a/src/piracyshield_service/ticket/item/errors.py b/src/piracyshield_service/ticket/item/errors.py index 660516d..bf6ac45 100644 --- a/src/piracyshield_service/ticket/item/errors.py +++ b/src/piracyshield_service/ticket/item/errors.py @@ -23,6 +23,8 @@ class TicketItemErrorCode: TICKET_ITEM_UPDATE_TIME_EXCEEDED = '5010' + TICKET_ITEM_EMPTY_CHECKSUM = '5011' + class TicketItemErrorMessage: GENERIC = 'Error during the creation of the ticket item.' @@ -46,3 +48,5 @@ class TicketItemErrorMessage: TICKET_ITEM_REASON_NON_VALID = 'Non valid unprocessed reason.' TICKET_ITEM_UPDATE_TIME_EXCEEDED = 'Cannot update the ticket item: max update time has been exceeded.' + + TICKET_ITEM_EMPTY_CHECKSUM = 'No ticket item available to generate a checksum.' diff --git a/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum.py b/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum.py index 707c8e2..39ef0de 100644 --- a/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum.py +++ b/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum.py @@ -39,6 +39,10 @@ class TicketItemFQDNGetAllByTicketChecksumService(BaseService): ticket_id = ticket_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum_for_provider.py b/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum_for_provider.py index 651d5a8..327b391 100644 --- a/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum_for_provider.py +++ b/src/piracyshield_service/ticket/item/fqdn/get_all_by_ticket_checksum_for_provider.py @@ -40,6 +40,10 @@ class TicketItemFQDNGetAllByTicketChecksumForProviderService(BaseService): account_id = account_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/fqdn/get_all_checksum.py b/src/piracyshield_service/ticket/item/fqdn/get_all_checksum.py index f128662..5b9eaba 100644 --- a/src/piracyshield_service/ticket/item/fqdn/get_all_checksum.py +++ b/src/piracyshield_service/ticket/item/fqdn/get_all_checksum.py @@ -28,7 +28,7 @@ class TicketItemFQDNGetAllChecksumService(BaseService): self._prepare_modules() - def execute(self, ticket_id: str) -> dict | Exception: + def execute(self) -> dict | Exception: """ Get the checksum of all the FQDN items in the database. @@ -37,6 +37,10 @@ class TicketItemFQDNGetAllChecksumService(BaseService): response = self.ticket_item_fqdn_get_all_service.execute() + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/fqdn/get_all_checksum_by_provider.py b/src/piracyshield_service/ticket/item/fqdn/get_all_checksum_by_provider.py index ba20ab9..de71690 100644 --- a/src/piracyshield_service/ticket/item/fqdn/get_all_checksum_by_provider.py +++ b/src/piracyshield_service/ticket/item/fqdn/get_all_checksum_by_provider.py @@ -39,6 +39,10 @@ class TicketItemFQDNGetAllChecksumByProviderService(BaseService): account_id = account_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum.py b/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum.py index bf88347..84a3e97 100644 --- a/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum.py +++ b/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum.py @@ -39,6 +39,10 @@ class TicketItemIPv4GetAllByTicketChecksumService(BaseService): ticket_id = ticket_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum_for_provider.py b/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum_for_provider.py index e877705..718393c 100644 --- a/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum_for_provider.py +++ b/src/piracyshield_service/ticket/item/ipv4/get_all_by_ticket_checksum_for_provider.py @@ -40,6 +40,10 @@ class TicketItemIPv4GetAllByTicketChecksumForProviderService(BaseService): account_id = account_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv4/get_all_checksum.py b/src/piracyshield_service/ticket/item/ipv4/get_all_checksum.py index 7a73a2d..d1c0fe1 100644 --- a/src/piracyshield_service/ticket/item/ipv4/get_all_checksum.py +++ b/src/piracyshield_service/ticket/item/ipv4/get_all_checksum.py @@ -28,7 +28,7 @@ class TicketItemIPv4GetAllChecksumService(BaseService): self._prepare_modules() - def execute(self, ticket_id: str) -> dict | Exception: + def execute(self) -> dict | Exception: """ Get the checksum of all the IPv4 items in the database. @@ -37,6 +37,10 @@ class TicketItemIPv4GetAllChecksumService(BaseService): response = self.ticket_item_ipv4_get_all_service.execute() + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv4/get_all_checksum_by_provider.py b/src/piracyshield_service/ticket/item/ipv4/get_all_checksum_by_provider.py index afb50b7..504109c 100644 --- a/src/piracyshield_service/ticket/item/ipv4/get_all_checksum_by_provider.py +++ b/src/piracyshield_service/ticket/item/ipv4/get_all_checksum_by_provider.py @@ -39,6 +39,10 @@ class TicketItemIPv4GetAllChecksumByProviderService(BaseService): account_id = account_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum.py b/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum.py index 0f3ae35..d418ab6 100644 --- a/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum.py +++ b/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum.py @@ -37,6 +37,10 @@ class TicketItemIPv6GetAllByTicketChecksumService(BaseService): response = self.get_ipv6_all_by_ticket(ticket_id) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum_for_provider.py b/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum_for_provider.py index eab7e61..3d93c51 100644 --- a/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum_for_provider.py +++ b/src/piracyshield_service/ticket/item/ipv6/get_all_by_ticket_checksum_for_provider.py @@ -40,6 +40,10 @@ class TicketItemIPv6GetAllByTicketChecksumForProviderService(BaseService): account_id = account_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv6/get_all_checksum.py b/src/piracyshield_service/ticket/item/ipv6/get_all_checksum.py index e949cf6..2cdb689 100644 --- a/src/piracyshield_service/ticket/item/ipv6/get_all_checksum.py +++ b/src/piracyshield_service/ticket/item/ipv6/get_all_checksum.py @@ -28,7 +28,7 @@ class TicketItemIPv6GetAllChecksumService(BaseService): self._prepare_modules() - def execute(self, ticket_id: str) -> dict | Exception: + def execute(self) -> dict | Exception: """ Get the checksum of all the IPv6 items in the database. @@ -37,6 +37,10 @@ class TicketItemIPv6GetAllChecksumService(BaseService): response = self.ticket_item_ipv6_get_all_service.execute() + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: diff --git a/src/piracyshield_service/ticket/item/ipv6/get_all_checksum_by_provider.py b/src/piracyshield_service/ticket/item/ipv6/get_all_checksum_by_provider.py index 46e2171..b84ca7c 100644 --- a/src/piracyshield_service/ticket/item/ipv6/get_all_checksum_by_provider.py +++ b/src/piracyshield_service/ticket/item/ipv6/get_all_checksum_by_provider.py @@ -39,6 +39,10 @@ class TicketItemIPv6GetAllChecksumByProviderService(BaseService): account_id = account_id ) + # we don't have any data to work on + if not len(response): + raise ApplicationException(TicketItemErrorCode.TICKET_ITEM_EMPTY_CHECKSUM, TicketItemErrorMessage.TICKET_ITEM_EMPTY_CHECKSUM) + data = '\n'.join(response) try: