-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
added support for buyers, sellers and deals
- Loading branch information
Showing
12 changed files
with
350 additions
and
12 deletions.
There are no files selected for viewing
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
from flask import Flask, request, jsonify, request, render_template, redirect,url_for | ||
import requests | ||
from bson import ObjectId | ||
|
||
def get_buyer(buyer_id,client): | ||
# Get a single buyer | ||
# Select the database | ||
db = client['buyers'] | ||
buyers = db.buyers | ||
buyer_id = ObjectId(buyer_id) | ||
buyer = buyers.find_one({"_id": buyer_id}, {'_id': 0}) | ||
if buyer: | ||
return jsonify(buyer) | ||
else: | ||
return jsonify({"message": "buyer not found" }), 404 | ||
|
||
def put_buyer(buyer_id,request,client): | ||
db = client['buyers'] | ||
buyers = db.buyers | ||
buyer_id=ObjectId(buyer_id) | ||
payload = prepare_data(request.get_json())[0] | ||
result = buyers.update_one({"_id": buyer_id}, {"$set": payload}) | ||
if result.matched_count: | ||
print("updated") | ||
return jsonify({"message": "buyer updated"}) | ||
else: | ||
print("error)") | ||
return jsonify({"message": "buyer not found"}), 404 | ||
|
||
def delete_buyer(buyer_name,client): | ||
db = client['buyers'] | ||
buyers = db.buyers | ||
result = buyers.delete_one({"buyer_name": buyer_name}) | ||
if result.deleted_count: | ||
return jsonify({"message": "buyer deleted"}) | ||
else: | ||
return jsonify({"message": "buyer not found"}), 404 | ||
|
||
def list_all_buyers(client): | ||
db = client['buyers'] | ||
buyers = db.buyers | ||
all_buyers_with_id = list(buyers.find({})) | ||
for item in all_buyers_with_id: | ||
print(item) | ||
item["_id"] = str(item["_id"]) | ||
return jsonify(all_buyers_with_id) | ||
|
||
def post_buyer(request,client): | ||
db = client['buyers'] | ||
buyers = db.buyers | ||
print("Submitting buyer") | ||
try: | ||
|
||
buyer_data = prepare_data(request.get_json()) | ||
try: | ||
buyers.insert_one(buyer_data[0]) | ||
return jsonify({"message": "buyer added"}), 201 | ||
except Exception as e: | ||
# If an error occurs, print the error and return an appropriate response | ||
print("Error occurred:", e) | ||
return jsonify({"error": str(e)}), 500 | ||
except Exception as e: | ||
# Handle exceptions | ||
print(e) | ||
return str(e), 500 | ||
|
||
def prepare_data(data): | ||
# Extract form data | ||
name = data['name'] | ||
# Create the data payload in the required format | ||
payload = [{ | ||
"name": name, | ||
}] | ||
return payload |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
from flask import Flask, request, jsonify, request, render_template, redirect,url_for | ||
import requests | ||
from bson import ObjectId | ||
|
||
def get_deal(deal_id,client): | ||
# Get a single deal | ||
# Select the database | ||
db = client['deals'] | ||
deals = db.deals | ||
deal_id = ObjectId(deal_id) | ||
deal = deals.find_one({"_id": deal_id}, {'_id': 0}) | ||
if deal: | ||
return jsonify(deal) | ||
else: | ||
return jsonify({"message": "deal not found" }), 404 | ||
|
||
def put_deal(deal_id,request,client): | ||
db = client['deals'] | ||
deals = db.deals | ||
deal_id=ObjectId(deal_id) | ||
payload = prepare_data(request.get_json())[0] | ||
result = deals.update_one({"_id": deal_id}, {"$set": payload}) | ||
if result.matched_count: | ||
print("updated") | ||
return jsonify({"message": "deal updated"}) | ||
else: | ||
print("error)") | ||
return jsonify({"message": "deal not found"}), 404 | ||
|
||
def delete_deal(deal_name,client): | ||
db = client['deals'] | ||
deals = db.deals | ||
result = deals.delete_one({"deal_name": deal_name}) | ||
if result.deleted_count: | ||
return jsonify({"message": "deal deleted"}) | ||
else: | ||
return jsonify({"message": "deal not found"}), 404 | ||
|
||
def list_all_deals(client): | ||
db = client['deals'] | ||
deals = db.deals | ||
all_deals_with_id = list(deals.find({})) | ||
for item in all_deals_with_id: | ||
print(item) | ||
item["_id"] = str(item["_id"]) | ||
return jsonify(all_deals_with_id) | ||
|
||
def post_deal(request,client): | ||
db = client['deals'] | ||
deals = db.deals | ||
print("Submitting deal") | ||
try: | ||
|
||
deal_data = prepare_data(request.get_json()) | ||
try: | ||
deals.insert_one(deal_data[0]) | ||
return jsonify({"message": "deal added"}), 201 | ||
except Exception as e: | ||
# If an error occurs, print the error and return an appropriate response | ||
print("Error occurred:", e) | ||
return jsonify({"error": str(e)}), 500 | ||
except Exception as e: | ||
# Handle exceptions | ||
print(e) | ||
return str(e), 500 | ||
|
||
def prepare_data(data): | ||
# Extract form data | ||
name = data['name'] | ||
seller_id = data['seller_id'] | ||
buyer_id = data['buyer_id'] | ||
deal_floor = data['deal_floor'] | ||
deal_floor_curr = data['deal_floor_curr'] | ||
price_type=data['price_type'] | ||
code = data['code'] | ||
|
||
# Create the data payload in the required format | ||
payload = [{ | ||
"name": name, | ||
"seller_id": seller_id, | ||
"code": code, | ||
"buyer_id": buyer_id, | ||
"deal_floor": deal_floor, | ||
"prive_type": price_type, | ||
"deal_floor_curr": deal_floor_curr | ||
}] | ||
return payload |
Oops, something went wrong.