Skip to content

Commit ef543b7

Browse files
committed
[client] Implement readOnly field and contract templates
1 parent 1af81e3 commit ef543b7

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

pyobas/apis/injector.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,11 @@ class InjectorManager(GetMixin, ListMixin, CreateMixin, UpdateMixin, RESTManager
1111
_path = "/injectors"
1212
_obj_cls = Injector
1313
_create_attrs = RequiredOptional(
14-
required=("injector_id", "injector_name", "injector_type", "injector_contracts")
14+
required=(
15+
"injector_id",
16+
"injector_name",
17+
"injector_type",
18+
"injector_contracts",
19+
),
20+
optional=("injector_custom_contracts", "injector_contract_template"),
1521
)

pyobas/client.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,6 @@ def http_post(
261261
) -> Union[Dict[str, Any], requests.Response]:
262262
query_data = query_data or {}
263263
post_data = post_data or {}
264-
265264
result = self.http_request(
266265
"post",
267266
path,

pyobas/contracts/contract_config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ class ContractElement(ABC):
6464
linkedFields: List["ContractElement"] = field(default_factory=list)
6565
linkedValues: List[str] = field(default_factory=list)
6666
mandatory: bool = False
67+
readOnly: bool = False
6768

6869
@property
6970
@abstractmethod

pyobas/helpers.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -286,6 +286,8 @@ def __init__(self, base_path, variables: Dict):
286286

287287
def get_conf(self, variable, is_number=None, default=None, required=None):
288288
var = self.variables.get(variable)
289+
if var is None:
290+
return default
289291
# If direct variable
290292
if var.get("data") is not None:
291293
return var.get("data")
@@ -359,6 +361,12 @@ def __init__(self, config: OpenBASConfigHelper, icon) -> None:
359361
"injector_name": config.get_conf("injector_name"),
360362
"injector_type": config.get_conf("injector_type"),
361363
"injector_contracts": config.get_conf("injector_contracts"),
364+
"injector_custom_contracts": config.get_conf(
365+
"injector_custom_contracts", default=False
366+
),
367+
"injector_contract_template": config.get_conf(
368+
"injector_contract_template", default=None
369+
),
362370
}
363371
icon_name = config.get_conf("injector_type") + ".png"
364372
injector_icon = (icon_name, icon, "image/png")

0 commit comments

Comments
 (0)