Example #1
0
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
Example #9
0
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
Example #12
0
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
Example #18
0
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
Example #19
0
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
Example #20
0
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
Example #21
0
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
Example #23
0
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
Example #27
0
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)
Example #28
0
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)
Example #29
0
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
Example #30
0
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