Skip to content
This repository was archived by the owner on Jul 14, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions src/api/.env.example

This file was deleted.

25 changes: 0 additions & 25 deletions src/api/.gitignore

This file was deleted.

Binary file removed src/api/.prettierignore
Binary file not shown.
6 changes: 0 additions & 6 deletions src/api/.prettierrc

This file was deleted.

948 changes: 0 additions & 948 deletions src/api/.yarn/releases/yarn-4.9.1.cjs

This file was deleted.

3 changes: 0 additions & 3 deletions src/api/.yarnrc.yml

This file was deleted.

3 changes: 0 additions & 3 deletions src/api/README.md

This file was deleted.

Binary file added src/api/__pycache__/main.cpython-313.pyc
Binary file not shown.
23 changes: 0 additions & 23 deletions src/api/eslint.config.js

This file was deleted.

12 changes: 12 additions & 0 deletions src/api/feedbacks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[
{
"id": 9,
"name": "st",
"comment": "string"
},
{
"id": 2,
"name": "марінка",
"comment": "када на морє кісуль"
}
]
74 changes: 74 additions & 0 deletions src/api/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import json
import os

app = FastAPI()

DATA_FILE = "feedbacks.json"

class Feedback(BaseModel):
id: int
name: str
comment: str

feedbacks = []

def load_feedbacks():
global feedbacks
if os.path.exists(DATA_FILE):
with open(DATA_FILE, "r", encoding="utf-8") as f:
feedbacks_data = json.load(f)
feedbacks = [Feedback(**item) for item in feedbacks_data]

def save_feedbacks():
with open(DATA_FILE, "w", encoding="utf-8") as f:
json.dump([fb.dict() for fb in feedbacks], f, ensure_ascii=False, indent=4)

@app.on_event("startup")
def startup_event():
load_feedbacks()


@app.get("/")
def read_root():
return {"message": "олєлє олала"}

@app.get("/feedback")
def get_feedback():
return feedbacks

@app.post("/feedback")
def create_feedback(item: Feedback):
for fb in feedbacks:
if fb.id == item.id:
raise HTTPException(status_code=400, detail="Фідбек з таким ID вже існує")
feedbacks.append(item)
save_feedbacks()
return {"message": "Фідбек додано", "data": item}

@app.put("/feedback/{feedback_id}")
def update_feedback(feedback_id: int, item: Feedback):
for index, fb in enumerate(feedbacks):
if fb.id == feedback_id:
feedbacks[index] = item
save_feedbacks()
return {"message": "Фідбек оновлено", "data": item}
raise HTTPException(status_code=404, detail="Фідбек не знайдено")

@app.delete("/feedback/{feedback_id}")
def delete_feedback(feedback_id: int):
for index, fb in enumerate(feedbacks):
if fb.id == feedback_id:
deleted = feedbacks.pop(index)
save_feedbacks()
return {"message": "Фідбек видалено", "data": deleted}
raise HTTPException(status_code=404, detail="Фідбек не знайдено")


@app.get("/feedback/{feedback_id}")
def get_feedback_by_id(feedback_id: int):
for fb in feedbacks:
if fb.id == feedback_id:
return fb
raise HTTPException(status_code=404, detail="Фідбек не знайдено")
41 changes: 0 additions & 41 deletions src/api/package.json

This file was deleted.

40 changes: 0 additions & 40 deletions src/api/prisma/migrations/20250512085059_entities/migration.sql

This file was deleted.

This file was deleted.

3 changes: 0 additions & 3 deletions src/api/prisma/migrations/migration_lock.toml

This file was deleted.

38 changes: 0 additions & 38 deletions src/api/prisma/schema.prisma

This file was deleted.

29 changes: 0 additions & 29 deletions src/api/src/index.ts

This file was deleted.

5 changes: 0 additions & 5 deletions src/api/src/prisma.ts

This file was deleted.

Loading
Loading