From 714f88914c39b16aceaea60ab2d0db405bb227d4 Mon Sep 17 00:00:00 2001 From: DynnG Date: Tue, 28 Oct 2025 18:52:02 +0800 Subject: [PATCH 1/3] jwt-authentication [CATALUNA] --- .env | 9 + __pycache__/app.cpython-313.pyc | Bin 0 -> 1283 bytes __pycache__/config.cpython-313.pyc | Bin 0 -> 1111 bytes __pycache__/extensions.cpython-313.pyc | Bin 0 -> 248 bytes app.py | 32 ++ config.py | 13 + .../auth_controller.cpython-313.pyc | Bin 0 -> 1802 bytes .../file_controller.cpython-313.pyc | Bin 0 -> 4065 bytes controllers/auth_controller.py | 26 ++ controllers/file_controller.py | 68 ++++ extensions.py | 4 + logs/app.log | 346 ++++++++++++++++++ .../__pycache__/uploaded_file.cpython-313.pyc | Bin 0 -> 829 bytes models/uploaded_file.py | 7 + requirements.txt | Bin 0 -> 522 bytes .../__pycache__/file_service.cpython-313.pyc | Bin 0 -> 3585 bytes services/file_service.py | 47 +++ ...4f2c96089138ef3da9d0_webcam-toy-photo2.jpg | Bin 0 -> 42851 bytes ...d88bb43f57241012440_webcam-toy-photo31.jpg | Bin 0 -> 120910 bytes .../023908a96e8e431e9783fdd029576bec_home.png | Bin 0 -> 419 bytes .../7a76d016075e4c15ba2c2c423b8bd96b_home.png | Bin 0 -> 419 bytes ...3dd49f8fac34faeb7936938eac51eda_logout.png | Bin 0 -> 375 bytes ...8cd3476685c44d888f5416ef9ffe2a09_shirt.png | Bin 0 -> 339 bytes .../3d6917a734fc4a45b4d5444b702b6528_home.png | Bin 0 -> 419 bytes ...9ee92ca236fa2404e8d_webcam-toy-photo25.jpg | Bin 0 -> 44411 bytes ...17544ef18b148e7920ab9def6dd1bbc_logout.png | Bin 0 -> 375 bytes .../edcaf93a85f84704b9907996a93dd7c2_home.png | Bin 0 -> 419 bytes 27 files changed, 552 insertions(+) create mode 100644 .env create mode 100644 __pycache__/app.cpython-313.pyc create mode 100644 __pycache__/config.cpython-313.pyc create mode 100644 __pycache__/extensions.cpython-313.pyc create mode 100644 app.py create mode 100644 config.py create mode 100644 controllers/__pycache__/auth_controller.cpython-313.pyc create mode 100644 controllers/__pycache__/file_controller.cpython-313.pyc create mode 100644 controllers/auth_controller.py create mode 100644 controllers/file_controller.py create mode 100644 extensions.py create mode 100644 logs/app.log create mode 100644 models/__pycache__/uploaded_file.cpython-313.pyc create mode 100644 models/uploaded_file.py create mode 100644 requirements.txt create mode 100644 services/__pycache__/file_service.cpython-313.pyc create mode 100644 services/file_service.py create mode 100644 uploads/0ed4567895114472b0502088500d92db/99be833dd2804f2c96089138ef3da9d0_webcam-toy-photo2.jpg create mode 100644 uploads/1aa3071adca34d88bb43f57241012440_webcam-toy-photo31.jpg create mode 100644 uploads/34a3629492334a23bde2363ef20d021f/023908a96e8e431e9783fdd029576bec_home.png create mode 100644 uploads/5bca4fc65331487dbb472081892bfcf2/7a76d016075e4c15ba2c2c423b8bd96b_home.png create mode 100644 uploads/61ad8f02c32243aeb79b348b60874a32/23dd49f8fac34faeb7936938eac51eda_logout.png create mode 100644 uploads/8cd3476685c44d888f5416ef9ffe2a09_shirt.png create mode 100644 uploads/abced3fd088f4c96bda6a8278e55d4a0/3d6917a734fc4a45b4d5444b702b6528_home.png create mode 100644 uploads/e0ae8438c12a472199a2fa201718072c/39642bd3f16749ee92ca236fa2404e8d_webcam-toy-photo25.jpg create mode 100644 uploads/fb8abe48d4a44cccb63e7161798039af/e17544ef18b148e7920ab9def6dd1bbc_logout.png create mode 100644 uploads/fd1a5222de044c6ca61652489ce3707d/edcaf93a85f84704b9907996a93dd7c2_home.png diff --git a/.env b/.env new file mode 100644 index 0000000..917e1cf --- /dev/null +++ b/.env @@ -0,0 +1,9 @@ +FLASK_ENV=development +UPLOAD_FOLDER=uploads + +DB_USER=root +DB_PASSWORD=geraldyncataluna +DB_HOST=localhost +DB_PORT=3306 +DB_NAME=flask_uploads_db + diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..897f5697a3ea38c5e378c6fbcf9f1a21eedfe76e GIT binary patch literal 1283 zcmaJ<&2Jl35TE^CubtF1YSI=&OsK(@l7d2WNL9EbjlphX$=gauELyGY=j}G@UF+>S zZ6gj%L2`O(I3V~F%HPo&T$&IR>s38*;ue~sN}QNyXSF#X-mZ3j^Yxo~GkZKSVE~@; zFR$^a**KTt1X)Uwg)CZQIZ+ENag?MPJ*d_B4Xw{X-0y~jA<;7r;@Fmspe@OYh)VlC;n7g`BOK@G>WMwK}#n< zgwY&6NbIScgCquLFYspx_r(up=w|NfmjF&4cn9UN{qz@SFtIEYz!hBKJ(!2miL;G6 z>)>o=k);6Z#ZRSK=m_P>Ke>OsEHGuwccKjh>Pi@NJQtDJZZhLWy<)G`Z>(N#+(MI1 z?t4*ehZ|e^M^3MI*$>^V4~r!yYQs@Dqv^^TJY}1Ln z)_4F+{$hQt&fdlXF%5m6(CG50$J9WxyvSKfTpS9acGK^Z9`%BlWs%qBf!Glz+YbV(9*|Y)Z4zrWZ1uY&h$Cwa=dy6S=Z8*v z;d*jE>+ZdH!Rg0$FvM#)F<#l?`{+Gj`n7J@?)&63I)_DY?GPQ}=SUI+;RR$~z~oDq zc?lQr{YwQcxAXb8;X`Q%(!kg@4q$W1ZbS}Vo!z#v7o240y*KZB^WM&zISYjXfQ}z; zfc%jG;Fo1IhpVBSO;KeRKmeIJfGz2mV`d%LF$@Gp7)&&+I0dx)m=$dfU7qPR% zMBFEqF&|+_P|?I9Dr$zLZWbD0wg@$hvvyjI*D{i+q+N%styT z!^0f$D_TKRRyEzQ*B1C}j=09hZ{8+MeTR8A6DOT3il{$A<#nr3Iw~$FNGQLM=2;FU z_%ugzcpExLq$lB!X+ zL(_?;Bw2TX^uzmUHXWOZXOSn-cQ6gmob)VNofXs=%uf zhviL4;Iu+{O;QbANXUvblDAJ|B>se!s>_-xJbY}7h-G7yB65Kyp-Tn3L!;{^wwh#5 zmZHC=(@XHv)3=TH%pLRXK&?Mo?YmK7E6a!Sf&3v<8%$$%D!FOGlnsG+Dhq^NINs{u22dspcM3(MD|+S5x|_lW~`sQzvj=I`x68 z(W)za+|#$0+DYwe6|>eexs^HY>ff3@ZtHv=$CsP6MO=80>cmrji`dz8*e6uy!WQ7W nQ*Y;8e1)3UbJMLrnwDX{0snU}^c4hOg#NgEOxJHfCp-2p4Wkh4 literal 0 HcmV?d00001 diff --git a/__pycache__/extensions.cpython-313.pyc b/__pycache__/extensions.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9758ed1a287e846915d3a073e4743eed0f24b66c GIT binary patch literal 248 zcmey&%ge<81kZPV$?yl#k3k$5V1hC}%K;fv8G;#t8NC_27>gJc7-ATe7)+tkMNH{T zn#?ajJWa-1T)}}pjycI0skxPYn#{KZ(sB}uv*U{ka}ptfMa)2Tx0q6rRx*4BX}RU$ zY!wq)oLW>IQa+!xF(p2? zEIB5%q9ir1I5R)5Sg)Y+7Kcr4eoARhs$CH$&|pR&F6IXkAD9^#8J{w!KV;=^j%j2n IVh4%=09PGDZU6uP literal 0 HcmV?d00001 diff --git a/app.py b/app.py new file mode 100644 index 0000000..4fd3f38 --- /dev/null +++ b/app.py @@ -0,0 +1,32 @@ +import os +import logging +from flask import Flask +from config import Config +from extensions import db + + +app = Flask(__name__) +app.config.from_object(Config) + +db.init_app(app) + + +os.makedirs(app.config['LOG_FOLDER'], exist_ok=True) +logging.basicConfig( + filename=f"{app.config['LOG_FOLDER']}/app.log", + level=logging.INFO, + format='%(asctime)s [%(levelname)s] %(message)s' +) + +from controllers.file_controller import file_bp +app.register_blueprint(file_bp) + +from controllers.auth_controller import auth_bp +app.register_blueprint(auth_bp) + + +with app.app_context(): + db.create_all() + +if __name__ == '__main__': + app.run(debug=True) diff --git a/config.py b/config.py new file mode 100644 index 0000000..10c3d02 --- /dev/null +++ b/config.py @@ -0,0 +1,13 @@ +import os +from dotenv import load_dotenv +load_dotenv() + +class Config: + SQLALCHEMY_DATABASE_URI = ( + f"mysql+pymysql://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@" + f"{os.getenv('DB_HOST', 'localhost')}:{os.getenv('DB_PORT', '3306')}/{os.getenv('DB_NAME', 'flask_uploads_db')}" + ) + SQLALCHEMY_TRACK_MODIFICATIONS = False + UPLOAD_FOLDER = os.getenv('UPLOAD_FOLDER', 'uploads') + LOG_FOLDER = 'logs' + DEBUG = True \ No newline at end of file diff --git a/controllers/__pycache__/auth_controller.cpython-313.pyc b/controllers/__pycache__/auth_controller.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4c1742eda07f72a611895bc5264ea9d3234d02de GIT binary patch literal 1802 zcmb7EO-vg{6rNqLy=xo1A*9gqmjxP9w*p$Fw8aepC;S+PK;)_0C|I%*u-z z;V-VYnu6>E0PEDVz7j5+u7I2ge;d;zAv47^NC~V5T|H!>=iPG+B;s6m$mzH!o5~Y18IE8X2y1c? zIYLP`j4d5!%e{?6vT34XiFocv)F>jA`x^?w%4CpXV_fbQMv1))$ofS zNl)Ccjr!X>%LB{WV_8+Q^+>c9i9~g)QNAH%hJ%;OQ z64?y;KqX0X)H{(>l3d?NEg>wc*&QvlrlEOEkWS6(8LLQs4I{NkdNQ6Ysk)pUU)VO0 zW+=Lr+T1e7=^sK&lngYrEe=Rsz znSUmB?{0s+y%(s7qm|gp+$kp>b3IkA=a}oSa{czu)Is6kp*=8n#6?ed@!MN9et5s| z!$fUtt}Xx7s&LgFnK>*RKD4FSk+4k5@Y|yw*u5Xt#E%X~ZE?mHW==0ueC_7pgTuHz zx^yJOnuX8Wy>m4&`t*h^F51H48M!bBcR1dhDjSb5?Lxiv_1-qx&eOJ&b~{2kO{XQD zcKAA!8zuY(weKUF#6<*OVpsk literal 0 HcmV?d00001 diff --git a/controllers/__pycache__/file_controller.cpython-313.pyc b/controllers/__pycache__/file_controller.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d8f167f833e73656058de248c96ca686e998bc95 GIT binary patch literal 4065 zcmcgvUrZax8K2$t+Uvh-uz@6CVhE5J!k-k993)2q!HLd9B=yGCRYtO0dkwxCo6On> zES;LB52by%wCbsxbkZTUcS@x`^r2Ftwo(u7rR~#NFcjou|exDEBZU=($iZGao zu$YZ-n2T7jCBkDqNXFP%Ys7|a5djMkJGRq4Zq^ZTVkd1|V6F?hXq%sPV>isZH~ z@b;hR?KQlc8oXN;_)zl;@?Ifcvrp$r@-oimi<%9~4@hTlHGviI)d( z5~p}2BT-j<+-!B%a1r&Gef8RdM!7r_Z!&vcXH3lH*@kbh#n@=G=~J(v*I$1!Taqxu z)xOtGzPAg-Tg_1$N?wDntdmTMxg*^)# z%yUy*k5Ols40@G2i!w~eIj31D*5K9^CAlD%y>o>i=?Utvkkc=oz?Et4*!{crre+ei z@7S@++@#|ysFYGEn42l(LL4S%qp{hvW?4=a7hn7d9?KrXQO3A{CxRgnTZk7= zc2O|7JWSxFSyP34CcB_nN+no;Cw5HZ7Ufk;ZXJ_@)9e(sWNpnJUQNl%#cUz3*>Z)2 zg=~I7g2`oS)=VLnma!(7-=i_ILS7&UMf>KhiTRi!V`cu1jFY+aT7Lds zUY^0(6?uN9kSZ+!{gnAkE~$K*GB2U8l2}?v&BN;!aUqu@v*~NqJBF6mG^gQ8hVXgV zkYG~T1@j11Eh2wu&)M{D+k1g`0z1yWeczdl*VOalYWu{F@7gm-_1#omH~%5FzV+r0 z-rV>`MeJF(?EBB|`ui&WzRmAc{8v@qE6^z zvGHKX*S{|8i>-TY{d>)4emd}@fjxhRKL5aGIpsJ+7O%4^Ah)+_w|Ko(WU+fc|ICG4 zEr*EZFYOEBTkapaH$0mUH&beB|8rpg7Td7@e01~S&#tI#{X62oQ%My^J{Cs)RpnvE zKNS*~A9qg&(EC$Y!EOf}x4OCQ^CPzc+(&H;v_A^)V9UN?awfyqAplO$gUhBTHSSLM zLCOdYuuenB(IuwyOM*qT7HH^fYGTMFO`eG{7mR^42}=ZVv`CD^HV}rRVF~0;FEJ)s z3o2$G30@LEuG6^|Xbd{D@mg?+dh0XH7Ll_U`vp2Tyi43?dd6ymZ+JV~7;Dg(or3*= z)=)RlS(u{?EPHMf2ImXKV5U&Yr?WqSgC()uom3LZVlkOoB)~2^@5sfVK}$?_4mq$B zDvbwG!fP70AQyFlk_e1Di8)J5keDuFy1{@p>2i`yQ_kUD=v0VY0L5@0)S3V*Q3By1 z(hWc5dte9?YydW~eOK(Nh+Vs4Z$<3gT-XtZ)-8V#eFiPAs_n1r_{N`&s=i6pHMuXI z+VH>E`A+AriWTv?DqR13-|0VsTIc4}=BV0w{<(1BOHoU{;PKd$6aB^qX3OcA_HtV- zBhyZ9n`fZC?c~8~-2K=I_{_uMzK#B`lE~EY`#KY^iQ=(XrSf>0+y;~*Vg^V&PADbY zPz`&MV8~Vt)iv3wq5C*N1f1JnDqAi3`ylj{WXmz91C7W{U9pyNVI>QR4}~%&f?PgL ziJ)go=?1CFt%X=h72F1HFaAh;L8nMkWfCIfq&kI9!ozI}U)%Gy@A`Wy{@w$gBRar=4p@l}*f^pC9MJ*cf7gMjVbB3P*sWp5^cc4_ zJ~BPbZHE|WZx8ceHS0|HZumj?_^3~=gs>_O?9xj;nnMa?;2C1^G4UJHEOOGc7W3m+!3DO~WT=ZpixY3|XGI2BJ`i=huN8xn^JYI#Lk_1EG#S^jjJ-PE-=%BGu zJvXVg-PjRtet1q5!>SPekLdc}pE;u%E^;>68Z=vm1kh89K$ew zMd6Q87;FWFKShI|qTWxC=M&`oo5T0ywT;ys$Aw2WNVHh{_XFPztgmfe*}U*5pfUpo zte3fT$RYM(m9(mThKnlpJS{z4AU;S|zP&>#;uWnh&(9!3Lkzr*DvT#t&Gl L?lVDKm>}Ta#1A%h literal 0 HcmV?d00001 diff --git a/controllers/auth_controller.py b/controllers/auth_controller.py new file mode 100644 index 0000000..6961de3 --- /dev/null +++ b/controllers/auth_controller.py @@ -0,0 +1,26 @@ +from flask import Blueprint, request, jsonify, current_app +import logging + +auth_bp = Blueprint("auth", __name__, url_prefix="/auth") + +VALID_USERNAME = "stephen" # AT VAUGHKET HENDE?! +VALID_PASSWORD = "shetkatalagaballabyu" + +@auth_bp.route("/login", methods=["POST"]) +def login(): + if not request.is_json: + current_app.logger.warning("Login failed: Non-JSON request received") + return jsonify({"error": "Request must be in JSON format"}), 400 + + data = request.get_json() + username = data.get("username") + password = data.get("password") + + current_app.logger.info(f"Login attempt by user: {username}") + + if username == VALID_USERNAME and password == VALID_PASSWORD: + current_app.logger.info(f"Login successful for user: {username}") + return jsonify({"message": "Login successful!"}), 200 + else: + current_app.logger.warning(f"Login failed for user: {username}") + return jsonify({"error": "Invalid username or password"}), 401 diff --git a/controllers/file_controller.py b/controllers/file_controller.py new file mode 100644 index 0000000..11d28ef --- /dev/null +++ b/controllers/file_controller.py @@ -0,0 +1,68 @@ +from flask import Blueprint, request, jsonify, send_file, current_app +from services.file_service import save_file, update_file, delete_file +from models.uploaded_file import UploadedFile +from flask import send_from_directory +import logging +import uuid + +file_bp = Blueprint('file_bp', __name__) + + +# POST — Upload file +@file_bp.route('/upload', methods=['POST']) +def upload_file(): + try: + if 'file' not in request.files: + return jsonify({'message': 'No file uploaded'}), 400 + + file = request.files['file'] + folder = f"{current_app.config['UPLOAD_FOLDER']}/{uuid.uuid4().hex}" # ✅ use current_app + uploaded = save_file(file, folder) + return jsonify({ + 'message': 'Upload successful', + 'id': uploaded.id, + 'path': uploaded.file_path + }), 201 + + except Exception as e: + logging.error(f"Upload error: {e}") + return jsonify({'message': str(e)}), 400 + +# GET — Retrieve file info or download +@file_bp.route('/file/', methods=['GET']) +def get_file(file_id): + try: + file = UploadedFile.query.get(file_id) + if not file: + return jsonify({'message': 'File not found'}), 404 + return send_file(file.file_path, as_attachment=True) + except Exception as e: + logging.error(f"Get error: {e}") + return jsonify({'message': str(e)}), 400 + +# PUT — Update file +@file_bp.route('/file/', methods=['PUT']) +def update_existing_file(file_id): + try: + if 'file' not in request.files: + return jsonify({'message': 'No file provided'}), 400 + + file = request.files['file'] + updated = update_file(file_id, file, current_app.config['UPLOAD_FOLDER']) # ✅ use current_app + return jsonify({ + 'message': 'File updated successfully', + 'path': updated.file_path + }), 200 + except Exception as e: + logging.error(f"Update error: {e}") + return jsonify({'message': str(e)}), 400 + +# DELETE — Delete file +@file_bp.route('/file/', methods=['DELETE']) +def delete_existing_file(file_id): + try: + delete_file(file_id) + return jsonify({'message': 'File deleted successfully'}), 200 + except Exception as e: + logging.error(f"Delete error: {e}") + return jsonify({'message': str(e)}), 400 diff --git a/extensions.py b/extensions.py new file mode 100644 index 0000000..76e7ae0 --- /dev/null +++ b/extensions.py @@ -0,0 +1,4 @@ +# extensions.py +from flask_sqlalchemy import SQLAlchemy + +db = SQLAlchemy() diff --git a/logs/app.log b/logs/app.log new file mode 100644 index 0000000..ce17666 --- /dev/null +++ b/logs/app.log @@ -0,0 +1,346 @@ +2025-10-19 17:14:04,080 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 17:14:04,081 [INFO] Press CTRL+C to quit +2025-10-19 18:49:27,819 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:49:27,820 [INFO] Press CTRL+C to quit +2025-10-19 18:49:27,824 [INFO] * Restarting with stat +2025-10-19 18:49:29,021 [WARNING] * Debugger is active! +2025-10-19 18:49:29,034 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 18:51:01,519 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:51:01,520 [INFO] Press CTRL+C to quit +2025-10-19 18:51:01,523 [INFO] * Restarting with stat +2025-10-19 18:51:02,725 [WARNING] * Debugger is active! +2025-10-19 18:51:02,729 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 18:51:21,578 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:51:21,578 [INFO] Press CTRL+C to quit +2025-10-19 18:51:21,583 [INFO] * Restarting with stat +2025-10-19 18:51:22,852 [WARNING] * Debugger is active! +2025-10-19 18:51:22,857 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 18:51:30,160 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:51:30,160 [INFO] Press CTRL+C to quit +2025-10-19 18:52:11,891 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:52:11,891 [INFO] Press CTRL+C to quit +2025-10-19 18:52:11,895 [INFO] * Restarting with stat +2025-10-19 18:52:13,343 [WARNING] * Debugger is active! +2025-10-19 18:52:13,348 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 18:52:38,484 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:52:38,485 [INFO] Press CTRL+C to quit +2025-10-19 18:52:38,487 [INFO] * Restarting with stat +2025-10-19 18:52:39,773 [WARNING] * Debugger is active! +2025-10-19 18:52:39,778 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 18:58:43,339 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 18:58:43,339 [INFO] Press CTRL+C to quit +2025-10-19 19:03:42,886 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:03:42,887 [INFO] Press CTRL+C to quit +2025-10-19 19:04:15,700 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:04:15,701 [INFO] Press CTRL+C to quit +2025-10-19 19:04:40,712 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:04:40,713 [INFO] Press CTRL+C to quit +2025-10-19 19:05:58,559 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:05:58,560 [INFO] Press CTRL+C to quit +2025-10-19 19:08:14,485 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:08:14,485 [INFO] Press CTRL+C to quit +2025-10-19 19:08:14,488 [INFO] * Restarting with stat +2025-10-19 19:08:15,758 [WARNING] * Debugger is active! +2025-10-19 19:08:15,763 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:14:11,393 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:14:11,393 [INFO] Press CTRL+C to quit +2025-10-19 19:14:11,396 [INFO] * Restarting with stat +2025-10-19 19:14:12,485 [WARNING] * Debugger is active! +2025-10-19 19:14:12,489 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:15:09,458 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:15:09,459 [INFO] Press CTRL+C to quit +2025-10-19 19:15:09,461 [INFO] * Restarting with stat +2025-10-19 19:15:10,683 [WARNING] * Debugger is active! +2025-10-19 19:15:10,688 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:18:09,864 [INFO] 127.0.0.1 - - [19/Oct/2025 19:18:09] "POST /file HTTP/1.1" 404 - +2025-10-19 19:18:23,318 [INFO] 127.0.0.1 - - [19/Oct/2025 19:18:23] "POST / HTTP/1.1" 404 - +2025-10-19 19:18:26,453 [INFO] 127.0.0.1 - - [19/Oct/2025 19:18:26] "POST / HTTP/1.1" 404 - +2025-10-19 19:20:27,991 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:20:28,305 [INFO] * Restarting with stat +2025-10-19 19:20:41,596 [INFO] 127.0.0.1 - - [19/Oct/2025 19:20:41] "POST / HTTP/1.1" 404 - +2025-10-19 19:21:26,824 [INFO] 127.0.0.1 - - [19/Oct/2025 19:21:26] "POST / HTTP/1.1" 404 - +2025-10-19 19:22:34,957 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:22:34,958 [INFO] Press CTRL+C to quit +2025-10-19 19:22:34,962 [INFO] * Restarting with stat +2025-10-19 19:22:36,563 [WARNING] * Debugger is active! +2025-10-19 19:22:36,570 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:22:47,177 [INFO] 127.0.0.1 - - [19/Oct/2025 19:22:47] "POST / HTTP/1.1" 404 - +2025-10-19 19:23:09,100 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\app.py', reloading +2025-10-19 19:23:09,323 [INFO] * Restarting with stat +2025-10-19 19:23:10,841 [WARNING] * Debugger is active! +2025-10-19 19:23:10,847 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:23:20,032 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\app.py', reloading +2025-10-19 19:23:20,339 [INFO] * Restarting with stat +2025-10-19 19:23:21,761 [WARNING] * Debugger is active! +2025-10-19 19:23:21,767 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:26:05,813 [INFO] 127.0.0.1 - - [19/Oct/2025 19:26:05] "POST /upload HTTP/1.1" 400 - +2025-10-19 19:26:44,820 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:26:44,821 [INFO] Press CTRL+C to quit +2025-10-19 19:26:44,824 [INFO] * Restarting with stat +2025-10-19 19:26:46,101 [WARNING] * Debugger is active! +2025-10-19 19:26:46,105 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:27:38,822 [INFO] File saved: uploads/61ad8f02c32243aeb79b348b60874a32\23dd49f8fac34faeb7936938eac51eda_logout.png +2025-10-19 19:27:38,834 [INFO] 127.0.0.1 - - [19/Oct/2025 19:27:38] "POST /upload HTTP/1.1" 201 - +2025-10-19 19:27:46,625 [INFO] 127.0.0.1 - - [19/Oct/2025 19:27:46] "GET /61ad8f02c32243aeb79b348b60874a32//23dd49f8fac34faeb7936938eac51eda_logout.png HTTP/1.1" 404 - +2025-10-19 19:28:34,736 [INFO] File saved: uploads/03733994ac024fc9a2df45ee97133640\960a5fa3569c46a7915c1bd8861cd432_logout.png +2025-10-19 19:28:34,740 [INFO] 127.0.0.1 - - [19/Oct/2025 19:28:34] "POST /upload HTTP/1.1" 201 - +2025-10-19 19:28:41,574 [INFO] 127.0.0.1 - - [19/Oct/2025 19:28:41] "GET /03733994ac024fc9a2df45ee97133640//960a5fa3569c46a7915c1bd8861cd432_logout.png HTTP/1.1" 404 - +2025-10-19 19:28:41,669 [INFO] 127.0.0.1 - - [19/Oct/2025 19:28:41] "GET /favicon.ico HTTP/1.1" 404 - +2025-10-19 19:52:00,794 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:52:02,159 [INFO] * Restarting with stat +2025-10-19 19:52:08,810 [WARNING] * Debugger is active! +2025-10-19 19:52:08,822 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:52:11,045 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:52:11,427 [INFO] * Restarting with stat +2025-10-19 19:53:27,345 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:53:27,345 [INFO] Press CTRL+C to quit +2025-10-19 19:53:27,349 [INFO] * Restarting with stat +2025-10-19 19:53:29,299 [WARNING] * Debugger is active! +2025-10-19 19:53:29,316 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:53:33,080 [INFO] File saved: uploads/7f34ecc491344366b516fdb71f9d5e03\bf351005126b4c5ab95cac21afd23f4c_logout.png +2025-10-19 19:53:33,105 [INFO] 127.0.0.1 - - [19/Oct/2025 19:53:33] "POST /upload HTTP/1.1" 201 - +2025-10-19 19:53:44,549 [INFO] 127.0.0.1 - - [19/Oct/2025 19:53:44] "GET /7f34ecc491344366b516fdb71f9d5e03//bf351005126b4c5ab95cac21afd23f4c_logout.png HTTP/1.1" 404 - +2025-10-19 19:54:48,919 [INFO] 127.0.0.1 - - [19/Oct/2025 19:54:48] "POST /upload/logout.png HTTP/1.1" 404 - +2025-10-19 19:55:44,739 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:55:44,880 [INFO] * Restarting with stat +2025-10-19 19:55:45,881 [WARNING] * Debugger is active! +2025-10-19 19:55:45,887 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:56:02,361 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 19:56:02,361 [INFO] Press CTRL+C to quit +2025-10-19 19:56:02,363 [INFO] * Restarting with stat +2025-10-19 19:56:03,261 [WARNING] * Debugger is active! +2025-10-19 19:56:03,264 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:56:06,099 [INFO] File saved: uploads/47b05f9a7eb64804adab77ed4bb512b3\2eee6e4a9f404360b5868f2706f699a5_logout.png +2025-10-19 19:56:06,102 [INFO] 127.0.0.1 - - [19/Oct/2025 19:56:06] "POST /upload HTTP/1.1" 201 - +2025-10-19 19:56:25,888 [INFO] 127.0.0.1 - - [19/Oct/2025 19:56:25] "GET /47b05f9a7eb64804adab77ed4bb512b3//2eee6e4a9f404360b5868f2706f699a5_logout.png HTTP/1.1" 404 - +2025-10-19 19:56:29,790 [INFO] 127.0.0.1 - - [19/Oct/2025 19:56:29] "POST /upload/2eee6e4a9f404360b5868f2706f699a5_logout.png HTTP/1.1" 404 - +2025-10-19 19:57:01,892 [INFO] File saved: uploads/fb8abe48d4a44cccb63e7161798039af\e17544ef18b148e7920ab9def6dd1bbc_logout.png +2025-10-19 19:57:01,895 [INFO] 127.0.0.1 - - [19/Oct/2025 19:57:01] "POST /upload HTTP/1.1" 201 - +2025-10-19 19:57:34,816 [INFO] 127.0.0.1 - - [19/Oct/2025 19:57:34] "POST /file/1 HTTP/1.1" 405 - +2025-10-19 19:57:39,231 [INFO] 127.0.0.1 - - [19/Oct/2025 19:57:39] "GET /file/1 HTTP/1.1" 200 - +2025-10-19 19:58:21,406 [INFO] File saved: uploads\8cd3476685c44d888f5416ef9ffe2a09_shirt.png +2025-10-19 19:58:21,431 [INFO] File updated: ID=2 +2025-10-19 19:58:21,433 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:21] "PUT /file/2 HTTP/1.1" 200 - +2025-10-19 19:58:39,226 [INFO] File deleted from storage: uploads/7f34ecc491344366b516fdb71f9d5e03\bf351005126b4c5ab95cac21afd23f4c_logout.png +2025-10-19 19:58:39,238 [INFO] Record deleted: ID=3 +2025-10-19 19:58:39,239 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:39] "DELETE /file/3 HTTP/1.1" 200 - +2025-10-19 19:58:43,406 [INFO] File deleted from storage: uploads/47b05f9a7eb64804adab77ed4bb512b3\2eee6e4a9f404360b5868f2706f699a5_logout.png +2025-10-19 19:58:43,414 [INFO] Record deleted: ID=4 +2025-10-19 19:58:43,414 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:43] "DELETE /file/4 HTTP/1.1" 200 - +2025-10-19 19:58:49,817 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:49] "GET /file/1 HTTP/1.1" 200 - +2025-10-19 19:58:54,051 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:54] "GET /file/2 HTTP/1.1" 200 - +2025-10-19 19:59:28,814 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:59:28,934 [INFO] * Restarting with stat +2025-10-19 19:59:29,988 [WARNING] * Debugger is active! +2025-10-19 19:59:29,993 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:59:32,056 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:59:32,170 [INFO] * Restarting with stat +2025-10-19 19:59:33,033 [WARNING] * Debugger is active! +2025-10-19 19:59:33,036 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 19:59:36,092 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 19:59:36,228 [INFO] * Restarting with stat +2025-10-19 19:59:37,290 [WARNING] * Debugger is active! +2025-10-19 19:59:37,294 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:02:55,779 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:02:55,911 [INFO] * Restarting with stat +2025-10-19 20:04:08,226 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 20:04:08,226 [INFO] Press CTRL+C to quit +2025-10-19 20:04:08,228 [INFO] * Restarting with stat +2025-10-19 20:04:09,096 [WARNING] * Debugger is active! +2025-10-19 20:04:09,099 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:04:35,285 [INFO] File saved: uploads/5663ace1198144af81a2a3e9477f7caa\f99f8483534b48f38b81d074164cd52b_home.png +2025-10-19 20:04:35,287 [INFO] 127.0.0.1 - - [19/Oct/2025 20:04:35] "POST /upload HTTP/1.1" 201 - +2025-10-19 20:05:06,318 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:05:06,435 [INFO] * Restarting with stat +2025-10-19 20:05:07,337 [WARNING] * Debugger is active! +2025-10-19 20:05:07,340 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:05:10,398 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:05:10,519 [INFO] * Restarting with stat +2025-10-19 20:05:11,405 [WARNING] * Debugger is active! +2025-10-19 20:05:11,410 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:05:15,489 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:05:15,613 [INFO] * Restarting with stat +2025-10-19 20:05:16,519 [WARNING] * Debugger is active! +2025-10-19 20:05:16,522 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:05:32,807 [INFO] File deleted from storage: uploads/5663ace1198144af81a2a3e9477f7caa\f99f8483534b48f38b81d074164cd52b_home.png +2025-10-19 20:05:32,819 [INFO] Record deleted: ID=7 +2025-10-19 20:05:32,819 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:32] "DELETE /file/7 HTTP/1.1" 200 - +2025-10-19 20:05:41,310 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:41] "DELETE /upload HTTP/1.1" 405 - +2025-10-19 20:05:48,668 [INFO] File saved: uploads/34a3629492334a23bde2363ef20d021f\023908a96e8e431e9783fdd029576bec_home.png +2025-10-19 20:05:48,669 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:48] "POST /upload HTTP/1.1" 201 - +2025-10-19 20:05:56,620 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:56] "GET /34a3629492334a23bde2363ef20d021f//023908a96e8e431e9783fdd029576bec_home.png HTTP/1.1" 404 - +2025-10-19 20:06:07,231 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 20:06:07,231 [INFO] Press CTRL+C to quit +2025-10-19 20:06:07,234 [INFO] * Restarting with stat +2025-10-19 20:06:08,127 [WARNING] * Debugger is active! +2025-10-19 20:06:08,130 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:06:10,318 [INFO] File saved: uploads/abced3fd088f4c96bda6a8278e55d4a0\3d6917a734fc4a45b4d5444b702b6528_home.png +2025-10-19 20:06:10,320 [INFO] 127.0.0.1 - - [19/Oct/2025 20:06:10] "POST /upload HTTP/1.1" 201 - +2025-10-19 20:07:12,046 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:07:12,171 [INFO] * Restarting with stat +2025-10-19 20:07:13,149 [WARNING] * Debugger is active! +2025-10-19 20:07:13,153 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:07:16,326 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 20:07:16,326 [INFO] Press CTRL+C to quit +2025-10-19 20:07:16,328 [INFO] * Restarting with stat +2025-10-19 20:07:17,210 [WARNING] * Debugger is active! +2025-10-19 20:07:17,214 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:07:18,606 [INFO] File saved: uploads/fd1a5222de044c6ca61652489ce3707d\edcaf93a85f84704b9907996a93dd7c2_home.png +2025-10-19 20:07:18,610 [INFO] 127.0.0.1 - - [19/Oct/2025 20:07:18] "POST /upload HTTP/1.1" 201 - +2025-10-19 20:07:27,375 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:07:27,486 [INFO] * Restarting with stat +2025-10-19 20:07:28,397 [WARNING] * Debugger is active! +2025-10-19 20:07:28,400 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:07:30,449 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading +2025-10-19 20:07:30,565 [INFO] * Restarting with stat +2025-10-19 20:07:51,592 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 20:07:51,592 [INFO] Press CTRL+C to quit +2025-10-19 20:07:51,594 [INFO] * Restarting with stat +2025-10-19 20:07:52,463 [WARNING] * Debugger is active! +2025-10-19 20:07:52,466 [INFO] * Debugger PIN: 275-000-591 +2025-10-19 20:07:56,459 [INFO] File saved: uploads/5bca4fc65331487dbb472081892bfcf2\7a76d016075e4c15ba2c2c423b8bd96b_home.png +2025-10-19 20:07:56,460 [INFO] 127.0.0.1 - - [19/Oct/2025 20:07:56] "POST /upload HTTP/1.1" 201 - +2025-10-19 20:17:43,608 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-19 20:17:43,608 [INFO] Press CTRL+C to quit +2025-10-19 20:17:43,611 [INFO] * Restarting with stat +2025-10-19 20:17:44,458 [WARNING] * Debugger is active! +2025-10-19 20:17:44,461 [INFO] * Debugger PIN: 664-018-108 +2025-10-28 15:30:41,313 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 15:30:41,315 [INFO] Press CTRL+C to quit +2025-10-28 15:31:30,449 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 15:31:30,449 [INFO] Press CTRL+C to quit +2025-10-28 15:31:30,452 [INFO] * Restarting with stat +2025-10-28 15:31:31,756 [WARNING] * Debugger is active! +2025-10-28 15:31:31,762 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 15:31:49,617 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 15:31:49,618 [INFO] Press CTRL+C to quit +2025-10-28 15:31:49,621 [INFO] * Restarting with stat +2025-10-28 15:31:50,943 [WARNING] * Debugger is active! +2025-10-28 15:31:50,949 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 15:33:05,749 [INFO] 127.0.0.1 - - [28/Oct/2025 15:33:05] "GET /file/7 HTTP/1.1" 404 - +2025-10-28 15:33:12,544 [INFO] 127.0.0.1 - - [28/Oct/2025 15:33:12] "GET /file/1 HTTP/1.1" 200 - +2025-10-28 15:33:53,443 [INFO] File saved: uploads/eba7b26958754a9da5ee81f801b13b2f\18a437db2c3b4296ad5113e6d797632a_webcam-toy-photo31.jpg +2025-10-28 15:33:53,448 [INFO] 127.0.0.1 - - [28/Oct/2025 15:33:53] "POST /upload HTTP/1.1" 201 - +2025-10-28 15:34:17,200 [INFO] File saved: uploads/cac33a3b2ac64a3b886262f1f5bd700d\914771a025cc4e4a9911f291c7076d84_webcam-toy-photo11.jpg +2025-10-28 15:34:17,203 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:17] "POST /upload HTTP/1.1" 201 - +2025-10-28 15:34:29,650 [INFO] File deleted from storage: uploads/eba7b26958754a9da5ee81f801b13b2f\18a437db2c3b4296ad5113e6d797632a_webcam-toy-photo31.jpg +2025-10-28 15:34:29,668 [INFO] Record deleted: ID=12 +2025-10-28 15:34:29,669 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:29] "DELETE /file/12 HTTP/1.1" 200 - +2025-10-28 15:34:42,637 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:42] "GET /file/13 HTTP/1.1" 200 - +2025-10-28 15:34:52,931 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:52] "GET /file/14 HTTP/1.1" 404 - +2025-10-28 15:34:58,317 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:58] "GET /file/12 HTTP/1.1" 404 - +2025-10-28 15:35:01,533 [INFO] 127.0.0.1 - - [28/Oct/2025 15:35:01] "GET /file/13 HTTP/1.1" 200 - +2025-10-28 15:35:41,989 [INFO] File saved: uploads\1aa3071adca34d88bb43f57241012440_webcam-toy-photo31.jpg +2025-10-28 15:35:42,001 [INFO] File updated: ID=13 +2025-10-28 15:35:42,005 [INFO] 127.0.0.1 - - [28/Oct/2025 15:35:42] "PUT /file/13 HTTP/1.1" 200 - +2025-10-28 15:35:52,039 [INFO] 127.0.0.1 - - [28/Oct/2025 15:35:52] "GET /file/13 HTTP/1.1" 200 - +2025-10-28 15:54:40,712 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 15:54:40,712 [INFO] Press CTRL+C to quit +2025-10-28 15:54:40,716 [INFO] * Restarting with stat +2025-10-28 15:54:42,113 [WARNING] * Debugger is active! +2025-10-28 15:54:42,118 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 15:57:26,880 [INFO] 127.0.0.1 - - [28/Oct/2025 15:57:26] "POST /auth/login HTTP/1.1" 200 - +2025-10-28 16:00:21,292 [INFO] File saved: uploads/0ed4567895114472b0502088500d92db\99be833dd2804f2c96089138ef3da9d0_webcam-toy-photo2.jpg +2025-10-28 16:00:21,305 [INFO] 127.0.0.1 - - [28/Oct/2025 16:00:21] "POST /upload HTTP/1.1" 201 - +2025-10-28 18:11:27,903 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading +2025-10-28 18:11:28,141 [INFO] * Restarting with stat +2025-10-28 18:11:30,673 [WARNING] * Debugger is active! +2025-10-28 18:11:30,677 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 18:11:37,796 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading +2025-10-28 18:11:37,929 [INFO] * Restarting with stat +2025-10-28 18:11:38,899 [WARNING] * Debugger is active! +2025-10-28 18:11:38,902 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 18:12:40,709 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading +2025-10-28 18:12:40,844 [INFO] * Restarting with stat +2025-10-28 18:16:03,169 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 18:16:03,169 [INFO] Press CTRL+C to quit +2025-10-28 18:16:03,171 [INFO] * Restarting with stat +2025-10-28 18:16:04,051 [WARNING] * Debugger is active! +2025-10-28 18:16:04,054 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 18:16:40,772 [INFO] 127.0.0.1 - - [28/Oct/2025 18:16:40] "POST /auth HTTP/1.1" 404 - +2025-10-28 18:17:25,828 [INFO] 127.0.0.1 - - [28/Oct/2025 18:17:25] "GET /auth HTTP/1.1" 404 - +2025-10-28 18:19:10,012 [INFO] Login attempt by user: admin +2025-10-28 18:19:10,012 [INFO] Login successful for user: admin +2025-10-28 18:19:10,012 [INFO] 127.0.0.1 - - [28/Oct/2025 18:19:10] "POST /auth/login HTTP/1.1" 200 - +2025-10-28 18:20:12,639 [INFO] File saved: uploads/162543f9b5f24026b7eb575cdcbbb345\b709aaee920045aab4926fb294291e43_webcam-toy-photo18.jpg +2025-10-28 18:20:12,645 [INFO] 127.0.0.1 - - [28/Oct/2025 18:20:12] "POST /upload HTTP/1.1" 201 - +2025-10-28 18:20:22,173 [INFO] File saved: uploads/e421625a4b844a478beb3c188e7f1130\d1925001e8e348d4a5cc94518dabaebd_webcam-toy-photo21.jpg +2025-10-28 18:20:22,176 [INFO] 127.0.0.1 - - [28/Oct/2025 18:20:22] "POST /upload HTTP/1.1" 201 - +2025-10-28 18:21:00,364 [INFO] File deleted from storage: uploads/162543f9b5f24026b7eb575cdcbbb345\b709aaee920045aab4926fb294291e43_webcam-toy-photo18.jpg +2025-10-28 18:21:00,381 [INFO] Record deleted: ID=16 +2025-10-28 18:21:00,382 [INFO] 127.0.0.1 - - [28/Oct/2025 18:21:00] "DELETE /file/16 HTTP/1.1" 200 - +2025-10-28 18:21:22,571 [INFO] File saved: uploads\1e465e9fba3146d197acb946336cf830_webcam-toy-photo27.jpg +2025-10-28 18:21:22,580 [INFO] File updated: ID=17 +2025-10-28 18:21:22,581 [INFO] 127.0.0.1 - - [28/Oct/2025 18:21:22] "PUT /file/17 HTTP/1.1" 200 - +2025-10-28 18:43:24,568 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 18:43:24,568 [INFO] Press CTRL+C to quit +2025-10-28 18:43:24,570 [INFO] * Restarting with stat +2025-10-28 18:43:25,517 [WARNING] * Debugger is active! +2025-10-28 18:43:25,521 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 18:43:45,529 [INFO] 127.0.0.1 - - [28/Oct/2025 18:43:45] "PUT /auth/login HTTP/1.1" 405 - +2025-10-28 18:43:57,682 [INFO] 127.0.0.1 - - [28/Oct/2025 18:43:57] "PUT /auth/login HTTP/1.1" 405 - +2025-10-28 18:45:15,003 [INFO] Login attempt by user: stephen +2025-10-28 18:45:15,004 [INFO] Login successful for user: stephen +2025-10-28 18:45:15,004 [INFO] 127.0.0.1 - - [28/Oct/2025 18:45:15] "POST /auth/login HTTP/1.1" 200 - +2025-10-28 18:45:21,698 [INFO] Login attempt by user: admin +2025-10-28 18:45:21,698 [WARNING] Login failed for user: admin +2025-10-28 18:45:21,698 [INFO] 127.0.0.1 - - [28/Oct/2025 18:45:21] "POST /auth/login HTTP/1.1" 401 - +2025-10-28 18:46:13,803 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. + * Running on http://127.0.0.1:5000 +2025-10-28 18:46:13,803 [INFO] Press CTRL+C to quit +2025-10-28 18:46:13,805 [INFO] * Restarting with stat +2025-10-28 18:46:14,740 [WARNING] * Debugger is active! +2025-10-28 18:46:14,743 [INFO] * Debugger PIN: 125-910-043 +2025-10-28 18:46:27,402 [INFO] Login attempt by user: admin +2025-10-28 18:46:27,402 [WARNING] Login failed for user: admin +2025-10-28 18:46:27,403 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:27] "POST /auth/login HTTP/1.1" 401 - +2025-10-28 18:46:35,985 [INFO] Login attempt by user: stephen +2025-10-28 18:46:35,985 [WARNING] Login failed for user: stephen +2025-10-28 18:46:35,985 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:35] "POST /auth/login HTTP/1.1" 401 - +2025-10-28 18:46:42,635 [INFO] Login attempt by user: stephen +2025-10-28 18:46:42,635 [INFO] Login successful for user: stephen +2025-10-28 18:46:42,635 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:42] "POST /auth/login HTTP/1.1" 200 - +2025-10-28 18:46:55,504 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:55] "GET /file/17 HTTP/1.1" 200 - +2025-10-28 18:49:12,537 [INFO] File saved: uploads/e0ae8438c12a472199a2fa201718072c\39642bd3f16749ee92ca236fa2404e8d_webcam-toy-photo25.jpg +2025-10-28 18:49:12,540 [INFO] 127.0.0.1 - - [28/Oct/2025 18:49:12] "POST /upload HTTP/1.1" 201 - +2025-10-28 18:49:56,466 [INFO] 127.0.0.1 - - [28/Oct/2025 18:49:56] "PUT /file17 HTTP/1.1" 404 - +2025-10-28 18:50:11,882 [INFO] File saved: uploads\04ce57efd6214ad7bf02a6b11c164cf2_webcam-toy-photo25.jpg +2025-10-28 18:50:11,893 [INFO] File updated: ID=17 +2025-10-28 18:50:11,896 [INFO] 127.0.0.1 - - [28/Oct/2025 18:50:11] "PUT /file/17 HTTP/1.1" 200 - +2025-10-28 18:50:17,542 [INFO] File deleted from storage: uploads\04ce57efd6214ad7bf02a6b11c164cf2_webcam-toy-photo25.jpg +2025-10-28 18:50:17,550 [INFO] Record deleted: ID=17 +2025-10-28 18:50:17,551 [INFO] 127.0.0.1 - - [28/Oct/2025 18:50:17] "DELETE /file/17 HTTP/1.1" 200 - +2025-10-28 18:50:43,886 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading +2025-10-28 18:50:44,026 [INFO] * Restarting with stat +2025-10-28 18:50:46,327 [WARNING] * Debugger is active! +2025-10-28 18:50:46,337 [INFO] * Debugger PIN: 125-910-043 diff --git a/models/__pycache__/uploaded_file.cpython-313.pyc b/models/__pycache__/uploaded_file.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c3b3279514e19edc59e0f573f9f8fbbf9608b6f1 GIT binary patch literal 829 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 literal 0 HcmV?d00001 diff --git a/uploads/1aa3071adca34d88bb43f57241012440_webcam-toy-photo31.jpg b/uploads/1aa3071adca34d88bb43f57241012440_webcam-toy-photo31.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4da7bfd5443aaea21d4a5f2fb94bb3e20d0b928 GIT binary patch literal 120910 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 literal 0 HcmV?d00001 diff --git a/uploads/34a3629492334a23bde2363ef20d021f/023908a96e8e431e9783fdd029576bec_home.png b/uploads/34a3629492334a23bde2363ef20d021f/023908a96e8e431e9783fdd029576bec_home.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b446ae3b145d0087ab07b629fef0f6e396a015 GIT binary patch literal 419 zcmV;U0bKrxP)!a8GCg=7%U;(QB8s>t2F~1@C0MB;Vu&VW z(=cbxz-e1zhzMdS)9=`0-=7K{GK7qXR*QpucrGC_gap|o4uJ6BKdt2qS%&mPr~u%j zlTbWEmRL>}M>go7*U_!vza}iHye!Z|_bzA+k3#?2RGAzPEp+c<))4TbFH&W4phI>- zo?$l(E)dyi-rc#bi(-u7M#{XZrRq#cuTmDZhCI>QNYjHG*l%kMd6k~h$pbyC*6`|y z2+Q4wMrlNb#UiO>+`ZG#{aqtNPN99ux$ghq!a8GCg=7%U;(QB8s>t2F~1@C0MB;Vu&VW z(=cbxz-e1zhzMdS)9=`0-=7K{GK7qXR*QpucrGC_gap|o4uJ6BKdt2qS%&mPr~u%j zlTbWEmRL>}M>go7*U_!vza}iHye!Z|_bzA+k3#?2RGAzPEp+c<))4TbFH&W4phI>- zo?$l(E)dyi-rc#bi(-u7M#{XZrRq#cuTmDZhCI>QNYjHG*l%kMd6k~h$pbyC*6`|y z2+Q4wMrlNb#UiO>+`ZG#{aqtNPN99ux$ghqHic-5-m~L}7`(&sDteLL+^;wJf!uR4lT+|Ms+zE}MDT*z(^5Hw zPP_1IZ}zLay=L;MatgejqTc09_mtYam8Dz6f4p1&YRAlmhno+0C~S5-Fe8y|v4RkX z%57tXl{yN&mv?N)=dKWJO!l*TX?#vcVZXY@lR%9tOian2Ki-j8n)06A)n{{-!#6>V z`szOcb55iM$VV`LGps1e(qMC$>%GbP0l+XkK(nFLL literal 0 HcmV?d00001 diff --git a/uploads/8cd3476685c44d888f5416ef9ffe2a09_shirt.png b/uploads/8cd3476685c44d888f5416ef9ffe2a09_shirt.png new file mode 100644 index 0000000000000000000000000000000000000000..9a5ff54af80db11e1a8ee5d4098283053359c56b GIT binary patch literal 339 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

  • H=QCocM!w;s1OyLI4Epm(PmZ_P!j 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 literal 0 HcmV?d00001 diff --git a/uploads/fb8abe48d4a44cccb63e7161798039af/e17544ef18b148e7920ab9def6dd1bbc_logout.png b/uploads/fb8abe48d4a44cccb63e7161798039af/e17544ef18b148e7920ab9def6dd1bbc_logout.png new file mode 100644 index 0000000000000000000000000000000000000000..245f55b998a78369004339f1f711a1578ed4e09c GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^G9b*s1|*Ak?@wW1VASz+aSW+od^7bn?;!&oSMJFN zR1T;aaON=ifZ=xqtyVR@jVZrepGJpwPM$pda;EvG&+Kjb6|X0qbJ6oWYWJJXX65eo z65Wi|M%%A89C%T%^!kzoy{GP^F_ypTRAniHic-5-m~L}7`(&sDteLL+^;wJf!uR4lT+|Ms+zE}MDT*z(^5Hw zPP_1IZ}zLay=L;MatgejqTc09_mtYam8Dz6f4p1&YRAlmhno+0C~S5-Fe8y|v4RkX z%57tXl{yN&mv?N)=dKWJO!l*TX?#vcVZXY@lR%9tOian2Ki-j8n)06A)n{{-!#6>V z`szOcb55iM$VV`LGps1e(qMC$>%GbP0l+XkK(nFLL literal 0 HcmV?d00001 diff --git a/uploads/fd1a5222de044c6ca61652489ce3707d/edcaf93a85f84704b9907996a93dd7c2_home.png b/uploads/fd1a5222de044c6ca61652489ce3707d/edcaf93a85f84704b9907996a93dd7c2_home.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b446ae3b145d0087ab07b629fef0f6e396a015 GIT binary patch literal 419 zcmV;U0bKrxP)!a8GCg=7%U;(QB8s>t2F~1@C0MB;Vu&VW z(=cbxz-e1zhzMdS)9=`0-=7K{GK7qXR*QpucrGC_gap|o4uJ6BKdt2qS%&mPr~u%j zlTbWEmRL>}M>go7*U_!vza}iHye!Z|_bzA+k3#?2RGAzPEp+c<))4TbFH&W4phI>- zo?$l(E)dyi-rc#bi(-u7M#{XZrRq#cuTmDZhCI>QNYjHG*l%kMd6k~h$pbyC*6`|y z2+Q4wMrlNb#UiO>+`ZG#{aqtNPN99ux$ghq Date: Sat, 15 Nov 2025 21:15:33 +0800 Subject: [PATCH 2/3] login authentication --- .env | 9 - .gitignore | 11 + __pycache__/app.cpython-313.pyc | Bin 1283 -> 0 bytes __pycache__/config.cpython-313.pyc | Bin 1111 -> 0 bytes __pycache__/extensions.cpython-313.pyc | Bin 248 -> 0 bytes app.py | 4 +- config.py | 1 + .../auth_controller.cpython-313.pyc | Bin 1802 -> 0 bytes .../file_controller.cpython-313.pyc | Bin 4065 -> 0 bytes controllers/auth_controller.py | 21 +- logs/app.log | 346 ------------------ .../__pycache__/uploaded_file.cpython-313.pyc | Bin 829 -> 0 bytes .../__pycache__/file_service.cpython-313.pyc | Bin 3585 -> 0 bytes 13 files changed, 28 insertions(+), 364 deletions(-) delete mode 100644 .env create mode 100644 .gitignore delete mode 100644 __pycache__/app.cpython-313.pyc delete mode 100644 __pycache__/config.cpython-313.pyc delete mode 100644 __pycache__/extensions.cpython-313.pyc delete mode 100644 controllers/__pycache__/auth_controller.cpython-313.pyc delete mode 100644 controllers/__pycache__/file_controller.cpython-313.pyc delete mode 100644 logs/app.log delete mode 100644 models/__pycache__/uploaded_file.cpython-313.pyc delete mode 100644 services/__pycache__/file_service.cpython-313.pyc diff --git a/.env b/.env deleted file mode 100644 index 917e1cf..0000000 --- a/.env +++ /dev/null @@ -1,9 +0,0 @@ -FLASK_ENV=development -UPLOAD_FOLDER=uploads - -DB_USER=root -DB_PASSWORD=geraldyncataluna -DB_HOST=localhost -DB_PORT=3306 -DB_NAME=flask_uploads_db - diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6e3315a --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ + +.env + +__pycache__/ +*.pyc + +logs/ + +tempCodeRunnerFile.py + +venv/ diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc deleted file mode 100644 index 897f5697a3ea38c5e378c6fbcf9f1a21eedfe76e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1283 zcmaJ<&2Jl35TE^CubtF1YSI=&OsK(@l7d2WNL9EbjlphX$=gauELyGY=j}G@UF+>S zZ6gj%L2`O(I3V~F%HPo&T$&IR>s38*;ue~sN}QNyXSF#X-mZ3j^Yxo~GkZKSVE~@; zFR$^a**KTt1X)Uwg)CZQIZ+ENag?MPJ*d_B4Xw{X-0y~jA<;7r;@Fmspe@OYh)VlC;n7g`BOK@G>WMwK}#n< zgwY&6NbIScgCquLFYspx_r(up=w|NfmjF&4cn9UN{qz@SFtIEYz!hBKJ(!2miL;G6 z>)>o=k);6Z#ZRSK=m_P>Ke>OsEHGuwccKjh>Pi@NJQtDJZZhLWy<)G`Z>(N#+(MI1 z?t4*ehZ|e^M^3MI*$>^V4~r!yYQs@Dqv^^TJY}1Ln z)_4F+{$hQt&fdlXF%5m6(CG50$J9WxyvSKfTpS9acGK^Z9`%BlWs%qBf!Glz+YbV(9*|Y)Z4zrWZ1uY&h$Cwa=dy6S=Z8*v z;d*jE>+ZdH!Rg0$FvM#)F<#l?`{+Gj`n7J@?)&63I)_DY?GPQ}=SUI+;RR$~z~oDq zc?lQr{YwQcxAXb8;X`Q%(!kg@4q$W1ZbS}Vo!z#v7o240y*KZB^WM&zISYjXfQ}z; zfc%jG;Fo1IhpVBSO;KeRKmeIJfGz2mV`d%LF$@Gp7)&&+I0dx)m=$dfU7qPR% zMBFEqF&|+_P|?I9Dr$zLZWbD0wg@$hvvyjI*D{i+q+N%styT z!^0f$D_TKRRyEzQ*B1C}j=09hZ{8+MeTR8A6DOT3il{$A<#nr3Iw~$FNGQLM=2;FU z_%ugzcpExLq$lB!X+ zL(_?;Bw2TX^uzmUHXWOZXOSn-cQ6gmob)VNofXs=%uf zhviL4;Iu+{O;QbANXUvblDAJ|B>se!s>_-xJbY}7h-G7yB65Kyp-Tn3L!;{^wwh#5 zmZHC=(@XHv)3=TH%pLRXK&?Mo?YmK7E6a!Sf&3v<8%$$%D!FOGlnsG+Dhq^NINs{u22dspcM3(MD|+S5x|_lW~`sQzvj=I`x68 z(W)za+|#$0+DYwe6|>eexs^HY>ff3@ZtHv=$CsP6MO=80>cmrji`dz8*e6uy!WQ7W nQ*Y;8e1)3UbJMLrnwDX{0snU}^c4hOg#NgEOxJHfCp-2p4Wkh4 diff --git a/__pycache__/extensions.cpython-313.pyc b/__pycache__/extensions.cpython-313.pyc deleted file mode 100644 index 9758ed1a287e846915d3a073e4743eed0f24b66c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 248 zcmey&%ge<81kZPV$?yl#k3k$5V1hC}%K;fv8G;#t8NC_27>gJc7-ATe7)+tkMNH{T zn#?ajJWa-1T)}}pjycI0skxPYn#{KZ(sB}uv*U{ka}ptfMa)2Tx0q6rRx*4BX}RU$ zY!wq)oLW>IQa+!xF(p2? zEIB5%q9ir1I5R)5Sg)Y+7Kcr4eoARhs$CH$&|pR&F6IXkAD9^#8J{w!KV;=^j%j2n IVh4%=09PGDZU6uP diff --git a/app.py b/app.py index 4fd3f38..f64be57 100644 --- a/app.py +++ b/app.py @@ -3,13 +3,13 @@ from flask import Flask from config import Config from extensions import db - +from flask_jwt_extended import JWTManager app = Flask(__name__) app.config.from_object(Config) db.init_app(app) - +jwt = JWTManager(app) os.makedirs(app.config['LOG_FOLDER'], exist_ok=True) logging.basicConfig( diff --git a/config.py b/config.py index 10c3d02..a5b7a4d 100644 --- a/config.py +++ b/config.py @@ -10,4 +10,5 @@ class Config: SQLALCHEMY_TRACK_MODIFICATIONS = False UPLOAD_FOLDER = os.getenv('UPLOAD_FOLDER', 'uploads') LOG_FOLDER = 'logs' + JWT_SECRET_KEY = os.getenv("JWT_SECRET_KEY") DEBUG = True \ No newline at end of file diff --git a/controllers/__pycache__/auth_controller.cpython-313.pyc b/controllers/__pycache__/auth_controller.cpython-313.pyc deleted file mode 100644 index 4c1742eda07f72a611895bc5264ea9d3234d02de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1802 zcmb7EO-vg{6rNqLy=xo1A*9gqmjxP9w*p$Fw8aepC;S+PK;)_0C|I%*u-z z;V-VYnu6>E0PEDVz7j5+u7I2ge;d;zAv47^NC~V5T|H!>=iPG+B;s6m$mzH!o5~Y18IE8X2y1c? zIYLP`j4d5!%e{?6vT34XiFocv)F>jA`x^?w%4CpXV_fbQMv1))$ofS zNl)Ccjr!X>%LB{WV_8+Q^+>c9i9~g)QNAH%hJ%;OQ z64?y;KqX0X)H{(>l3d?NEg>wc*&QvlrlEOEkWS6(8LLQs4I{NkdNQ6Ysk)pUU)VO0 zW+=Lr+T1e7=^sK&lngYrEe=Rsz znSUmB?{0s+y%(s7qm|gp+$kp>b3IkA=a}oSa{czu)Is6kp*=8n#6?ed@!MN9et5s| z!$fUtt}Xx7s&LgFnK>*RKD4FSk+4k5@Y|yw*u5Xt#E%X~ZE?mHW==0ueC_7pgTuHz zx^yJOnuX8Wy>m4&`t*h^F51H48M!bBcR1dhDjSb5?Lxiv_1-qx&eOJ&b~{2kO{XQD zcKAA!8zuY(weKUF#6<*OVpsk diff --git a/controllers/__pycache__/file_controller.cpython-313.pyc b/controllers/__pycache__/file_controller.cpython-313.pyc deleted file mode 100644 index d8f167f833e73656058de248c96ca686e998bc95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4065 zcmcgvUrZax8K2$t+Uvh-uz@6CVhE5J!k-k993)2q!HLd9B=yGCRYtO0dkwxCo6On> zES;LB52by%wCbsxbkZTUcS@x`^r2Ftwo(u7rR~#NFcjou|exDEBZU=($iZGao zu$YZ-n2T7jCBkDqNXFP%Ys7|a5djMkJGRq4Zq^ZTVkd1|V6F?hXq%sPV>isZH~ z@b;hR?KQlc8oXN;_)zl;@?Ifcvrp$r@-oimi<%9~4@hTlHGviI)d( z5~p}2BT-j<+-!B%a1r&Gef8RdM!7r_Z!&vcXH3lH*@kbh#n@=G=~J(v*I$1!Taqxu z)xOtGzPAg-Tg_1$N?wDntdmTMxg*^)# z%yUy*k5Ols40@G2i!w~eIj31D*5K9^CAlD%y>o>i=?Utvkkc=oz?Et4*!{crre+ei z@7S@++@#|ysFYGEn42l(LL4S%qp{hvW?4=a7hn7d9?KrXQO3A{CxRgnTZk7= zc2O|7JWSxFSyP34CcB_nN+no;Cw5HZ7Ufk;ZXJ_@)9e(sWNpnJUQNl%#cUz3*>Z)2 zg=~I7g2`oS)=VLnma!(7-=i_ILS7&UMf>KhiTRi!V`cu1jFY+aT7Lds zUY^0(6?uN9kSZ+!{gnAkE~$K*GB2U8l2}?v&BN;!aUqu@v*~NqJBF6mG^gQ8hVXgV zkYG~T1@j11Eh2wu&)M{D+k1g`0z1yWeczdl*VOalYWu{F@7gm-_1#omH~%5FzV+r0 z-rV>`MeJF(?EBB|`ui&WzRmAc{8v@qE6^z zvGHKX*S{|8i>-TY{d>)4emd}@fjxhRKL5aGIpsJ+7O%4^Ah)+_w|Ko(WU+fc|ICG4 zEr*EZFYOEBTkapaH$0mUH&beB|8rpg7Td7@e01~S&#tI#{X62oQ%My^J{Cs)RpnvE zKNS*~A9qg&(EC$Y!EOf}x4OCQ^CPzc+(&H;v_A^)V9UN?awfyqAplO$gUhBTHSSLM zLCOdYuuenB(IuwyOM*qT7HH^fYGTMFO`eG{7mR^42}=ZVv`CD^HV}rRVF~0;FEJ)s z3o2$G30@LEuG6^|Xbd{D@mg?+dh0XH7Ll_U`vp2Tyi43?dd6ymZ+JV~7;Dg(or3*= z)=)RlS(u{?EPHMf2ImXKV5U&Yr?WqSgC()uom3LZVlkOoB)~2^@5sfVK}$?_4mq$B zDvbwG!fP70AQyFlk_e1Di8)J5keDuFy1{@p>2i`yQ_kUD=v0VY0L5@0)S3V*Q3By1 z(hWc5dte9?YydW~eOK(Nh+Vs4Z$<3gT-XtZ)-8V#eFiPAs_n1r_{N`&s=i6pHMuXI z+VH>E`A+AriWTv?DqR13-|0VsTIc4}=BV0w{<(1BOHoU{;PKd$6aB^qX3OcA_HtV- zBhyZ9n`fZC?c~8~-2K=I_{_uMzK#B`lE~EY`#KY^iQ=(XrSf>0+y;~*Vg^V&PADbY zPz`&MV8~Vt)iv3wq5C*N1f1JnDqAi3`ylj{WXmz91C7W{U9pyNVI>QR4}~%&f?PgL ziJ)go=?1CFt%X=h72F1HFaAh;L8nMkWfCIfq&kI9!ozI}U)%Gy@A`Wy{@w$gBRar=4p@l}*f^pC9MJ*cf7gMjVbB3P*sWp5^cc4_ zJ~BPbZHE|WZx8ceHS0|HZumj?_^3~=gs>_O?9xj;nnMa?;2C1^G4UJHEOOGc7W3m+!3DO~WT=ZpixY3|XGI2BJ`i=huN8xn^JYI#Lk_1EG#S^jjJ-PE-=%BGu zJvXVg-PjRtet1q5!>SPekLdc}pE;u%E^;>68Z=vm1kh89K$ew zMd6Q87;FWFKShI|qTWxC=M&`oo5T0ywT;ys$Aw2WNVHh{_XFPztgmfe*}U*5pfUpo zte3fT$RYM(m9(mThKnlpJS{z4AU;S|zP&>#;uWnh&(9!3Lkzr*DvT#t&Gl L?lVDKm>}Ta#1A%h diff --git a/controllers/auth_controller.py b/controllers/auth_controller.py index 6961de3..4118861 100644 --- a/controllers/auth_controller.py +++ b/controllers/auth_controller.py @@ -1,10 +1,11 @@ -from flask import Blueprint, request, jsonify, current_app +from flask import Blueprint, request, jsonify, current_app +from flask_jwt_extended import create_access_token import logging auth_bp = Blueprint("auth", __name__, url_prefix="/auth") -VALID_USERNAME = "stephen" # AT VAUGHKET HENDE?! -VALID_PASSWORD = "shetkatalagaballabyu" +VALID_USERNAME = "stephen" +VALID_PASSWORD = "shetkatalagaballabyu" @auth_bp.route("/login", methods=["POST"]) def login(): @@ -19,8 +20,14 @@ def login(): current_app.logger.info(f"Login attempt by user: {username}") if username == VALID_USERNAME and password == VALID_PASSWORD: + + token = create_access_token(identity=username) + current_app.logger.info(f"Login successful for user: {username}") - return jsonify({"message": "Login successful!"}), 200 - else: - current_app.logger.warning(f"Login failed for user: {username}") - return jsonify({"error": "Invalid username or password"}), 401 + return jsonify({ + "message": "Login successful!", + "token": token + }), 200 + + current_app.logger.warning(f"Login failed for user: {username}") + return jsonify({"error": "Invalid username or password"}), 401 diff --git a/logs/app.log b/logs/app.log deleted file mode 100644 index ce17666..0000000 --- a/logs/app.log +++ /dev/null @@ -1,346 +0,0 @@ -2025-10-19 17:14:04,080 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 17:14:04,081 [INFO] Press CTRL+C to quit -2025-10-19 18:49:27,819 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:49:27,820 [INFO] Press CTRL+C to quit -2025-10-19 18:49:27,824 [INFO] * Restarting with stat -2025-10-19 18:49:29,021 [WARNING] * Debugger is active! -2025-10-19 18:49:29,034 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 18:51:01,519 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:51:01,520 [INFO] Press CTRL+C to quit -2025-10-19 18:51:01,523 [INFO] * Restarting with stat -2025-10-19 18:51:02,725 [WARNING] * Debugger is active! -2025-10-19 18:51:02,729 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 18:51:21,578 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:51:21,578 [INFO] Press CTRL+C to quit -2025-10-19 18:51:21,583 [INFO] * Restarting with stat -2025-10-19 18:51:22,852 [WARNING] * Debugger is active! -2025-10-19 18:51:22,857 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 18:51:30,160 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:51:30,160 [INFO] Press CTRL+C to quit -2025-10-19 18:52:11,891 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:52:11,891 [INFO] Press CTRL+C to quit -2025-10-19 18:52:11,895 [INFO] * Restarting with stat -2025-10-19 18:52:13,343 [WARNING] * Debugger is active! -2025-10-19 18:52:13,348 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 18:52:38,484 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:52:38,485 [INFO] Press CTRL+C to quit -2025-10-19 18:52:38,487 [INFO] * Restarting with stat -2025-10-19 18:52:39,773 [WARNING] * Debugger is active! -2025-10-19 18:52:39,778 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 18:58:43,339 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 18:58:43,339 [INFO] Press CTRL+C to quit -2025-10-19 19:03:42,886 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:03:42,887 [INFO] Press CTRL+C to quit -2025-10-19 19:04:15,700 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:04:15,701 [INFO] Press CTRL+C to quit -2025-10-19 19:04:40,712 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:04:40,713 [INFO] Press CTRL+C to quit -2025-10-19 19:05:58,559 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:05:58,560 [INFO] Press CTRL+C to quit -2025-10-19 19:08:14,485 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:08:14,485 [INFO] Press CTRL+C to quit -2025-10-19 19:08:14,488 [INFO] * Restarting with stat -2025-10-19 19:08:15,758 [WARNING] * Debugger is active! -2025-10-19 19:08:15,763 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:14:11,393 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:14:11,393 [INFO] Press CTRL+C to quit -2025-10-19 19:14:11,396 [INFO] * Restarting with stat -2025-10-19 19:14:12,485 [WARNING] * Debugger is active! -2025-10-19 19:14:12,489 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:15:09,458 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:15:09,459 [INFO] Press CTRL+C to quit -2025-10-19 19:15:09,461 [INFO] * Restarting with stat -2025-10-19 19:15:10,683 [WARNING] * Debugger is active! -2025-10-19 19:15:10,688 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:18:09,864 [INFO] 127.0.0.1 - - [19/Oct/2025 19:18:09] "POST /file HTTP/1.1" 404 - -2025-10-19 19:18:23,318 [INFO] 127.0.0.1 - - [19/Oct/2025 19:18:23] "POST / HTTP/1.1" 404 - -2025-10-19 19:18:26,453 [INFO] 127.0.0.1 - - [19/Oct/2025 19:18:26] "POST / HTTP/1.1" 404 - -2025-10-19 19:20:27,991 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:20:28,305 [INFO] * Restarting with stat -2025-10-19 19:20:41,596 [INFO] 127.0.0.1 - - [19/Oct/2025 19:20:41] "POST / HTTP/1.1" 404 - -2025-10-19 19:21:26,824 [INFO] 127.0.0.1 - - [19/Oct/2025 19:21:26] "POST / HTTP/1.1" 404 - -2025-10-19 19:22:34,957 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:22:34,958 [INFO] Press CTRL+C to quit -2025-10-19 19:22:34,962 [INFO] * Restarting with stat -2025-10-19 19:22:36,563 [WARNING] * Debugger is active! -2025-10-19 19:22:36,570 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:22:47,177 [INFO] 127.0.0.1 - - [19/Oct/2025 19:22:47] "POST / HTTP/1.1" 404 - -2025-10-19 19:23:09,100 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\app.py', reloading -2025-10-19 19:23:09,323 [INFO] * Restarting with stat -2025-10-19 19:23:10,841 [WARNING] * Debugger is active! -2025-10-19 19:23:10,847 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:23:20,032 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\app.py', reloading -2025-10-19 19:23:20,339 [INFO] * Restarting with stat -2025-10-19 19:23:21,761 [WARNING] * Debugger is active! -2025-10-19 19:23:21,767 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:26:05,813 [INFO] 127.0.0.1 - - [19/Oct/2025 19:26:05] "POST /upload HTTP/1.1" 400 - -2025-10-19 19:26:44,820 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:26:44,821 [INFO] Press CTRL+C to quit -2025-10-19 19:26:44,824 [INFO] * Restarting with stat -2025-10-19 19:26:46,101 [WARNING] * Debugger is active! -2025-10-19 19:26:46,105 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:27:38,822 [INFO] File saved: uploads/61ad8f02c32243aeb79b348b60874a32\23dd49f8fac34faeb7936938eac51eda_logout.png -2025-10-19 19:27:38,834 [INFO] 127.0.0.1 - - [19/Oct/2025 19:27:38] "POST /upload HTTP/1.1" 201 - -2025-10-19 19:27:46,625 [INFO] 127.0.0.1 - - [19/Oct/2025 19:27:46] "GET /61ad8f02c32243aeb79b348b60874a32//23dd49f8fac34faeb7936938eac51eda_logout.png HTTP/1.1" 404 - -2025-10-19 19:28:34,736 [INFO] File saved: uploads/03733994ac024fc9a2df45ee97133640\960a5fa3569c46a7915c1bd8861cd432_logout.png -2025-10-19 19:28:34,740 [INFO] 127.0.0.1 - - [19/Oct/2025 19:28:34] "POST /upload HTTP/1.1" 201 - -2025-10-19 19:28:41,574 [INFO] 127.0.0.1 - - [19/Oct/2025 19:28:41] "GET /03733994ac024fc9a2df45ee97133640//960a5fa3569c46a7915c1bd8861cd432_logout.png HTTP/1.1" 404 - -2025-10-19 19:28:41,669 [INFO] 127.0.0.1 - - [19/Oct/2025 19:28:41] "GET /favicon.ico HTTP/1.1" 404 - -2025-10-19 19:52:00,794 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:52:02,159 [INFO] * Restarting with stat -2025-10-19 19:52:08,810 [WARNING] * Debugger is active! -2025-10-19 19:52:08,822 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:52:11,045 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:52:11,427 [INFO] * Restarting with stat -2025-10-19 19:53:27,345 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:53:27,345 [INFO] Press CTRL+C to quit -2025-10-19 19:53:27,349 [INFO] * Restarting with stat -2025-10-19 19:53:29,299 [WARNING] * Debugger is active! -2025-10-19 19:53:29,316 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:53:33,080 [INFO] File saved: uploads/7f34ecc491344366b516fdb71f9d5e03\bf351005126b4c5ab95cac21afd23f4c_logout.png -2025-10-19 19:53:33,105 [INFO] 127.0.0.1 - - [19/Oct/2025 19:53:33] "POST /upload HTTP/1.1" 201 - -2025-10-19 19:53:44,549 [INFO] 127.0.0.1 - - [19/Oct/2025 19:53:44] "GET /7f34ecc491344366b516fdb71f9d5e03//bf351005126b4c5ab95cac21afd23f4c_logout.png HTTP/1.1" 404 - -2025-10-19 19:54:48,919 [INFO] 127.0.0.1 - - [19/Oct/2025 19:54:48] "POST /upload/logout.png HTTP/1.1" 404 - -2025-10-19 19:55:44,739 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:55:44,880 [INFO] * Restarting with stat -2025-10-19 19:55:45,881 [WARNING] * Debugger is active! -2025-10-19 19:55:45,887 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:56:02,361 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 19:56:02,361 [INFO] Press CTRL+C to quit -2025-10-19 19:56:02,363 [INFO] * Restarting with stat -2025-10-19 19:56:03,261 [WARNING] * Debugger is active! -2025-10-19 19:56:03,264 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:56:06,099 [INFO] File saved: uploads/47b05f9a7eb64804adab77ed4bb512b3\2eee6e4a9f404360b5868f2706f699a5_logout.png -2025-10-19 19:56:06,102 [INFO] 127.0.0.1 - - [19/Oct/2025 19:56:06] "POST /upload HTTP/1.1" 201 - -2025-10-19 19:56:25,888 [INFO] 127.0.0.1 - - [19/Oct/2025 19:56:25] "GET /47b05f9a7eb64804adab77ed4bb512b3//2eee6e4a9f404360b5868f2706f699a5_logout.png HTTP/1.1" 404 - -2025-10-19 19:56:29,790 [INFO] 127.0.0.1 - - [19/Oct/2025 19:56:29] "POST /upload/2eee6e4a9f404360b5868f2706f699a5_logout.png HTTP/1.1" 404 - -2025-10-19 19:57:01,892 [INFO] File saved: uploads/fb8abe48d4a44cccb63e7161798039af\e17544ef18b148e7920ab9def6dd1bbc_logout.png -2025-10-19 19:57:01,895 [INFO] 127.0.0.1 - - [19/Oct/2025 19:57:01] "POST /upload HTTP/1.1" 201 - -2025-10-19 19:57:34,816 [INFO] 127.0.0.1 - - [19/Oct/2025 19:57:34] "POST /file/1 HTTP/1.1" 405 - -2025-10-19 19:57:39,231 [INFO] 127.0.0.1 - - [19/Oct/2025 19:57:39] "GET /file/1 HTTP/1.1" 200 - -2025-10-19 19:58:21,406 [INFO] File saved: uploads\8cd3476685c44d888f5416ef9ffe2a09_shirt.png -2025-10-19 19:58:21,431 [INFO] File updated: ID=2 -2025-10-19 19:58:21,433 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:21] "PUT /file/2 HTTP/1.1" 200 - -2025-10-19 19:58:39,226 [INFO] File deleted from storage: uploads/7f34ecc491344366b516fdb71f9d5e03\bf351005126b4c5ab95cac21afd23f4c_logout.png -2025-10-19 19:58:39,238 [INFO] Record deleted: ID=3 -2025-10-19 19:58:39,239 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:39] "DELETE /file/3 HTTP/1.1" 200 - -2025-10-19 19:58:43,406 [INFO] File deleted from storage: uploads/47b05f9a7eb64804adab77ed4bb512b3\2eee6e4a9f404360b5868f2706f699a5_logout.png -2025-10-19 19:58:43,414 [INFO] Record deleted: ID=4 -2025-10-19 19:58:43,414 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:43] "DELETE /file/4 HTTP/1.1" 200 - -2025-10-19 19:58:49,817 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:49] "GET /file/1 HTTP/1.1" 200 - -2025-10-19 19:58:54,051 [INFO] 127.0.0.1 - - [19/Oct/2025 19:58:54] "GET /file/2 HTTP/1.1" 200 - -2025-10-19 19:59:28,814 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:59:28,934 [INFO] * Restarting with stat -2025-10-19 19:59:29,988 [WARNING] * Debugger is active! -2025-10-19 19:59:29,993 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:59:32,056 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:59:32,170 [INFO] * Restarting with stat -2025-10-19 19:59:33,033 [WARNING] * Debugger is active! -2025-10-19 19:59:33,036 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 19:59:36,092 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 19:59:36,228 [INFO] * Restarting with stat -2025-10-19 19:59:37,290 [WARNING] * Debugger is active! -2025-10-19 19:59:37,294 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:02:55,779 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:02:55,911 [INFO] * Restarting with stat -2025-10-19 20:04:08,226 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 20:04:08,226 [INFO] Press CTRL+C to quit -2025-10-19 20:04:08,228 [INFO] * Restarting with stat -2025-10-19 20:04:09,096 [WARNING] * Debugger is active! -2025-10-19 20:04:09,099 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:04:35,285 [INFO] File saved: uploads/5663ace1198144af81a2a3e9477f7caa\f99f8483534b48f38b81d074164cd52b_home.png -2025-10-19 20:04:35,287 [INFO] 127.0.0.1 - - [19/Oct/2025 20:04:35] "POST /upload HTTP/1.1" 201 - -2025-10-19 20:05:06,318 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:05:06,435 [INFO] * Restarting with stat -2025-10-19 20:05:07,337 [WARNING] * Debugger is active! -2025-10-19 20:05:07,340 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:05:10,398 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:05:10,519 [INFO] * Restarting with stat -2025-10-19 20:05:11,405 [WARNING] * Debugger is active! -2025-10-19 20:05:11,410 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:05:15,489 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:05:15,613 [INFO] * Restarting with stat -2025-10-19 20:05:16,519 [WARNING] * Debugger is active! -2025-10-19 20:05:16,522 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:05:32,807 [INFO] File deleted from storage: uploads/5663ace1198144af81a2a3e9477f7caa\f99f8483534b48f38b81d074164cd52b_home.png -2025-10-19 20:05:32,819 [INFO] Record deleted: ID=7 -2025-10-19 20:05:32,819 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:32] "DELETE /file/7 HTTP/1.1" 200 - -2025-10-19 20:05:41,310 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:41] "DELETE /upload HTTP/1.1" 405 - -2025-10-19 20:05:48,668 [INFO] File saved: uploads/34a3629492334a23bde2363ef20d021f\023908a96e8e431e9783fdd029576bec_home.png -2025-10-19 20:05:48,669 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:48] "POST /upload HTTP/1.1" 201 - -2025-10-19 20:05:56,620 [INFO] 127.0.0.1 - - [19/Oct/2025 20:05:56] "GET /34a3629492334a23bde2363ef20d021f//023908a96e8e431e9783fdd029576bec_home.png HTTP/1.1" 404 - -2025-10-19 20:06:07,231 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 20:06:07,231 [INFO] Press CTRL+C to quit -2025-10-19 20:06:07,234 [INFO] * Restarting with stat -2025-10-19 20:06:08,127 [WARNING] * Debugger is active! -2025-10-19 20:06:08,130 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:06:10,318 [INFO] File saved: uploads/abced3fd088f4c96bda6a8278e55d4a0\3d6917a734fc4a45b4d5444b702b6528_home.png -2025-10-19 20:06:10,320 [INFO] 127.0.0.1 - - [19/Oct/2025 20:06:10] "POST /upload HTTP/1.1" 201 - -2025-10-19 20:07:12,046 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:07:12,171 [INFO] * Restarting with stat -2025-10-19 20:07:13,149 [WARNING] * Debugger is active! -2025-10-19 20:07:13,153 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:07:16,326 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 20:07:16,326 [INFO] Press CTRL+C to quit -2025-10-19 20:07:16,328 [INFO] * Restarting with stat -2025-10-19 20:07:17,210 [WARNING] * Debugger is active! -2025-10-19 20:07:17,214 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:07:18,606 [INFO] File saved: uploads/fd1a5222de044c6ca61652489ce3707d\edcaf93a85f84704b9907996a93dd7c2_home.png -2025-10-19 20:07:18,610 [INFO] 127.0.0.1 - - [19/Oct/2025 20:07:18] "POST /upload HTTP/1.1" 201 - -2025-10-19 20:07:27,375 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:07:27,486 [INFO] * Restarting with stat -2025-10-19 20:07:28,397 [WARNING] * Debugger is active! -2025-10-19 20:07:28,400 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:07:30,449 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\flask_file_upload_mvc\\controllers\\file_controller.py', reloading -2025-10-19 20:07:30,565 [INFO] * Restarting with stat -2025-10-19 20:07:51,592 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 20:07:51,592 [INFO] Press CTRL+C to quit -2025-10-19 20:07:51,594 [INFO] * Restarting with stat -2025-10-19 20:07:52,463 [WARNING] * Debugger is active! -2025-10-19 20:07:52,466 [INFO] * Debugger PIN: 275-000-591 -2025-10-19 20:07:56,459 [INFO] File saved: uploads/5bca4fc65331487dbb472081892bfcf2\7a76d016075e4c15ba2c2c423b8bd96b_home.png -2025-10-19 20:07:56,460 [INFO] 127.0.0.1 - - [19/Oct/2025 20:07:56] "POST /upload HTTP/1.1" 201 - -2025-10-19 20:17:43,608 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-19 20:17:43,608 [INFO] Press CTRL+C to quit -2025-10-19 20:17:43,611 [INFO] * Restarting with stat -2025-10-19 20:17:44,458 [WARNING] * Debugger is active! -2025-10-19 20:17:44,461 [INFO] * Debugger PIN: 664-018-108 -2025-10-28 15:30:41,313 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 15:30:41,315 [INFO] Press CTRL+C to quit -2025-10-28 15:31:30,449 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 15:31:30,449 [INFO] Press CTRL+C to quit -2025-10-28 15:31:30,452 [INFO] * Restarting with stat -2025-10-28 15:31:31,756 [WARNING] * Debugger is active! -2025-10-28 15:31:31,762 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 15:31:49,617 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 15:31:49,618 [INFO] Press CTRL+C to quit -2025-10-28 15:31:49,621 [INFO] * Restarting with stat -2025-10-28 15:31:50,943 [WARNING] * Debugger is active! -2025-10-28 15:31:50,949 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 15:33:05,749 [INFO] 127.0.0.1 - - [28/Oct/2025 15:33:05] "GET /file/7 HTTP/1.1" 404 - -2025-10-28 15:33:12,544 [INFO] 127.0.0.1 - - [28/Oct/2025 15:33:12] "GET /file/1 HTTP/1.1" 200 - -2025-10-28 15:33:53,443 [INFO] File saved: uploads/eba7b26958754a9da5ee81f801b13b2f\18a437db2c3b4296ad5113e6d797632a_webcam-toy-photo31.jpg -2025-10-28 15:33:53,448 [INFO] 127.0.0.1 - - [28/Oct/2025 15:33:53] "POST /upload HTTP/1.1" 201 - -2025-10-28 15:34:17,200 [INFO] File saved: uploads/cac33a3b2ac64a3b886262f1f5bd700d\914771a025cc4e4a9911f291c7076d84_webcam-toy-photo11.jpg -2025-10-28 15:34:17,203 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:17] "POST /upload HTTP/1.1" 201 - -2025-10-28 15:34:29,650 [INFO] File deleted from storage: uploads/eba7b26958754a9da5ee81f801b13b2f\18a437db2c3b4296ad5113e6d797632a_webcam-toy-photo31.jpg -2025-10-28 15:34:29,668 [INFO] Record deleted: ID=12 -2025-10-28 15:34:29,669 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:29] "DELETE /file/12 HTTP/1.1" 200 - -2025-10-28 15:34:42,637 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:42] "GET /file/13 HTTP/1.1" 200 - -2025-10-28 15:34:52,931 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:52] "GET /file/14 HTTP/1.1" 404 - -2025-10-28 15:34:58,317 [INFO] 127.0.0.1 - - [28/Oct/2025 15:34:58] "GET /file/12 HTTP/1.1" 404 - -2025-10-28 15:35:01,533 [INFO] 127.0.0.1 - - [28/Oct/2025 15:35:01] "GET /file/13 HTTP/1.1" 200 - -2025-10-28 15:35:41,989 [INFO] File saved: uploads\1aa3071adca34d88bb43f57241012440_webcam-toy-photo31.jpg -2025-10-28 15:35:42,001 [INFO] File updated: ID=13 -2025-10-28 15:35:42,005 [INFO] 127.0.0.1 - - [28/Oct/2025 15:35:42] "PUT /file/13 HTTP/1.1" 200 - -2025-10-28 15:35:52,039 [INFO] 127.0.0.1 - - [28/Oct/2025 15:35:52] "GET /file/13 HTTP/1.1" 200 - -2025-10-28 15:54:40,712 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 15:54:40,712 [INFO] Press CTRL+C to quit -2025-10-28 15:54:40,716 [INFO] * Restarting with stat -2025-10-28 15:54:42,113 [WARNING] * Debugger is active! -2025-10-28 15:54:42,118 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 15:57:26,880 [INFO] 127.0.0.1 - - [28/Oct/2025 15:57:26] "POST /auth/login HTTP/1.1" 200 - -2025-10-28 16:00:21,292 [INFO] File saved: uploads/0ed4567895114472b0502088500d92db\99be833dd2804f2c96089138ef3da9d0_webcam-toy-photo2.jpg -2025-10-28 16:00:21,305 [INFO] 127.0.0.1 - - [28/Oct/2025 16:00:21] "POST /upload HTTP/1.1" 201 - -2025-10-28 18:11:27,903 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading -2025-10-28 18:11:28,141 [INFO] * Restarting with stat -2025-10-28 18:11:30,673 [WARNING] * Debugger is active! -2025-10-28 18:11:30,677 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 18:11:37,796 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading -2025-10-28 18:11:37,929 [INFO] * Restarting with stat -2025-10-28 18:11:38,899 [WARNING] * Debugger is active! -2025-10-28 18:11:38,902 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 18:12:40,709 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading -2025-10-28 18:12:40,844 [INFO] * Restarting with stat -2025-10-28 18:16:03,169 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 18:16:03,169 [INFO] Press CTRL+C to quit -2025-10-28 18:16:03,171 [INFO] * Restarting with stat -2025-10-28 18:16:04,051 [WARNING] * Debugger is active! -2025-10-28 18:16:04,054 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 18:16:40,772 [INFO] 127.0.0.1 - - [28/Oct/2025 18:16:40] "POST /auth HTTP/1.1" 404 - -2025-10-28 18:17:25,828 [INFO] 127.0.0.1 - - [28/Oct/2025 18:17:25] "GET /auth HTTP/1.1" 404 - -2025-10-28 18:19:10,012 [INFO] Login attempt by user: admin -2025-10-28 18:19:10,012 [INFO] Login successful for user: admin -2025-10-28 18:19:10,012 [INFO] 127.0.0.1 - - [28/Oct/2025 18:19:10] "POST /auth/login HTTP/1.1" 200 - -2025-10-28 18:20:12,639 [INFO] File saved: uploads/162543f9b5f24026b7eb575cdcbbb345\b709aaee920045aab4926fb294291e43_webcam-toy-photo18.jpg -2025-10-28 18:20:12,645 [INFO] 127.0.0.1 - - [28/Oct/2025 18:20:12] "POST /upload HTTP/1.1" 201 - -2025-10-28 18:20:22,173 [INFO] File saved: uploads/e421625a4b844a478beb3c188e7f1130\d1925001e8e348d4a5cc94518dabaebd_webcam-toy-photo21.jpg -2025-10-28 18:20:22,176 [INFO] 127.0.0.1 - - [28/Oct/2025 18:20:22] "POST /upload HTTP/1.1" 201 - -2025-10-28 18:21:00,364 [INFO] File deleted from storage: uploads/162543f9b5f24026b7eb575cdcbbb345\b709aaee920045aab4926fb294291e43_webcam-toy-photo18.jpg -2025-10-28 18:21:00,381 [INFO] Record deleted: ID=16 -2025-10-28 18:21:00,382 [INFO] 127.0.0.1 - - [28/Oct/2025 18:21:00] "DELETE /file/16 HTTP/1.1" 200 - -2025-10-28 18:21:22,571 [INFO] File saved: uploads\1e465e9fba3146d197acb946336cf830_webcam-toy-photo27.jpg -2025-10-28 18:21:22,580 [INFO] File updated: ID=17 -2025-10-28 18:21:22,581 [INFO] 127.0.0.1 - - [28/Oct/2025 18:21:22] "PUT /file/17 HTTP/1.1" 200 - -2025-10-28 18:43:24,568 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 18:43:24,568 [INFO] Press CTRL+C to quit -2025-10-28 18:43:24,570 [INFO] * Restarting with stat -2025-10-28 18:43:25,517 [WARNING] * Debugger is active! -2025-10-28 18:43:25,521 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 18:43:45,529 [INFO] 127.0.0.1 - - [28/Oct/2025 18:43:45] "PUT /auth/login HTTP/1.1" 405 - -2025-10-28 18:43:57,682 [INFO] 127.0.0.1 - - [28/Oct/2025 18:43:57] "PUT /auth/login HTTP/1.1" 405 - -2025-10-28 18:45:15,003 [INFO] Login attempt by user: stephen -2025-10-28 18:45:15,004 [INFO] Login successful for user: stephen -2025-10-28 18:45:15,004 [INFO] 127.0.0.1 - - [28/Oct/2025 18:45:15] "POST /auth/login HTTP/1.1" 200 - -2025-10-28 18:45:21,698 [INFO] Login attempt by user: admin -2025-10-28 18:45:21,698 [WARNING] Login failed for user: admin -2025-10-28 18:45:21,698 [INFO] 127.0.0.1 - - [28/Oct/2025 18:45:21] "POST /auth/login HTTP/1.1" 401 - -2025-10-28 18:46:13,803 [INFO] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. - * Running on http://127.0.0.1:5000 -2025-10-28 18:46:13,803 [INFO] Press CTRL+C to quit -2025-10-28 18:46:13,805 [INFO] * Restarting with stat -2025-10-28 18:46:14,740 [WARNING] * Debugger is active! -2025-10-28 18:46:14,743 [INFO] * Debugger PIN: 125-910-043 -2025-10-28 18:46:27,402 [INFO] Login attempt by user: admin -2025-10-28 18:46:27,402 [WARNING] Login failed for user: admin -2025-10-28 18:46:27,403 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:27] "POST /auth/login HTTP/1.1" 401 - -2025-10-28 18:46:35,985 [INFO] Login attempt by user: stephen -2025-10-28 18:46:35,985 [WARNING] Login failed for user: stephen -2025-10-28 18:46:35,985 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:35] "POST /auth/login HTTP/1.1" 401 - -2025-10-28 18:46:42,635 [INFO] Login attempt by user: stephen -2025-10-28 18:46:42,635 [INFO] Login successful for user: stephen -2025-10-28 18:46:42,635 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:42] "POST /auth/login HTTP/1.1" 200 - -2025-10-28 18:46:55,504 [INFO] 127.0.0.1 - - [28/Oct/2025 18:46:55] "GET /file/17 HTTP/1.1" 200 - -2025-10-28 18:49:12,537 [INFO] File saved: uploads/e0ae8438c12a472199a2fa201718072c\39642bd3f16749ee92ca236fa2404e8d_webcam-toy-photo25.jpg -2025-10-28 18:49:12,540 [INFO] 127.0.0.1 - - [28/Oct/2025 18:49:12] "POST /upload HTTP/1.1" 201 - -2025-10-28 18:49:56,466 [INFO] 127.0.0.1 - - [28/Oct/2025 18:49:56] "PUT /file17 HTTP/1.1" 404 - -2025-10-28 18:50:11,882 [INFO] File saved: uploads\04ce57efd6214ad7bf02a6b11c164cf2_webcam-toy-photo25.jpg -2025-10-28 18:50:11,893 [INFO] File updated: ID=17 -2025-10-28 18:50:11,896 [INFO] 127.0.0.1 - - [28/Oct/2025 18:50:11] "PUT /file/17 HTTP/1.1" 200 - -2025-10-28 18:50:17,542 [INFO] File deleted from storage: uploads\04ce57efd6214ad7bf02a6b11c164cf2_webcam-toy-photo25.jpg -2025-10-28 18:50:17,550 [INFO] Record deleted: ID=17 -2025-10-28 18:50:17,551 [INFO] 127.0.0.1 - - [28/Oct/2025 18:50:17] "DELETE /file/17 HTTP/1.1" 200 - -2025-10-28 18:50:43,886 [INFO] * Detected change in 'C:\\Users\\Geraldyn\\OneDrive\\Documents\\File-Upload-Extension\\jwt-authentication\\controllers\\auth_controller.py', reloading -2025-10-28 18:50:44,026 [INFO] * Restarting with stat -2025-10-28 18:50:46,327 [WARNING] * Debugger is active! -2025-10-28 18:50:46,337 [INFO] * Debugger PIN: 125-910-043 diff --git a/models/__pycache__/uploaded_file.cpython-313.pyc b/models/__pycache__/uploaded_file.cpython-313.pyc deleted file mode 100644 index c3b3279514e19edc59e0f573f9f8fbbf9608b6f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 829 zcmbtS&ubGw6rS15uT4@D3u@DYNWjBhil~7!hzC=mRjiP)w}oMoouo@=cjL@%ac>2| zLoc;LX=xAbQExr_M+muv0Z*QC6H?DQlWnXbc=5r`e(%lu@x5<%GB=k8(yn|u->5Qtc_R-_wB{D&xgJW6DDs(w8-s{YO>#?<%=MswS6KhSDe_ zI~f1nA&;`G(9fBMD6S7^U^~QVxs;5RNH3)Zg#mLto5gsO#N!__*pk7VA5m&|DESE1 z%%aF)?Aso}SmZJG0wq#Q2To?-BfgNs$YZ&v;4&5%cLz&izLc(P?CH_P{K(w0;Yn>Cut;dAf z)QNrTg-=$PyG5*(pc{F_54qK&Hs6$tWZP)EHuko_Awxg+454UrKjXg**jmr7C^PQ~!Ye0V~hit3eZ|FZ-0YD)gyOd+r@y+psLVs~*Ys zp8Iv~o#XR6_a1a~coE2}AAh+&=tk(Dq`}0|P!9e8%C{(v;#?GAyXG(lZAa8G&tpDJ z`uM0Y@5D~33sKj+8@s8_MMW%5qPTOF!=AXS7h!MQ4W$$pq4dQ)P1 z0bR+Iv65QJu7$s1weU&`~v*V6y4PV3^WY-w6bwsW; z+DWn(6|%z+itq~-H}Q(tjqsKW>&1MoWI6NNnu4w1t-E*cEzaIf%`Uw^yAYqdw-ASq z6WNFBWL4OTzdN&>&=ssN|6alAy!=pIzNad;aqfY#d|S(u3yNCOmsj#>eUo5f%?%4a%@+Ar0ar>TfUfev6V#uY!l$ z=aIP}*BayO-;gDQlEem;ILF2nF6m;uF_CGldJrYxzl!rW9AT6M8@8Ohr|L-h*vy!p zX{~w?v41vps@2OhKZ*+phaXMzD&KatARBMhu~18A+EOQrD^-9~cC-Fgoe093v5lRW}bkv46@$X5Yt-qAd0&Z0(iyI z+AZM(7TgOPAwqDt^suOeRjm|mMB)1+?3MMLUP@`J7MF@R@M*ATd1%-c)1~_xKDtm( zKTzbEaHNxltUby5K{{VnW-->V<x!=DG}YqMvTV6BTA={Ey7O8#n}Y-+Mvq)t%_eohvk-TMji0u^JOjMOMikeO$I7|hTFlkI8=I|wGlVH?;fMOHXrS4tf zX~&ZeQyMX(k-GnErRPf3KUonc>w;@L`bBg{+LQk-jMoF_cS}z{ee!8F@W$qydZ_2| zhkyR?FUw|V*a!_*&W!A(pNV@LmEhE7w0}j)Utg{Hh}zdq9x#lBw8v!> zR#xSW)3jYK%IOjTb?)}tky8{e%L!cIhZdhzN|>ZFO!5yVNy>6j^mR;54tJzd(11xo z1BHr$iAl!6B-!9$Qj9K(p|K&$wP3+k} zchNjIX`GuRtzNRu`=!?udknFsCid0Ez}LR7e3kCeXWh>{mC#g8oZb&~KMMRDK;oFq zS@T|nb2mBr<+pRjC7LfIdKWjN>^E}89T&y_#@W0717{~%0?wK@@Ns0(h(6ZB;VA$A znMyR@DsYCAi984Y*%4_Y^1q#*KT0IfC@kO!u(;7j5tNm@0tkjzuvQ4`B@L&u%1n5p zGe&s`H->FO1NH@Y8CGNR0zASeo+Nz)PCP}5CV(w6EthSO5(>BXG|aOk3TFdA^6m?V z?K@AhC)@PRzyP6H|0@(gU+}z5ju{*^f)M=G;N)iXC#mZ{(YI=LjT>F#ru&lNzQpJo zH-i_A;KiCa+T>{J`J3kS9b@`VWooVxny-n`LzmjlYE2kC)YH1=DxD*HYkRrM=_~&b zCMkLmzn#8F=Cu6qmS5da%Grr>DVJ|NJI)j|_)2}kevGq+Hlft=D(fXhC9e$K_8@gA zxlrs^4b6NcDPiK9?-AY6_MG?@m@Vg(ckoRZBK+%Dq4=5SIPL}Vyg<@RH1-m`@e=jC jK>pV*)HPE Date: Sat, 15 Nov 2025 21:25:51 +0800 Subject: [PATCH 3/3] login authentication --- app.py | 4 ++-- config.py | 1 - controllers/auth_controller.py | 21 +++++++-------------- 3 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app.py b/app.py index f64be57..4fd3f38 100644 --- a/app.py +++ b/app.py @@ -3,13 +3,13 @@ from flask import Flask from config import Config from extensions import db -from flask_jwt_extended import JWTManager + app = Flask(__name__) app.config.from_object(Config) db.init_app(app) -jwt = JWTManager(app) + os.makedirs(app.config['LOG_FOLDER'], exist_ok=True) logging.basicConfig( diff --git a/config.py b/config.py index a5b7a4d..10c3d02 100644 --- a/config.py +++ b/config.py @@ -10,5 +10,4 @@ class Config: SQLALCHEMY_TRACK_MODIFICATIONS = False UPLOAD_FOLDER = os.getenv('UPLOAD_FOLDER', 'uploads') LOG_FOLDER = 'logs' - JWT_SECRET_KEY = os.getenv("JWT_SECRET_KEY") DEBUG = True \ No newline at end of file diff --git a/controllers/auth_controller.py b/controllers/auth_controller.py index 4118861..6961de3 100644 --- a/controllers/auth_controller.py +++ b/controllers/auth_controller.py @@ -1,11 +1,10 @@ -from flask import Blueprint, request, jsonify, current_app -from flask_jwt_extended import create_access_token +from flask import Blueprint, request, jsonify, current_app import logging auth_bp = Blueprint("auth", __name__, url_prefix="/auth") -VALID_USERNAME = "stephen" -VALID_PASSWORD = "shetkatalagaballabyu" +VALID_USERNAME = "stephen" # AT VAUGHKET HENDE?! +VALID_PASSWORD = "shetkatalagaballabyu" @auth_bp.route("/login", methods=["POST"]) def login(): @@ -20,14 +19,8 @@ def login(): current_app.logger.info(f"Login attempt by user: {username}") if username == VALID_USERNAME and password == VALID_PASSWORD: - - token = create_access_token(identity=username) - current_app.logger.info(f"Login successful for user: {username}") - return jsonify({ - "message": "Login successful!", - "token": token - }), 200 - - current_app.logger.warning(f"Login failed for user: {username}") - return jsonify({"error": "Invalid username or password"}), 401 + return jsonify({"message": "Login successful!"}), 200 + else: + current_app.logger.warning(f"Login failed for user: {username}") + return jsonify({"error": "Invalid username or password"}), 401