Skip to content

Commit

Permalink
Merge pull request #499 from uhh-lt/remove-feedback
Browse files Browse the repository at this point in the history
Remove feedback
  • Loading branch information
bigabig authored Feb 11, 2025
2 parents 0dccb98 + 4ce0a8b commit 4d76fdb
Show file tree
Hide file tree
Showing 25 changed files with 2 additions and 879 deletions.
97 changes: 0 additions & 97 deletions backend/src/api/endpoints/feedback.py

This file was deleted.

24 changes: 0 additions & 24 deletions backend/src/app/core/data/dto/feedback.py

This file was deleted.

41 changes: 0 additions & 41 deletions backend/src/app/core/db/redis_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,6 @@
CrawlerJobUpdate,
)
from app.core.data.dto.export_job import ExportJobCreate, ExportJobRead, ExportJobUpdate
from app.core.data.dto.feedback import (
FeedbackCreateIntern,
FeedbackRead,
)
from app.core.data.dto.import_job import ImportJobCreate, ImportJobRead, ImportJobUpdate
from app.core.data.dto.llm_job import LLMJobCreate, LLMJobRead, LLMJobUpdate
from app.core.data.dto.trainer_job import (
Expand Down Expand Up @@ -440,43 +436,6 @@ def get_most_recent_cota_job_by_cota_id(
else:
return sorted(all_cota_jobs_by_cota_id, key=lambda x: x.updated)[-1]

def store_feedback(self, feedback: FeedbackCreateIntern) -> FeedbackRead:
client = self._get_client("feedback")
key = self._generate_random_key()
fb = FeedbackRead(
id=key,
user_content=feedback.user_content,
user_id=feedback.user_id,
created=datetime.now(),
)
if client.set(key.encode("utf-8"), fb.model_dump_json()) != 1:
msg = "Cannot store Feedback!"
logger.error(msg)
raise RuntimeError(msg)

logger.debug("Successfully stored Feedback!")

return fb

def load_feedback(self, key: str) -> FeedbackRead:
client = self._get_client("feedback")
fb = client.get(key.encode("utf-8"))
if fb is None:
msg = f"Feedback with ID {key} does not exist!"
logger.error(msg)
raise KeyError(msg)

logger.debug(f"Successfully loaded Feedback {key}")
return FeedbackRead.model_validate_json(fb)

def get_all_feedbacks(self) -> List[FeedbackRead]:
client = self._get_client("feedback")
return [self.load_feedback(str(key, "utf-8")) for key in client.keys()]

def get_all_feedbacks_of_user(self, user_id: int) -> List[FeedbackRead]:
fbs = self.get_all_feedbacks()
return [fb for fb in fbs if fb.user_id == user_id]

def store_llm_job(self, llm_job: Union[LLMJobCreate, LLMJobRead]) -> LLMJobRead:
client = self._get_client("llm")

Expand Down
39 changes: 0 additions & 39 deletions backend/src/app/core/mail/mail_service.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from fastapi_mail import ConnectionConfig, FastMail, MessageSchema, MessageType
from pydantic import EmailStr

from app.core.data.dto.feedback import FeedbackRead
from app.core.data.dto.user import UserRead
from app.util.singleton_meta import SingletonMeta
from config import conf
Expand All @@ -22,7 +21,6 @@ def __new__(cls, *args, **kwargs):
VALIDATE_CERTS=conf.mail.validate_certs == "True",
)
)
cls.feedback_mail_address = conf.mail.mail
return super(MailService, cls).__new__(cls)

