mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
implemented methods to get last saved information
This commit is contained in:
parent
6c9d6b3865
commit
8f121275bd
1 changed files with 45 additions and 0 deletions
|
|
@ -688,6 +688,15 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
# Update cache
|
||||
self.system_settings_cache.update_data(data, self._current_version)
|
||||
|
||||
last_saved_info = SettingsStateInfo.create_new(
|
||||
self._current_version,
|
||||
SYSTEM_SETTINGS_KEY,
|
||||
None
|
||||
)
|
||||
self.system_settings_cache.update_last_saved_info(
|
||||
last_saved_info
|
||||
)
|
||||
|
||||
# Get copy of just updated cache
|
||||
system_settings_data = self.system_settings_cache.data_copy()
|
||||
|
||||
|
|
@ -709,6 +718,7 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
"type": self._system_settings_key,
|
||||
"version": self._current_version,
|
||||
"data": system_settings_data,
|
||||
"last_saved_info": last_saved_info.to_document_data()
|
||||
}
|
||||
if not system_settings_doc:
|
||||
self.collections.insert_one(new_system_settings_doc)
|
||||
|
|
@ -749,6 +759,14 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
data_cache = self.project_settings_cache[project_name]
|
||||
data_cache.update_data(overrides, self._current_version)
|
||||
|
||||
last_saved_info = SettingsStateInfo.create_new(
|
||||
self._current_version,
|
||||
PROJECT_SETTINGS_KEY,
|
||||
project_name
|
||||
)
|
||||
|
||||
data_cache.update_last_saved_info(last_saved_info)
|
||||
|
||||
self._save_project_data(
|
||||
project_name, self._project_settings_key, data_cache
|
||||
)
|
||||
|
|
@ -863,6 +881,7 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
"data": data_cache.data,
|
||||
"is_default": is_default,
|
||||
"version": self._current_version,
|
||||
"last_saved_info": last_saved_info.to_data()
|
||||
}
|
||||
if not is_default:
|
||||
query_filter["project_name"] = project_name
|
||||
|
|
@ -1207,6 +1226,9 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
})
|
||||
document, version = self._get_system_settings_overrides_doc()
|
||||
|
||||
last_saved_info = SettingsStateInfo.from_document(
|
||||
version, SYSTEM_SETTINGS_KEY, document
|
||||
)
|
||||
merged_document = self._apply_global_settings(
|
||||
document, globals_document
|
||||
)
|
||||
|
|
@ -1214,6 +1236,9 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
self.system_settings_cache.update_from_document(
|
||||
merged_document, version
|
||||
)
|
||||
self.system_settings_cache.update_last_saved_info(
|
||||
last_saved_info
|
||||
)
|
||||
|
||||
cache = self.system_settings_cache
|
||||
data = cache.data_copy()
|
||||
|
|
@ -1237,6 +1262,13 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
|
||||
return document, version
|
||||
|
||||
def get_system_last_saved_info(self):
|
||||
# Make sure settings are recaches
|
||||
self.system_settings_cache.set_outdated()
|
||||
self.get_studio_system_settings_overrides(False)
|
||||
|
||||
return self.system_settings_cache.last_saved_info.copy()
|
||||
|
||||
def _get_project_settings_overrides(self, project_name, return_version):
|
||||
if self.project_settings_cache[project_name].is_outdated:
|
||||
document, version = self._get_project_settings_overrides_doc(
|
||||
|
|
@ -1245,6 +1277,12 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
self.project_settings_cache[project_name].update_from_document(
|
||||
document, version
|
||||
)
|
||||
last_saved_info = SettingsStateInfo.from_document(
|
||||
version, PROJECT_SETTINGS_KEY, document
|
||||
)
|
||||
self.project_settings_cache[project_name].update_last_saved_info(
|
||||
last_saved_info
|
||||
)
|
||||
|
||||
cache = self.project_settings_cache[project_name]
|
||||
data = cache.data_copy()
|
||||
|
|
@ -1268,6 +1306,13 @@ class MongoSettingsHandler(SettingsHandler):
|
|||
|
||||
return document, version
|
||||
|
||||
def get_project_last_saved_info(self, project_name):
|
||||
# Make sure settings are recaches
|
||||
self.project_settings_cache[project_name].set_outdated()
|
||||
self._get_project_settings_overrides(project_name, False)
|
||||
|
||||
return self.project_settings_cache[project_name].last_saved_info.copy()
|
||||
|
||||
def get_studio_project_settings_overrides(self, return_version):
|
||||
"""Studio overrides of default project settings."""
|
||||
return self._get_project_settings_overrides(None, return_version)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue