From de1570c6185467867ae6fa27238b6a28b2fdebfb Mon Sep 17 00:00:00 2001 From: Javier San Juan Cervera Date: Thu, 28 Nov 2019 11:52:44 +0100 Subject: [PATCH 1/2] Added new fields to models. --- connect/models/connection.py | 10 ++++++++++ connect/models/product.py | 5 +++++ connect/models/schemas.py | 3 +++ connect/models/tier_config_request.py | 2 +- connect/resources/usage_automation.py | 2 +- 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/connect/models/connection.py b/connect/models/connection.py index 11502e7..998264f 100644 --- a/connect/models/connection.py +++ b/connect/models/connection.py @@ -3,6 +3,8 @@ # This file is part of the Ingram Micro Cloud Blue Connect SDK. # Copyright (c) 2019 Ingram Micro. All Rights Reserved. +import datetime + from .base import BaseModel from .company import Company from .hub import Hub @@ -33,3 +35,11 @@ class Connection(BaseModel): hub = None # type: Hub """ (:py:class:`.Hub`) Hub Reference. """ + + # Undocumented fields (they appear in PHP SDK) + + status = None # type: str + """ (str) Status. """ + + created_at = None # type: datetime.datetime + """ (datetime.datetime) Creation date. """ diff --git a/connect/models/product.py b/connect/models/product.py index 27342bc..db9518d 100644 --- a/connect/models/product.py +++ b/connect/models/product.py @@ -68,6 +68,11 @@ class Product(BaseModel): stats = None # type: Optional[ProductStats] """ (:py:class:``.ProductStats) Statistics of product use, depends on account of callee. """ + # Undocumented fields (they appear in PHP SDK) + + status = None # type: str + """ (str) Product status. """ + def get_templates(self, config=None): """ :param Config config: Configuration to use, or None for environment config. diff --git a/connect/models/schemas.py b/connect/models/schemas.py index 9f87780..cbf6c32 100644 --- a/connect/models/schemas.py +++ b/connect/models/schemas.py @@ -464,6 +464,7 @@ class ProductSchema(BaseSchema): owner = fields.Nested(CompanySchema) latest = fields.Bool() stats = fields.Nested(ProductStatsSchema) + status = fields.Str() @post_load def make_object(self, data): @@ -531,6 +532,8 @@ class ConnectionSchema(BaseSchema): vendor = fields.Nested(CompanySchema, only=('id', 'name')) product = fields.Nested(ProductSchema) hub = fields.Nested(HubSchema) + status = fields.Str() + created_at = fields.DateTime() @post_load def make_object(self, data): diff --git a/connect/models/tier_config_request.py b/connect/models/tier_config_request.py index e8200c7..940938a 100644 --- a/connect/models/tier_config_request.py +++ b/connect/models/tier_config_request.py @@ -53,7 +53,7 @@ class TierConfigRequest(BaseModel): """ (str) TCR environment (test, prod or preview) """ assignee = None # type: Optional[User] - """ (:py:class:`.User` | None) TCR environment. One of: test, prod, preview. """ + """ (:py:class:`.User` | None) User assigned to this TCR. """ template = None # type: Optional[Template] """ (:py:class:`.Template` | None) Template Object. This is filled only if TCR is approved. """ diff --git a/connect/resources/usage_automation.py b/connect/resources/usage_automation.py index 33a1ef0..91e7083 100644 --- a/connect/resources/usage_automation.py +++ b/connect/resources/usage_automation.py @@ -148,7 +148,7 @@ def _create_spreadsheet(usage_records): book = openpyxl.Workbook() sheet = book.active sheet.title = 'usage_records' - sheet['A1'] = 'usage_record_id' + sheet['A1'] = 'record_id' sheet['B1'] = 'item_search_criteria' sheet['C1'] = 'item_search_value' sheet['D1'] = 'quantity' From 92f7030f9f26ea6deba24fa4413d9a206c994e38 Mon Sep 17 00:00:00 2001 From: Javier San Juan Cervera Date: Fri, 29 Nov 2019 11:59:36 +0100 Subject: [PATCH 2/2] Conversation does not check that a message already exists (is done by the platform now). --- connect/models/conversation.py | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/connect/models/conversation.py b/connect/models/conversation.py index e127849..0322478 100644 --- a/connect/models/conversation.py +++ b/connect/models/conversation.py @@ -49,15 +49,6 @@ def add_message(self, message, config=None): from connect.resources.base import ApiClient - if self._is_different_to_last_message(message): - response, _ = ApiClient(config, base_path='conversations/' + self.id + '/messages')\ - .post(json={'text': message}) - return ConversationMessage.deserialize(response) - else: - return None - - def _is_different_to_last_message(self, msg): - if len(self.messages) > 0 and self.messages[-1].text == msg: - return False - else: - return True + response, _ = ApiClient(config, base_path='conversations/' + self.id + '/messages')\ + .post(json={'text': message}) + return ConversationMessage.deserialize(response)