async def send_mail(self, email: EmailStr, subject: str, body: str):
Expand All @@ -48,40 +46,3 @@ async def send_welcome_mail(self, user: UserRead):
<p>Best regards,<br>The DATS Team</p>
"""
await self.send_mail(email=user.email, subject=subject, body=body)

async def send_feedback_received_mail(self, user: UserRead, feedback: FeedbackRead):
feedback_html = "> " + "<br>> ".join(feedback.user_content.splitlines())
subject = (
f"[DATS Feedback] New feedback from {user.first_name} {user.last_name}"
)
body = f"""
<p>Hi DATS Team,</p>
<p>We recieved new feedback!</p>
<p>
{feedback_html}
</p>
<p>Best regards,<br>DATS Notification Service</p>
"""
await self.send_mail(
email=self.feedback_mail_address, subject=subject, body=body
)

async def send_feedback_response_mail(
self, user: UserRead, feedback: FeedbackRead, message: str
):
feedback_html = "> " + "<br>> ".join(feedback.user_content.splitlines())
subject = "Your DATS Feedback"
body = f"""
<p>Hi {user.first_name} {user.last_name},</p>
<p>Thanks for you feedback!</p>
<p>
{feedback_html}
</p>
<p>
We have a message regarding this feedback for you:
<br>
{message}
</p>
<p>Best regards,<br>The DATS Team</p>
"""
await self.send_mail(email=user.email, subject=subject, body=body)
1 change: 0 additions & 1 deletion backend/src/configs/development.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ redis:
port: ${oc.env:REDIS_PORT, 13124}
password: ${oc.env:REDIS_PASSWORD, dats123}
clients:
feedback: 1 # name: redis db index -- DO NOT USE DB 0, it's reserved for RabbitMQ!
export: 2
crawler: 3
trainer: 4
Expand Down
1 change: 0 additions & 1 deletion backend/src/configs/production.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ redis:
port: 6379
password: ${oc.env:REDIS_PASSWORD, dats123}
clients:
feedback: 1 # name: redis db index -- DO NOT USE DB 0, it's reserved for RabbitMQ!
export: 2
crawler: 3
trainer: 4
Expand Down
2 changes: 0 additions & 2 deletions backend/src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
crawler,
document_tag,
export,
feedback,
general,
import_,
llm,
Expand Down Expand Up @@ -256,7 +255,6 @@ def invalid_error_handler(_, exc: InvalidError):
app.include_router(memo.router)
app.include_router(search.router)
app.include_router(source_document_metadata.router)
app.include_router(feedback.router)
app.include_router(analysis.router)
app.include_router(prepro.router)
app.include_router(export.router)
Expand Down
9 changes: 0 additions & 9 deletions backend/src/test/api/endpoints/test_stories.py
Original file line number Diff line number Diff line change
Expand Up @@ -946,15 +946,6 @@ def test_bbox_annotation_and_memo(client, api_code, api_user, api_document) -> N
assert bbox1_remove_response.status_code == 200


@pytest.mark.order(after="test_project_add_user")
def test_feedback(client, api_user) -> None:
bob = api_user.user_list["bob"]
feedback = {"user_content": "I really love this app!"}
# Bob creates feedback
response_fail = client.put("feedback", headers=bob["AuthHeader"], json=feedback)
assert response_fail.status_code == 200


@pytest.mark.order(after="test_project_add_user")
def test_project_metadata(client, api_user, api_project) -> None:
alice = api_user.user_list["alice"]
Expand Down
23 changes: 0 additions & 23 deletions backend/src/test/app/core/data/crud/test_feedback_crud.py

This file was deleted.

41 changes: 0 additions & 41 deletions frontend/src/api/FeedbackHooks.ts

This file was deleted.

8 changes: 0 additions & 8 deletions frontend/src/api/QueryKey.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,6 @@ export const QueryKey = {
// all llm jobs of a Project (by project id)
PROJECT_LLM_JOBS: "projectLLMJobs",

// TO BE DELETED:
// a single feedback (by feedback id)
FEEDBACK: "feedback",
// all feedback
FEEDBACKS: "feedbacks",
// all logged-in user's feedbacks
FEEDBACKS_USER: "feedbacksUser",

// TO BE DELETED:
// a single TABLE (by TABLE id)
TABLE: "table",
Expand Down
10 changes: 0 additions & 10 deletions frontend/src/api/openapi/models/FeedbackCreate.ts

This file was deleted.

22 changes: 0 additions & 22 deletions frontend/src/api/openapi/models/FeedbackRead.ts

This file was deleted.

Loading

0 comments on commit 4d76fdb

Please sign in to comment.