from flask import Flask, render_template, jsonify, request  # request 추가
from supabase import create_client, Client

app = Flask(__name__)

# Supabase 설정
SUPABASE_URL = 'https://raocnzzvbefnergydvxr.supabase.co'
SUPABASE_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InJhb2Nuenp2YmVmbmVyZ3lkdnhyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MzMxMTk3NzEsImV4cCI6MjA0ODY5NTc3MX0.JAMpbfLZn7p6w0HPe4GDXEKI97_BZGePIaiUcnXdgx8'
supabase: Client = create_client(SUPABASE_URL, SUPABASE_KEY)

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/gallery')
def gallery():
    return render_template('gallery.html')

@app.route('/api/getMemories', methods=['GET'])
def get_memories():
    try:
        # 시작과 끝 범위를 요청 파라미터로 가져옴
        start = int(request.args.get('start', 0))  # 시작 인덱스 (기본값 0)
        end = start + 20 - 1  # 20개씩 가져오기

        print(f"Fetching memories from {start} to {end}")  # 요청 범위 로그 출력

        # Supabase에서 범위에 해당하는 데이터 가져오기
        response = supabase.table('memories').select("*").range(start, end).execute()

        print("Supabase response:", response)  # Supabase 반환값 출력

        if not response.data:  # 데이터가 없을 경우
            return jsonify({"success": False, "message": "No more data"}), 200

        return jsonify({"success": True, "memories": response.data}), 200

    except Exception as e:
        print("Error:", e)  # 오류 출력
        return jsonify({"success": False, "message": str(e)}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8082, debug=True)
