Properly separate setting state and value for metadata
This commit is contained in:
parent
82b744334f
commit
7ce029029d
@ -27,6 +27,7 @@ class BrickMetadata(BrickRecord):
|
|||||||
select_query: str
|
select_query: str
|
||||||
update_field_query: str
|
update_field_query: str
|
||||||
update_set_state_query: str
|
update_set_state_query: str
|
||||||
|
update_set_value_query: str
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@ -224,25 +225,25 @@ class BrickMetadata(BrickRecord):
|
|||||||
/,
|
/,
|
||||||
*,
|
*,
|
||||||
json: Any | None = None,
|
json: Any | None = None,
|
||||||
state: Any | None = None,
|
value: Any | None = None,
|
||||||
) -> Any:
|
) -> Any:
|
||||||
if state is None and json is not None:
|
if value is None and json is not None:
|
||||||
state = json.get('value', '')
|
value = json.get('value', '')
|
||||||
|
|
||||||
if state == '':
|
if value == '':
|
||||||
state = None
|
value = None
|
||||||
|
|
||||||
parameters = self.sql_parameters()
|
parameters = self.sql_parameters()
|
||||||
parameters['set_id'] = brickset.fields.id
|
parameters['set_id'] = brickset.fields.id
|
||||||
parameters['state'] = state
|
parameters['value'] = value
|
||||||
|
|
||||||
rows, _ = BrickSQL().execute_and_commit(
|
rows, _ = BrickSQL().execute_and_commit(
|
||||||
self.update_set_state_query,
|
self.update_set_value_query,
|
||||||
parameters=parameters,
|
parameters=parameters,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Update the status
|
# Update the status
|
||||||
if state is None and not hasattr(self.fields, 'name'):
|
if value is None and not hasattr(self.fields, 'name'):
|
||||||
self.fields.name = 'None'
|
self.fields.name = 'None'
|
||||||
|
|
||||||
if rows != 1:
|
if rows != 1:
|
||||||
@ -253,12 +254,12 @@ class BrickMetadata(BrickRecord):
|
|||||||
))
|
))
|
||||||
|
|
||||||
# Info
|
# Info
|
||||||
logger.info('{kind} value changed to "{name}" ({state}) for set {set} ({id})'.format( # noqa: E501
|
logger.info('{kind} value changed to "{name}" ({value}) for set {set} ({id})'.format( # noqa: E501
|
||||||
kind=self.kind,
|
kind=self.kind,
|
||||||
name=self.fields.name,
|
name=self.fields.name,
|
||||||
state=state,
|
value=value,
|
||||||
set=brickset.fields.set,
|
set=brickset.fields.set,
|
||||||
id=brickset.fields.id,
|
id=brickset.fields.id,
|
||||||
))
|
))
|
||||||
|
|
||||||
return state
|
return value
|
||||||
|
@ -12,7 +12,7 @@ class BrickSetStorage(BrickMetadata):
|
|||||||
insert_query: str = 'set/metadata/storage/insert'
|
insert_query: str = 'set/metadata/storage/insert'
|
||||||
select_query: str = 'set/metadata/storage/select'
|
select_query: str = 'set/metadata/storage/select'
|
||||||
update_field_query: str = 'set/metadata/storage/update/field'
|
update_field_query: str = 'set/metadata/storage/update/field'
|
||||||
update_set_state_query: str = 'set/metadata/storage/update/state'
|
update_set_value_query: str = 'set/metadata/storage/update/value'
|
||||||
|
|
||||||
# Self url
|
# Self url
|
||||||
def url(self, /) -> str:
|
def url(self, /) -> str:
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
UPDATE "bricktracker_sets"
|
UPDATE "bricktracker_sets"
|
||||||
SET "storage" = :state
|
SET "storage" = :value
|
||||||
WHERE "bricktracker_sets"."id" IS NOT DISTINCT FROM :set_id
|
WHERE "bricktracker_sets"."id" IS NOT DISTINCT FROM :set_id
|
@ -77,9 +77,9 @@ def update_storage(*, id: str) -> Response:
|
|||||||
allow_none=True
|
allow_none=True
|
||||||
)
|
)
|
||||||
|
|
||||||
state = storage.update_set_value(brickset, state=storage.fields.id)
|
value = storage.update_set_value(brickset, value=storage.fields.id)
|
||||||
|
|
||||||
return jsonify({'value': state})
|
return jsonify({'value': value})
|
||||||
|
|
||||||
|
|
||||||
# Change the state of a tag
|
# Change the state of a tag
|
||||||
|
Loading…
Reference in New Issue
Block a user