Skip to content

Commit 894e156

Browse files
ImTotemclaude
andcommitted
refactor: restructure to domain-driven architecture
Spring Boot style package organization: domain/ — business domains (member, shorten, apply, form, recruit, setting) each with: repository.py, service.py, resolver.py, model.py, types.py global_/ — cross-cutting (auth, authz, exception) common/ — shared infrastructure (config, database, tables, repository, id_gen, timezone) infra/ — external services (email, slack) graphql/ — API layer (schema, context, convert, errors) filter/ — generic filter/pagination Renames: pg_repository→repository, schema→model, resolvers→resolver Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent a4354b5 commit 894e156

74 files changed

Lines changed: 147 additions & 143 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.idea/codeStyles/codeStyleConfig.xml

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

alembic/env.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
from alembic import context
77

8-
from bcsd_api.core.config import Settings
9-
from bcsd_api.core.database import metadata
10-
import bcsd_api.core.tables # noqa: F401 — registers tables on metadata
8+
from bcsd_api.common.config import Settings
9+
from bcsd_api.common.database import metadata
10+
import bcsd_api.common.tables # noqa: F401 — registers tables on metadata
1111

1212
config = context.config
1313

src/bcsd_api/dependencies.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
from fastapi import Depends, Request
55
from sqlalchemy import Connection
66

7-
from .auth import token as jwt_token
8-
from .authz.client import AuthzClient
9-
from .core.config import Settings
10-
from .core.database import create_engine, get_connection
11-
from .email import ResendSender
12-
from .email.sender import EmailSender
13-
from .exception import Unauthorized
14-
from .apply.pg_repository import PgAnswerRepository, PgApplicationRepository
15-
from .form.pg_repository import PgFormRepository, PgQuestionRepository
16-
from .member.pg_repository import PgMemberRepository
17-
from .recruit.pg_repository import PgRecruitRepository
18-
from .setting.pg_repository import PgSettingRepository
19-
from .shorten.pg_repository import PgLinkRepository
7+
from .global_.auth import token as jwt_token
8+
from .global_.authz.client import AuthzClient
9+
from .common.config import Settings
10+
from .common.database import create_engine, get_connection
11+
from .infra.email import ResendSender
12+
from .infra.email.sender import EmailSender
13+
from .global_.exception import Unauthorized
14+
from .domain.apply.repository import PgAnswerRepository, PgApplicationRepository
15+
from .domain.form.repository import PgFormRepository, PgQuestionRepository
16+
from .domain.member.repository import PgMemberRepository
17+
from .domain.recruit.repository import PgRecruitRepository
18+
from .domain.setting.repository import PgSettingRepository
19+
from .domain.shorten.repository import PgLinkRepository
2020

2121

2222
@lru_cache

0 commit comments

Comments
 (0)