def patch(self, id): util.abort_if_invalid_id_format(id) if not validate_testurl(id): abort(500, message='Error occurred while syncing', status="error") return '', 204
def get(self, args, id): util.abort_if_invalid_id_format(id) if args['embed']: pipeline = [ { '$match': { '_id': ObjectId(id) } }, { '$lookup': { 'from': 'proxies', 'localField': '_id', 'foreignField': 'providerId', 'as': 'proxies' } }, ] docs = list(mongo.db.providers.aggregate( pipeline)) # pymongo aggregate returns list util.abort_if_doesnt_exist(docs) return provider_schema_embedded.dump(docs[0]) doc = mongo.db.providers.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(doc) return provider_schema.dump(doc)
def patch(self, id): util.abort_if_invalid_id_format(id) doc = mongo.db.providers.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(doc) # Synchronising Proxy List syncProxies(id, 2) return '', 204
def patch(self, args, id): util.abort_if_invalid_id_format(id) if sync_proxy(id): if args['validate']: validate_proxy(id) else: abort(404, message='This proxy is currently offline, hence removed', status="error") return '', 204
def put(self, proxy_new, id): abort_if_provider_doesnt_exist(proxy_new['providerId']) util.abort_if_invalid_id_format(id) proxy = mongo.db.proxies.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(proxy) for k, v in proxy_new.items(): proxy[k] = v mongo.db.proxies.update_one({'_id': ObjectId(id)}, {'$set': proxy}) return '', 204
def put(self, testurl_new, params, id): util.abort_if_invalid_id_format(id) testurl = mongo.db.testurls.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(testurl) for k, v in testurl_new.items(): testurl[k] = v mongo.db.testurls.update_one({'_id': ObjectId(id)}, {'$set': testurl}) if params['validate']: validate_testurl(testurl['_id']) return '', 204
def put(self, provider_new, params, id): util.abort_if_invalid_id_format(id) provider = mongo.db.providers.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(provider) for k, v in provider_new.items(): provider[k] = v mongo.db.providers.update_one({'_id': ObjectId(id)}, {'$set': provider}) # Synchronising Proxy List based on syncTest param syncProxies(id, params['syncTest']) return '', 204
def delete(self, id): util.abort_if_invalid_id_format(id) provider = mongo.db.providers.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(provider) #Clean proxytesturls proxies = mongo.db.proxies.find({'providerId': provider['_id']}) for proxy in proxies: mongo.db.proxytesturls.delete_many({'proxyId': proxy['_id']}) # Clean proxies mongo.db.proxies.delete_many({'providerId': provider['_id']}) # Delete provider mongo.db.providers.delete_one({'_id': provider['_id']}) return '', 204
def put(self, configuration_new, id): util.abort_if_invalid_id_format(id) configuration = mongo.db.configurations.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(configuration) for k, v in configuration_new.items(): configuration[k] = v result = mongo.db.configurations.update_one({'_id': ObjectId(id)}, {'$set': configuration}) if result.modified_count != 0 and configuration['status']: mongo.db.configurations.update_many({'_id': { '$ne': ObjectId(id) }}, {'$set': { 'status': False }}) return '', 204
def get(self, args, id): util.abort_if_invalid_id_format(id) if args['embed']: docs = mongo.db.proxies.aggregate([ {'$match': {'_id': ObjectId(id)}}, {'$lookup': {'from': 'providers', 'localField': 'providerId', 'foreignField': '_id', 'as': 'provider'}}, {'$unwind': '$provider'}, { '$lookup': { 'from': 'proxytesturls', 'let': {'proxy_id': '$_id'}, 'pipeline': [ {'$match': {'$expr': {'$eq': ['$proxyId', '$$proxy_id']}}}, { '$lookup': { 'from': 'testurls', 'let': {'testurl_id': '$testurlId'}, 'pipeline': [{'$match': {'$expr': {'$eq': ['$_id', '$$testurl_id']}}}], 'as': 'testurl' } }, {'$unwind': '$testurl'}, {'$project': {'_id': '$testurl._id', 'url': '$testurl.url', 'validationAttempt': '$testurl.validationAttempt', 'validationTestDate': '$validationTestDate', 'validationTestStatus': '$validationTestStatus'}} ], 'as': 'testurls' } } ]) docs = list(docs) util.abort_if_doesnt_exist(docs) return proxy_schema_embedded.dump(docs[0]) doc = mongo.db.proxies.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(doc) return proxy_schema.dump(doc)
def delete(self, id): util.abort_if_invalid_id_format(id) mongo.db.proxytesturls.delete_many({'proxyId': ObjectId(id)}) mongo.db.proxies.delete_one({'_id': ObjectId(id)}) return '', 204
def get(self, args, id): util.abort_if_invalid_id_format(id) if args['embed']: docs = mongo.db.testurls.aggregate([{ '$match': { '_id': ObjectId(id) } }, { "$lookup": { "from": "proxytesturls", "let": { "testurl_id": "$_id" }, "pipeline": [{ "$match": { "$expr": { "$eq": ["$testurlId", "$$testurl_id"] } } }, { "$lookup": { "from": "proxies", "let": { "proxy_id": "$proxyId" }, "pipeline": [{ "$match": { "$expr": { "$eq": ["$_id", "$$proxy_id"] } } }], "as": "proxy" } }, { "$unwind": "$proxy" }, { "$project": { "_id": "$proxy._id", "providerId": "$proxy.providerId", "ip": "$proxy.ip", "port": "$proxy.port", "funcTestDate": "$proxy.funcTestDate", "lastFoundDate": "$proxy.lastFoundDate", "discoveredDate": "$proxy.discoveredDate", "anonymity": "$proxy.anonymity", "validationTestDate": "$validationTestDate", "validationTestStatus": "$validationTestStatus" } }], "as": "proxies" } }]) docs = list(docs) util.abort_if_doesnt_exist(docs) return testurl_schema_embedded.dump(docs[0]) doc = mongo.db.testurls.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(doc) return testurl_schema.dump(doc)
def delete(self, id): util.abort_if_invalid_id_format(id) mongo.db.configurations.delete_one({'_id': ObjectId(id)}) return '', 204
def get(self, id): util.abort_if_invalid_id_format(id) doc = mongo.db.configurations.find_one({'_id': ObjectId(id)}) util.abort_if_doesnt_exist(doc) return configuration_schema.dump(doc)