calendario y pendientes
This commit is contained in:
+69
-1
@@ -1,6 +1,6 @@
|
||||
import os
|
||||
import sqlite3
|
||||
from flask import Flask, send_from_directory
|
||||
from flask import Flask, send_from_directory, request, jsonify
|
||||
|
||||
app = Flask(__name__)
|
||||
DB_PATH = os.environ.get('DB_PATH', '/app/db/pendientes.db')
|
||||
@@ -22,11 +22,79 @@ def init_db():
|
||||
conn.close()
|
||||
|
||||
|
||||
def get_db():
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
conn.row_factory = sqlite3.Row
|
||||
return conn
|
||||
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
return send_from_directory('/app/frontend', 'index.html')
|
||||
|
||||
|
||||
@app.route('/<path:path>')
|
||||
def static_files(path):
|
||||
return send_from_directory('/app/frontend', path)
|
||||
|
||||
|
||||
@app.route('/api/pendientes', methods=['GET'])
|
||||
def listar_pendientes():
|
||||
conn = get_db()
|
||||
pendientes = conn.execute('SELECT * FROM pendientes ORDER BY fecha').fetchall()
|
||||
conn.close()
|
||||
return jsonify([dict(row) for row in pendientes])
|
||||
|
||||
|
||||
@app.route('/api/pendientes', methods=['POST'])
|
||||
def crear_pendiente():
|
||||
data = request.get_json() or {}
|
||||
descripcion = data.get('descripcion', '')
|
||||
fecha = data.get('fecha', '')
|
||||
estado = data.get('estado', 'pendiente')
|
||||
urgencia = data.get('urgencia', 'media')
|
||||
|
||||
conn = get_db()
|
||||
cursor = conn.execute(
|
||||
'INSERT INTO pendientes (descripcion, fecha, estado, urgencia) VALUES (?, ?, ?, ?)',
|
||||
(descripcion, fecha, estado, urgencia)
|
||||
)
|
||||
conn.commit()
|
||||
nuevo_id = cursor.lastrowid
|
||||
conn.close()
|
||||
|
||||
return jsonify({'id': nuevo_id}), 201
|
||||
|
||||
|
||||
@app.route('/api/pendientes/<int:id>', methods=['PUT'])
|
||||
def actualizar_pendiente(id):
|
||||
data = request.get_json() or {}
|
||||
descripcion = data.get('descripcion', '')
|
||||
fecha = data.get('fecha', '')
|
||||
estado = data.get('estado', '')
|
||||
urgencia = data.get('urgencia', '')
|
||||
|
||||
conn = get_db()
|
||||
conn.execute(
|
||||
'UPDATE pendientes SET descripcion = ?, fecha = ?, estado = ?, urgencia = ? WHERE id = ?',
|
||||
(descripcion, fecha, estado, urgencia, id)
|
||||
)
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
return jsonify({'ok': True})
|
||||
|
||||
|
||||
@app.route('/api/pendientes/<int:id>', methods=['DELETE'])
|
||||
def eliminar_pendiente(id):
|
||||
conn = get_db()
|
||||
conn.execute('DELETE FROM pendientes WHERE id = ?', (id,))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
|
||||
return jsonify({'ok': True})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
init_db()
|
||||
app.run(host='0.0.0.0', port=5000)
|
||||
|
||||
Reference in New Issue
Block a user