def get_vault_backup_info(did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_INFO_COL] query = {USER_DID: did} info = col.find_one(query) return info
def setup_vault_service(did, max_storage, service_days, pricing_name=VAULT_SERVICE_FREE): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_SERVICE_COL] now = datetime.utcnow().timestamp() if service_days == -1: end_time = -1 else: end_time = now + service_days * 24 * 60 * 60 dic = { VAULT_SERVICE_DID: did, VAULT_SERVICE_MAX_STORAGE: max_storage, VAULT_SERVICE_FILE_USE_STORAGE: 0.0, VAULT_SERVICE_DB_USE_STORAGE: 0.0, VAULT_SERVICE_START_TIME: now, VAULT_SERVICE_END_TIME: end_time, VAULT_SERVICE_MODIFY_TIME: now, VAULT_SERVICE_STATE: VAULT_SERVICE_STATE_RUNNING, VAULT_SERVICE_PRICING_USING: pricing_name } query = {VAULT_SERVICE_DID: did} value = {"$set": dic} ret = col.update_one(query, value, upsert=True) return ret
def get_did_info_by_app_instance_did(app_instance_did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {APP_INSTANCE_DID: app_instance_did} info = col.find_one(query) return info
def get_did_info_by_did_appid(did, app_did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {USER_DID: did, APP_ID: app_did} info = col.find_one(query) return info
def get_vault_backup_service(did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] query = {VAULT_BACKUP_SERVICE_DID: did} service = col.find_one(query) return service
def get_all_did_info_by_did(did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {USER_DID: did} infos = col.find(query) return infos
def get_did_info_by_nonce(nonce): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {DID_INFO_NONCE: nonce} info = col.find_one(query) return info
def get_did_info_by_token(token): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {DID_INFO_TOKEN: token} info = col.find_one(query) return info
def update_vault_backup_info_item(did, key, value): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_INFO_COL] query = {USER_DID: did} did_dic = {"$set": {key: value}} ret = col.update_one(query, did_dic) return ret.upserted_id
def update_vault_backup_service_item(did, item_name, item_value): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] dic = {item_name: item_value} query = {VAULT_BACKUP_SERVICE_DID: did} value = {"$set": dic} ret = col.update_one(query, value) return ret
def less_than_max_storage(did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] query = {VAULT_BACKUP_SERVICE_DID: did} info = col.find_one(query) if info: return info[VAULT_BACKUP_SERVICE_MAX_STORAGE] >= (info[VAULT_BACKUP_SERVICE_USE_STORAGE] / (1024 * 1024)) else: return False
def add_did_nonce_to_db(app_instance_did, nonce, expired): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] did_dic = { APP_INSTANCE_DID: app_instance_did, DID_INFO_NONCE: nonce, DID_INFO_NONCE_EXPIRED: expired } i = col.insert_one(did_dic) return i
def get_backup_used_storage(did): use_size = count_vault_backup_storage_size(did) now = datetime.utcnow().timestamp() connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] query = {VAULT_BACKUP_SERVICE_DID: did} value = {"$set": {VAULT_BACKUP_SERVICE_USE_STORAGE: use_size, VAULT_BACKUP_SERVICE_MODIFY_TIME: now }} col.update_one(query, value) return use_size / (1024 * 1024)
def inc_backup_use_storage_byte(did, size): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] query = {VAULT_BACKUP_SERVICE_DID: did} info = col.find_one(query) info[VAULT_BACKUP_SERVICE_USE_STORAGE] = info[VAULT_BACKUP_SERVICE_USE_STORAGE] + size now = datetime.utcnow().timestamp() info[VAULT_BACKUP_SERVICE_MODIFY_TIME] = now query = {VAULT_BACKUP_SERVICE_DID: did} value = {"$set": info} ret = col.update_one(query, value) return ret
def count_vault_backup_storage_job(): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] info_list = col.find() for service in info_list: use_size = count_vault_backup_storage_size(service[VAULT_BACKUP_SERVICE_DID]) now = datetime.utcnow().timestamp() query_id = {"_id": service["_id"]} value = {"$set": {VAULT_BACKUP_SERVICE_USE_STORAGE: use_size, VAULT_BACKUP_SERVICE_MODIFY_TIME: now }} col.update_one(query_id, value)
def update_used_storage_for_mongodb_data(user_did, varying_size): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_SERVICE_COL] query = {VAULT_SERVICE_DID: user_did} now = datetime.utcnow().timestamp() dic = { VAULT_SERVICE_DB_USE_STORAGE: varying_size, VAULT_SERVICE_MODIFY_TIME: now } value = {"$set": dic} ret = col.update_one(query, value) return ret
def update_used_storage_for_files_data(user_did, varying_size, is_reset=False): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_SERVICE_COL] query = {VAULT_SERVICE_DID: user_did} info = col.find_one(query) info[VAULT_SERVICE_FILE_USE_STORAGE] = varying_size if is_reset else ( info[VAULT_SERVICE_FILE_USE_STORAGE] + varying_size) now = datetime.utcnow().timestamp() info[VAULT_SERVICE_MODIFY_TIME] = now query = {VAULT_SERVICE_DID: user_did} value = {"$set": info} ret = col.update_one(query, value) return ret
def update_did_info_by_app_instance_did(app_instance_did, nonce, expired): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {APP_INSTANCE_DID: app_instance_did} value = { "$set": { APP_INSTANCE_DID: app_instance_did, DID_INFO_NONCE: nonce, DID_INFO_NONCE_EXPIRED: expired } } ret = col.update_one(query, value) return ret
def update_vault_backup_state(did, state, msg): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_INFO_COL] query = {USER_DID: did} value = { "$set": { VAULT_BACKUP_INFO_STATE: state, VAULT_BACKUP_INFO_MSG: msg, VAULT_BACKUP_INFO_TIME: datetime.utcnow().timestamp() } } ret = col.update_one(query, value) return ret
def save_token_to_db(did, app_did, token, expired): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {USER_DID: did, APP_ID: app_did} value = { "$set": { DID_INFO_TOKEN: token, DID_INFO_TOKEN_EXPIRED: expired, DID_INFO_NONCE: None, DID_INFO_NONCE_EXPIRED: None } } ret = col.update_one(query, value) return ret
def update_token_of_did_info(did, app_did, app_instance_did, nonce, token, expired): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {APP_INSTANCE_DID: app_instance_did, DID_INFO_NONCE: nonce} value = { "$set": { USER_DID: did, APP_ID: app_did, DID_INFO_TOKEN: token, DID_INFO_TOKEN_EXPIRED: expired } } ret = col.update_one(query, value) return ret
def update_vault_service_state(did, state): # If there has a service, we just update it. complex process latter connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_SERVICE_COL] now = datetime.utcnow().timestamp() dic = { VAULT_SERVICE_DID: did, VAULT_SERVICE_MODIFY_TIME: now, VAULT_SERVICE_STATE: state } query = {VAULT_SERVICE_DID: did} value = {"$set": dic} ret = col.update_one(query, value) return ret
def upsert_vault_backup_info(did, backup_type, drive, token=None): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_INFO_COL] query = {USER_DID: did} did_dic = { "$set": { USER_DID: did, VAULT_BACKUP_INFO_STATE: VAULT_BACKUP_STATE_STOP, VAULT_BACKUP_INFO_TYPE: backup_type, VAULT_BACKUP_INFO_MSG: VAULT_BACKUP_MSG_SUCCESS, VAULT_BACKUP_INFO_TIME: datetime.utcnow().timestamp(), VAULT_BACKUP_INFO_DRIVE: drive, VAULT_BACKUP_INFO_TOKEN: token } } ret = col.update_one(query, did_dic, upsert=True) return ret.upserted_id
def get_vault_used_storage(did): file_size = count_file_system_storage_size(did) db_size = count_db_storage_size(did) now = datetime.utcnow().timestamp() connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_SERVICE_COL] query = {VAULT_SERVICE_DID: did} value = { "$set": { VAULT_SERVICE_FILE_USE_STORAGE: file_size, VAULT_SERVICE_DB_USE_STORAGE: db_size, VAULT_SERVICE_MODIFY_TIME: now } } col.update_one(query, value) return (file_size + db_size) / (1024 * 1024)
def proc_expire_vault_backup_job(): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] query = {VAULT_BACKUP_SERVICE_USING: {"$ne": VAULT_BACKUP_SERVICE_FREE_STATE}} info_list = col.find(query) now = datetime.utcnow().timestamp() for service in info_list: if service[VAULT_BACKUP_SERVICE_END_TIME] == -1: continue elif now > service[VAULT_BACKUP_SERVICE_END_TIME]: free_info = PaymentConfig.get_free_vault_info() query_id = {"_id": service["_id"]} value = {"$set": {VAULT_BACKUP_SERVICE_USING: VAULT_BACKUP_SERVICE_FREE_STATE, VAULT_BACKUP_SERVICE_MAX_STORAGE: free_info["maxStorage"], VAULT_BACKUP_SERVICE_START_TIME: now, VAULT_BACKUP_SERVICE_END_TIME: -1, VAULT_BACKUP_SERVICE_MODIFY_TIME: now }} col.update_one(query_id, value)
def update_vault_backup_service(did, max_storage, service_days, backup_name): # If there has a service, we just update it. complex process latter connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_SERVICE_COL] now = datetime.utcnow().timestamp() if service_days == -1: end_time = -1 else: end_time = now + service_days * 24 * 60 * 60 dic = {VAULT_BACKUP_SERVICE_DID: did, VAULT_BACKUP_SERVICE_MAX_STORAGE: max_storage, VAULT_BACKUP_SERVICE_START_TIME: now, VAULT_BACKUP_SERVICE_END_TIME: end_time, VAULT_BACKUP_SERVICE_MODIFY_TIME: now, VAULT_BACKUP_SERVICE_USING: backup_name } query = {VAULT_BACKUP_SERVICE_DID: did} value = {"$set": dic} ret = col.update_one(query, value) return ret
def delete_vault_backup_info(did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[VAULT_BACKUP_INFO_COL] query = {USER_DID: did} col.delete_many(query)
def delete_did_info(did, app_did): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] query = {USER_DID: did, APP_ID: app_did} col.delete_many(query)
def get_all_did_info(): connection = create_db_client() db = connection[DID_INFO_DB_NAME] col = db[DID_INFO_REGISTER_COL] infos = col.find() return infos
def get_collection(did, app_did, collection): connection = create_db_client() db_name = gene_mongo_db_name(did, app_did) db = connection[db_name] col = db[collection] return col