Skip to content

Commit

Permalink
updates to support post and put on the same function
Browse files Browse the repository at this point in the history
  • Loading branch information
marsan02 committed Jan 11, 2024
1 parent 02c5b55 commit b0830b8
Show file tree
Hide file tree
Showing 8 changed files with 39 additions and 18 deletions.
Binary file modified __pycache__/application.cpython-311.pyc
Binary file not shown.
Binary file modified __pycache__/main.cpython-311.pyc
Binary file not shown.
1 change: 1 addition & 0 deletions application.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
def create_app():
app = Flask(__name__)
CORS(app)
cors = CORS(app, resources={r"/api/*": {"origins": "http://localhost:3000"}})

# Configure routes
configure_routes(app)
Expand Down
19 changes: 12 additions & 7 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,25 +26,30 @@ def configure_routes(app):
def get_countries():
return geo_api.get_countries()

@app.route('/submit-campaign', methods=['POST'])
@app.route('/submit-campaign', methods=['POST','PUT'])
@requires_auth
def submit_campaign():
return campaigns.post_campaign(request,client)

if request.method == 'POST':
#retrieve campaign
return campaigns.post_campaign(request,client)
elif request.method == 'PUT':
# Update a campaign
campaign_id=request.args['_id']
return campaigns.put_campaign(campaign_id,request.json,client)
@app.route('/campaigns', methods=['GET'])
@requires_auth
def manage_campaigns():
return campaigns.list_all_campaigns(client)

@app.route('/campaigns/<campaign_name>', methods=['GET', 'PUT', 'DELETE'])
@app.route('/campaign', methods=['GET', 'PUT', 'DELETE'])
@requires_auth
def process_campaign(campaign_name):
def process_campaign():
if request.method == 'GET':
#retrieve campaign
return campaigns.get_campaign(campaign_name,client)
return campaigns.get_campaign(request.args['_id'],client)
elif request.method == 'PUT':
# Update a campaign
return campaigns.put_campaign(campaign_name,request.json,client)
return campaigns.put_campaign(request.args['_id'],request.json,client)

elif request.method == 'DELETE':
# Delete a campaign
Expand Down
Binary file modified services/__pycache__/campaign.cpython-311.pyc
Binary file not shown.
Binary file modified services/__pycache__/creative.cpython-311.pyc
Binary file not shown.
18 changes: 12 additions & 6 deletions services/campaign.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
from flask import Flask, request, jsonify, request, render_template, redirect,url_for
import requests
from bson import ObjectId

def get_campaign(campaign_name,client):
def get_campaign(campaign_id,client):
# Get a single campaign
# Select the database
db = client['campaigns']
campaigns = db.campaigns
campaign = campaigns.find_one({"campaign_name": campaign_name}, {'_id': 0})
campaign_id = ObjectId(campaign_id)
campaign = campaigns.find_one({"_id": campaign_id}, {'_id': 0})
if campaign:
return jsonify(campaign)
else:
return jsonify({"message": "Campaign not found" }), 404

def put_campaign(campaign_name,update_data,client):
def put_campaign(campaign_id,update_data,client):
db = client['campaigns']
campaigns = db.campaigns
result = campaigns.update_one({"campaign_name": campaign_name}, {"$set": updated_data})
result = campaigns.update_one({"_id": campaign_id}, {"$set": updated_data})
if result.matched_count:
return jsonify({"message": "Campaign updated"})
else:
Expand All @@ -33,8 +35,12 @@ def delete_campaign(campaign_name,client):
def list_all_campaigns(client):
db = client['campaigns']
campaigns = db.campaigns
all_campaigns = list(campaigns.find({}, {'_id': 0}))
return jsonify(all_campaigns)
all_campaigns_with_id = list(campaigns.find({}))
for item in all_campaigns_with_id:
print(item)
item["_id"] = str(item["_id"])
print(all_campaigns_with_id)
return jsonify(all_campaigns_with_id)

def post_campaign(request,client):
db = client['campaigns']
Expand Down
19 changes: 14 additions & 5 deletions services/creative.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
from flask import Flask, request, jsonify, request, render_template, redirect,url_for
import requests
from bson import ObjectId


def get_creative(client, filters):
# Select the database and collection
Expand All @@ -14,10 +16,12 @@ def get_creative(client, filters):
query[field_name] = filter_value
print(query)
# Find the creative(s) that match the dynamic query
result = list(creatives.find(query, {'_id': 0}))

if result:
return jsonify(result)
all_creatives = list(creatives.find(query))
for item in all_creatives:
print(item)
item["_id"] = str(item["_id"])
if all_creatives:
return jsonify(all_creatives)
else:
return jsonify({"message": "creative not found"}), 404

Expand All @@ -42,7 +46,12 @@ def delete_creative(creative_name,client):
def list_all_creatives(client):
db = client['creatives']
creatives = db.creatives
all_creatives = list(creatives.find({}, {'_id': 0}))
all_creatives = list(creatives.find({}))
for item in all_creatives:
print(item)
item["_id"] = str(item["_id"])
return jsonify(all_creatives)

return jsonify(all_creatives)

def post_creative(request,client):
Expand Down

0 comments on commit b0830b8

Please sign in to comment.