Skip to content
Merged
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
169 changes: 0 additions & 169 deletions apps/backend/src/rhesis/backend/app/crud/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,63 +126,6 @@ def get_experiments(
)


# Category CRUD
def get_category(
db: Session, category_id: uuid.UUID, organization_id: str = None, user_id: str = None
) -> Optional[models.Category]:
"""Get a single category by ID."""
return get_item(db, models.Category, category_id, organization_id, user_id)


def get_categories(
db: Session,
skip: int = 0,
limit: int = 10,
sort_by: str = "created_at",
sort_order: str = "desc",
filter: str | None = None,
organization_id: str = None,
user_id: str = None,
) -> List[models.Category]:
return get_items(
db,
models.Category,
skip,
limit,
sort_by,
sort_order,
filter,
organization_id=organization_id,
user_id=user_id,
)


def create_category(
db: Session, category: schemas.CategoryCreate, organization_id: str = None, user_id: str = None
) -> models.Category:
"""Create category."""
return create_item(db, models.Category, category, organization_id, user_id)


def update_category(
db: Session,
category_id: uuid.UUID,
category: schemas.CategoryUpdate,
organization_id: str = None,
user_id: str = None,
) -> Optional[models.Category]:
"""Update category."""
return update_item(db, models.Category, category_id, category, organization_id, user_id)


def delete_category(
db: Session, category_id: uuid.UUID, organization_id: str, user_id: str
) -> Optional[models.Category]:
return delete_item(
db, models.Category, category_id, organization_id=organization_id, user_id=user_id
)


