first commit
This commit is contained in:
parent
b216a187bd
commit
f73c77f548
119 changed files with 4504 additions and 4829 deletions
0
backend/routes/__init__.py
Normal file
0
backend/routes/__init__.py
Normal file
BIN
backend/routes/__pycache__/__init__.cpython-313.pyc
Normal file
BIN
backend/routes/__pycache__/__init__.cpython-313.pyc
Normal file
Binary file not shown.
BIN
backend/routes/__pycache__/contact.cpython-313.pyc
Normal file
BIN
backend/routes/__pycache__/contact.cpython-313.pyc
Normal file
Binary file not shown.
BIN
backend/routes/__pycache__/cv.cpython-313.pyc
Normal file
BIN
backend/routes/__pycache__/cv.cpython-313.pyc
Normal file
Binary file not shown.
BIN
backend/routes/__pycache__/projects.cpython-313.pyc
Normal file
BIN
backend/routes/__pycache__/projects.cpython-313.pyc
Normal file
Binary file not shown.
BIN
backend/routes/__pycache__/services.cpython-313.pyc
Normal file
BIN
backend/routes/__pycache__/services.cpython-313.pyc
Normal file
Binary file not shown.
29
backend/routes/contact.py
Normal file
29
backend/routes/contact.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from flask import Blueprint, jsonify, request, current_app
|
||||
from utils.json_crud import load_json, save_json, add_entry, delete_entry, update_entry
|
||||
from utils.data_loader import load_data
|
||||
from models.contact_model import ContactModel
|
||||
import os
|
||||
|
||||
DATA_DIR = os.path.join(os.path.dirname(__file__), '../data')
|
||||
CONTACTS_FILE = os.path.join(DATA_DIR, 'contact.json')
|
||||
|
||||
contact_bp = Blueprint('contact', __name__, url_prefix='/api/contact')
|
||||
|
||||
@contact_bp.route('/', methods=['GET'])
|
||||
def get_contact():
|
||||
contacts = load_data('contact.json')
|
||||
return jsonify(contacts)
|
||||
|
||||
@contact_bp.route('/', methods=['POST'])
|
||||
def update_contact():
|
||||
key = request.headers.get('x-api-key')
|
||||
if key != current_app.config['API_KEY']:
|
||||
return jsonify({
|
||||
"error": "Unauthorized"
|
||||
}), 401
|
||||
|
||||
data = request.json
|
||||
new_entry = ContactModel(data).to_dict()
|
||||
contact = [new_entry]
|
||||
save_json(CONTACTS_FILE, contact)
|
||||
return new_entry
|
||||
41
backend/routes/cv.py
Normal file
41
backend/routes/cv.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
from flask import Blueprint, jsonify, request, current_app
|
||||
from utils.data_loader import load_data
|
||||
from utils.json_crud import load_json, save_json, add_entry, delete_entry, update_entry
|
||||
from models.cv_model import CVModel
|
||||
import os
|
||||
|
||||
DATA_DIR = os.path.join(os.path.dirname(__file__), '../data')
|
||||
CV_FILE = os.path.join(DATA_DIR, 'cv.json')
|
||||
|
||||
cv_bp = Blueprint('cv', __name__, url_prefix='/api/cv')
|
||||
|
||||
@cv_bp.route('/', methods=['GET'])
|
||||
def get_cv():
|
||||
cv = load_data('cv.json')
|
||||
return jsonify(cv)
|
||||
|
||||
@cv_bp.route('/', methods=['POST'])
|
||||
def update_cv():
|
||||
#key = request.headers.get('x-api-key')
|
||||
#if key != current_app.config['API_KEY']:
|
||||
# return jsonify({
|
||||
# "error": "Unauthorized"
|
||||
# }), 401
|
||||
|
||||
data = request.json
|
||||
new_entry = CVModel(data).to_dict()
|
||||
cv = [new_entry]
|
||||
save_json(CV_FILE, cv)
|
||||
return jsonify(new_entry), 201
|
||||
|
||||
@cv_bp.route('/skills/', methods=['GET'])
|
||||
def get_skills():
|
||||
cv = load_data('cv.json')
|
||||
skills = cv[0].get('my_skills')
|
||||
return jsonify(skills)
|
||||
|
||||
@cv_bp.route('/about/', methods=['GET'])
|
||||
def get_about():
|
||||
cv = load_data('cv.json')
|
||||
about = cv[0].get('about_text')
|
||||
return jsonify(about)
|
||||
48
backend/routes/projects.py
Normal file
48
backend/routes/projects.py
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
from flask import Blueprint, jsonify, request, current_app
|
||||
from utils.data_loader import load_data
|
||||
from utils.json_crud import load_json, save_json, add_entry, delete_entry, update_entry
|
||||
from models.project_model import ProjectModel
|
||||
import os
|
||||
|
||||
DATA_DIR = os.path.join(os.path.dirname(__file__), '../data')
|
||||
PROJECTS_FILE = os.path.join(DATA_DIR, 'projects.json')
|
||||
|
||||
projects_bp = Blueprint('projects', __name__, url_prefix='/api/projects')
|
||||
|
||||
@projects_bp.route('/', methods=['GET'])
|
||||
def get_projects():
|
||||
projects = load_data('projects.json')
|
||||
return jsonify(projects)
|
||||
|
||||
@projects_bp.route('/<project_id>', methods=['GET'])
|
||||
def get_project(project_id):
|
||||
projects = load_data('projects.json')
|
||||
project = next((p for p in projects if p.get('id') == project_id), None)
|
||||
print(project)
|
||||
return jsonify(project)
|
||||
|
||||
@projects_bp.route('/', methods=['POST'])
|
||||
def create_project():
|
||||
key = request.headers.get('x-api-key')
|
||||
|
||||
if key != current_app.config['API_KEY']:
|
||||
return jsonify({
|
||||
"error": "Unauthorized"
|
||||
}), 401
|
||||
projects = load_data('projects.json')
|
||||
entry = request.json
|
||||
|
||||
project = ProjectModel(entry)
|
||||
|
||||
if not project.is_valid():
|
||||
return jsonify({
|
||||
"error": "Invalid project data"
|
||||
}), 400
|
||||
|
||||
new_id = max((p.get('id') for p in projects), default=0) + 1
|
||||
|
||||
data = project.to_dict()
|
||||
data['id'] = new_id
|
||||
|
||||
added = add_entry(PROJECTS_FILE, data)
|
||||
return jsonify(added), 201
|
||||
15
backend/routes/services.py
Normal file
15
backend/routes/services.py
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
from flask import Blueprint, jsonify, request, current_app
|
||||
from utils.data_loader import load_data
|
||||
from utils.json_crud import load_json, save_json, add_entry, delete_entry, update_entry
|
||||
from models.service_model import ServiceModel
|
||||
import os
|
||||
|
||||
DATA_DIR = os.path.join(os.path.dirname(__file__), '../data')
|
||||
SERVICES_FILE = os.path.join(DATA_DIR, 'services.json')
|
||||
|
||||
services_bp = Blueprint('services', __name__, url_prefix='/api/services')
|
||||
|
||||
@services_bp.route('/', methods=['GET'])
|
||||
def get_services():
|
||||
services = load_data('services.json')
|
||||
return jsonify(services)
|
||||
Loading…
Add table
Add a link
Reference in a new issue