From 4df96f3682d61d7433f77ac559ba7e2cfb68575f Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Thu, 8 Nov 2018 11:42:01 +0000 Subject: [PATCH] Add model properties for template and folder IDs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We’re going to need a way to find out if, for a given ID: 1. its a template or a folder 2. if it belongs to a given service To do 2., we can make a set of all the IDs, to see if a given ID is a member of that set. To do 1. we can make two sets, one for templates and one for folders. The natural home for these sets is on the service model. --- app/models/service.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/models/service.py b/app/models/service.py index d4aa8270b..f835c7422 100644 --- a/app/models/service.py +++ b/app/models/service.py @@ -100,6 +100,10 @@ class Service(): if template['template_type'] in self.available_template_types ] + @cached_property + def all_template_ids(self): + return {template['id'] for template in self.all_templates} + def get_templates(self, template_type='all', template_folder_id=None): if isinstance(template_type, str): template_type = [template_type] @@ -284,6 +288,10 @@ class Service(): def all_template_folders(self): return template_folder_api_client.get_template_folders(self.id) + @cached_property + def all_template_folder_ids(self): + return {folder['id'] for folder in self.all_template_folders} + def get_template_folders(self, parent_folder_id=None): return [ folder for folder in self.all_template_folders