# TestSet CRUD
def get_test_set(
db: Session, test_set_id: uuid.UUID, organization_id: str = None, user_id: str = None
Expand Down Expand Up @@ -539,118 +482,6 @@ def update_test_configuration(
)


# Status CRUD
def get_status(
db: Session, status_id: uuid.UUID, organization_id: str = None, user_id: str = None
) -> Optional[models.Status]:
"""Get a single status by ID."""
return get_item(db, models.Status, status_id, organization_id, user_id)


def get_statuses(
db: Session,
skip: int = 0,
limit: int = 10,
sort_by: str = "created_at",
sort_order: str = "desc",
filter: str | None = None,
organization_id: str = None,
user_id: str = None,
) -> List[models.Status]:
return get_items(
db,
models.Status,
skip,
limit,
sort_by,
sort_order,
filter,
organization_id=organization_id,
user_id=user_id,
)


def create_status(
db: Session, status: schemas.StatusCreate, organization_id: str = None, user_id: str = None
) -> models.Status:
"""Create status."""
return create_item(db, models.Status, status, organization_id, user_id)


def update_status(
db: Session,
status_id: uuid.UUID,
status: schemas.StatusUpdate,
organization_id: str = None,
user_id: str = None,
) -> Optional[models.Status]:
"""Update status."""
return update_item(db, models.Status, status_id, status, organization_id, user_id)


def delete_status(
db: Session, status_id: uuid.UUID, organization_id: str, user_id: str
) -> Optional[models.Status]:
"""Delete status."""
return delete_item(db, models.Status, status_id, organization_id, user_id)


# Topic CRUD
def get_topic(
db: Session, topic_id: uuid.UUID, organization_id: str = None, user_id: str = None
) -> Optional[models.Topic]:
"""Get a single topic by ID."""
return get_item(db, models.Topic, topic_id, organization_id, user_id)


def get_topics(
db: Session,
skip: int = 0,
limit: int = 10,
sort_by: str = "created_at",
sort_order: str = "desc",
filter: str | None = None,
organization_id: str = None,
user_id: str = None,
) -> List[models.Topic]:
return get_items(
db,
models.Topic,
skip,
limit,
sort_by,
sort_order,
filter,
organization_id=organization_id,
user_id=user_id,
)


def create_topic(
db: Session, topic: schemas.TopicCreate, organization_id: str = None, user_id: str = None
) -> models.Topic:
"""Create topic."""
return create_item(db, models.Topic, topic, organization_id, user_id)


def update_topic(
db: Session,
topic_id: uuid.UUID,
topic: schemas.TopicUpdate,
organization_id: str = None,
user_id: str = None,
) -> Optional[models.Topic]:
"""Update topic."""
return update_item(db, models.Topic, topic_id, topic, organization_id, user_id)


def delete_topic(
db: Session, topic_id: uuid.UUID, organization_id: str, user_id: str
) -> Optional[models.Topic]:
"""Delete topic."""
return delete_item(db, models.Topic, topic_id, organization_id, user_id)


def get_test(
db: Session, test_id: uuid.UUID, organization_id: str = None, user_id: str = None
) -> Optional[models.Test]:
Expand Down
76 changes: 76 additions & 0 deletions apps/backend/src/rhesis/backend/app/crud/category.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
"""CRUD operations for categories.

Part of the incremental split of the ``crud`` monolith: ``crud/__init__.py`` still holds
the bulk of the functions, and per-entity modules like this one take over as the code
around them is touched -- see ``apps/backend/AGENTS.md``'s crud-layout rule.
"""

import uuid
from typing import List, Optional

from sqlalchemy.orm import Session

from rhesis.backend.app import models, schemas
from rhesis.backend.app.utils.crud_utils import (
create_item,
delete_item,
get_item,
get_items,
update_item,
)


def get_category(
db: Session, category_id: uuid.UUID, organization_id: str = None, user_id: str = None
) -> Optional[models.Category]:
"""Get a single category by ID."""
return get_item(db, models.Category, category_id, organization_id, user_id)


def get_categories(
db: Session,
skip: int = 0,
limit: int = 10,
sort_by: str = "created_at",
sort_order: str = "desc",
filter: str | None = None,
organization_id: str = None,
user_id: str = None,
) -> List[models.Category]:
return get_items(
db,
models.Category,
skip,
limit,
sort_by,
sort_order,
filter,
organization_id=organization_id,
user_id=user_id,
)


def create_category(
db: Session, category: schemas.CategoryCreate, organization_id: str = None, user_id: str = None
) -> models.Category:
"""Create category."""
return create_item(db, models.Category, category, organization_id, user_id)


def update_category(
db: Session,
category_id: uuid.UUID,
category: schemas.CategoryUpdate,
organization_id: str = None,
user_id: str = None,
) -> Optional[models.Category]:
"""Update category."""
return update_item(db, models.Category, category_id, category, organization_id, user_id)


def delete_category(
db: Session, category_id: uuid.UUID, organization_id: str, user_id: str
) -> Optional[models.Category]:
return delete_item(
db, models.Category, category_id, organization_id=organization_id, user_id=user_id
)
75 changes: 75 additions & 0 deletions apps/backend/src/rhesis/backend/app/crud/status.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
"""CRUD operations for statuses.

Part of the incremental split of the ``crud`` monolith: ``crud/__init__.py`` still holds
the bulk of the functions, and per-entity modules like this one take over as the code
around them is touched -- see ``apps/backend/AGENTS.md``'s crud-layout rule.
"""

import uuid
from typing import List, Optional

from sqlalchemy.orm import Session

from rhesis.backend.app import models, schemas
from rhesis.backend.app.utils.crud_utils import (
create_item,
delete_item,
get_item,
get_items,
update_item,
)


def get_status(
db: Session, status_id: uuid.UUID, organization_id: str = None, user_id: str = None
) -> Optional[models.Status]:
"""Get a single status by ID."""
return get_item(db, models.Status, status_id, organization_id, user_id)


def get_statuses(
db: Session,
skip: int = 0,
limit: int = 10,
sort_by: str = "created_at",
sort_order: str = "desc",
filter: str | None = None,
organization_id: str = None,
user_id: str = None,
) -> List[models.Status]:
return get_items(
db,
models.Status,
skip,
limit,
sort_by,
sort_order,
filter,
organization_id=organization_id,
user_id=user_id,
)


def create_status(
db: Session, status: schemas.StatusCreate, organization_id: str = None, user_id: str = None
) -> models.Status:
"""Create status."""
return create_item(db, models.Status, status, organization_id, user_id)


def update_status(
db: Session,
status_id: uuid.UUID,
status: schemas.StatusUpdate,
organization_id: str = None,
user_id: str = None,
) -> Optional[models.Status]:
"""Update status."""
return update_item(db, models.Status, status_id, status, organization_id, user_id)


def delete_status(
db: Session, status_id: uuid.UUID, organization_id: str, user_id: str
) -> Optional[models.Status]:
"""Delete status."""
return delete_item(db, models.Status, status_id, organization_id, user_id)
Loading
Loading