-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WEAV-15] Open API Generator 를 통한 네트워크 레이어 구축 #5
Conversation
Walkthrough이 변경 사항은 OpenApiGenerator 서브모듈을 추가하고, API 관련 파일 생성 및 관리, 인증 프로세스 개선을 위한 여러 파일을 새로 도입하는 것을 포함합니다. 또한, Swift 패키지 및 종속성 관리에 대한 업데이트가 포함되어 있습니다. 전반적으로, 이 변경은 API 상호작용을 용이하게 하고, 인증 상태 관리를 개선하며, 코드의 구조를 강화합니다. Changes
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 6
Outside diff range, codebase verification and nitpick comments (2)
Projects/App/Sources/ContentView.swift (1)
24-24
: 하드코딩된 전화번호를 파라미터화하세요
ContentView.swift
파일에서 전화번호 "010-4602-2274"가 하드코딩되어 있습니다. 이는 보안 위험을 초래할 수 있으며 유연성을 감소시킵니다. 전화번호를 파라미터화하거나 안전한 소스에서 가져오는 것이 좋습니다.
Projects/App/Sources/ContentView.swift
: 하드코딩된 전화번호를 파라미터화하거나 안전한 소스에서 가져오도록 수정하세요.Analysis chain
onAppear
메소드의 새로운 구현비동기 프로그래밍을 사용하여 SMS 인증을 요청하는 새로운
onAppear
블록이 추가되었습니다. 이는 사용자 경험을 개선하고 메인 스레드의 블로킹을 방지합니다. 하지만, 하드코딩된 전화번호는 파라미터화되어야 할 수 있습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify if the phone number should be parameterized. # Test: Search for hardcoded phone numbers. Expect: No hardcoded numbers. rg --type swift '010-4602-2274'Length of output: 160
Projects/Core/CoreKit/Sources/AuthStatus.swift (1)
39-44
: 주석 형식 및 공백 관련 경고 수정 제안SwiftLint에서는 주석과 관련된 경고를 제공하고 있습니다. 특히
MARK
주석의 형식이 올바르지 않으며, 주석 뒤에 공백이 필요합니다. 다음과 같이 수정하는 것이 좋습니다.- //MARK: State 정의 + // MARK: - State 정의 - //MARK: Current + // MARK: - Current - //MARK: - Update + // MARK: - UpdateTools
SwiftLint
[Warning] 39-39: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 42-42: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 39-39: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
[Warning] 42-42: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (28)
- .gitmodules (1 hunks)
- Makefile (1 hunks)
- OpenApiGenerator/.swift-openapi-generator (1 hunks)
- OpenApiGenerator/Makefile (1 hunks)
- OpenApiGenerator/Package.resolved (1 hunks)
- OpenApiGenerator/Package.swift (1 hunks)
- OpenApiGenerator/Sources/OpenapiGenerated/Client.swift (1 hunks)
- OpenApiGenerator/Sources/OpenapiGenerated/Types.swift (1 hunks)
- OpenApiGenerator/Sources/openapi-generator-cli/3days-oas (1 hunks)
- OpenApiGenerator/Sources/openapi-generator-cli/main.swift (1 hunks)
- OpenApiGenerator/Sources/openapi-generator-cli/openapi-generator-config.yaml (1 hunks)
- Projects/App/Sources/ContentView.swift (2 hunks)
- Projects/Core/CoreKit/Sources/AuthStatus.swift (1 hunks)
- Projects/Core/CoreKit/Sources/TokenManager.swift (2 hunks)
- Projects/Core/Model/Sources/Network/RefreshTokenResponse.swift (1 hunks)
- Projects/Core/Model/Sources/Network/SMSVerificationRequest.swift (1 hunks)
- Projects/Core/Model/Sources/Network/SMSVerificationResponse.swift (1 hunks)
- Projects/Core/NetworkKit/Sources/AuthService/AuthEndpoint.swift (1 hunks)
- Projects/Core/NetworkKit/Sources/NetworkCore/EndpointType.swift (2 hunks)
- Projects/Core/NetworkKit/Sources/NetworkCore/Interceptor.swift (2 hunks)
- Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/AuthorizationMiddleware.swift (1 hunks)
- Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/LogMiddleWare.swift (1 hunks)
- Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/RetryingMiddleware.swift (1 hunks)
- Projects/Core/NetworkKit/Sources/NetworkCore/ServiceClient.swift (1 hunks)
- Projects/Core/Project.swift (1 hunks)
- Tuist/Package.resolved (1 hunks)
- Tuist/Package.swift (1 hunks)
- Tuist/ProjectDescriptionHelpers/Dependency+extensions.swift (1 hunks)
Files skipped from review due to trivial changes (7)
- .gitmodules
- Makefile
- OpenApiGenerator/.swift-openapi-generator
- OpenApiGenerator/Package.resolved
- OpenApiGenerator/Sources/openapi-generator-cli/3days-oas
- OpenApiGenerator/Sources/openapi-generator-cli/main.swift
- OpenApiGenerator/Sources/openapi-generator-cli/openapi-generator-config.yaml
Additional context used
SwiftLint
Projects/Core/CoreKit/Sources/AuthStatus.swift
[Warning] 12-12: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 39-39: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 42-42: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 12-12: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
[Warning] 39-39: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
[Warning] 42-42: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/AuthorizationMiddleware.swift
[Warning] 1-1: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 13-13: Prefer at least one space after slashes for comments
(comment_spacing)
Projects/Core/NetworkKit/Sources/AuthService/AuthEndpoint.swift
[Warning] 55-55: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 55-55: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/LogMiddleWare.swift
[Warning] 1-1: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 13-13: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 121-121: Prefer using UTF-8 encoded strings when converting between
String
andData
(non_optional_string_data_conversion)
Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/RetryingMiddleware.swift
[Warning] 1-1: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 13-13: Prefer at least one space after slashes for comments
(comment_spacing)
OpenApiGenerator/Sources/OpenapiGenerated/Types.swift
[Warning] 172-172: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 173-173: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 265-265: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 266-266: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 267-267: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Error] 171-171: Type name 'genderPayload' should start with an uppercase character
(type_name)
[Error] 229-229: Type name 'birthYearRangePayload' should start with an uppercase character
(type_name)
[Error] 264-264: Type name 'preferDistancePayload' should start with an uppercase character
(type_name)
[Error] 448-448: Type name 'requestVerification' should start with an uppercase character
(type_name)
[Error] 466-466: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Error] 504-504: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Error] 635-635: Type name 'verifyCode' should start with an uppercase character
(type_name)
[Error] 668-668: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Warning] 705-705: Type name 'Ok' should be between 3 and 40 characters long
(type_name)
[Error] 709-709: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Error] 884-884: Type name 'registerUser' should start with an uppercase character
(type_name)
[Error] 1110-1110: Type name 'refreshToken' should start with an uppercase character
(type_name)
[Error] 1128-1128: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Warning] 1162-1162: Type name 'Ok' should be between 3 and 40 characters long
(type_name)
Additional comments not posted (27)
Projects/Core/Model/Sources/Network/SMSVerificationResponse.swift (1)
11-14
: 구조 승인됨
SMSVerificationResponse
구조체는 간단하고 명확하며, Swift에서 데이터 모델로 사용하기에 적합합니다.refreshToken
과accessToken
이 항상 필요하다고 가정하는 것이 적절한지 확인하세요.Tuist/ProjectDescriptionHelpers/Dependency+extensions.swift (1)
13-13
: 새로운 의존성 케이스 추가 승인됨
openapiGenerated
케이스는ExternalDependency
열거형에 잘 추가되었습니다. 이 변경은 Open API Generator를 통해 생성된 의존성을 지원하기 위한 것입니다. 다른 의존성과의 관계에서 이 케이스의 위치를 고려해 보세요.Projects/Core/Model/Sources/Network/RefreshTokenResponse.swift (1)
11-21
: 구조 승인됨
RefreshTokenResponse
구조체는refreshToken
과accessToken
을 옵셔널로 선언하여 API 응답에서 이 토큰들이 항상 존재하지 않을 수 있음을 고려하고 있습니다. 명시적 초기화자는 속성이 올바르게 설정되도록 보장합니다.Projects/Core/Project.swift (1)
15-15
: OpenAPI 의존성 추가 승인
.external(.openapiGenerated)
가networkKit
의 의존성 목록에 추가된 것을 확인했습니다. 이 변경은 OpenAPI 생성 구성 요소를 통합하여 API 상호 작용을 개선하는 데 도움이 될 것입니다.OpenAPI 생성 구성 요소가 프로젝트에 올바르게 통합되었는지 확인하십시오.
Verification successful
OpenAPI 생성 구성 요소의 통합 확인
OpenapiGenerated
구성 요소가 프로젝트에 올바르게 통합된 것을 확인했습니다. 이 구성 요소는EndpointType.swift
및ServiceClient.swift
파일에서 사용되고 있으며,Package.swift
에 정의되어 있어 프로젝트의 패키지 종속성의 일부로 확인되었습니다.
Dependency+extensions.swift
에서OpenapiGenerated
가 정의되었습니다.EndpointType.swift
및ServiceClient.swift
에서OpenapiGenerated
가 가져와 사용되고 있습니다.OpenApiGenerator/Package.swift
에서OpenapiGenerated
가 패키지로 정의되었습니다.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the integration of OpenAPI components in the project. # Test: Search for the usage of OpenAPI components in the project. Expect: Proper integration and usage. rg --type swift -A 5 $'OpenapiGenerated'Length of output: 2526
Projects/Core/NetworkKit/Sources/NetworkCore/EndpointType.swift (2)
22-24
: 새로운 프로토콜Endpointable
의 추가
Endpointable
프로토콜은 네트워킹 컴포넌트 간의 일관된 클라이언트 접근 방식을 제공합니다. 이는 코드 재사용성과 일관성을 증진시킬 수 있습니다.
26-29
:Endpointable
확장을 통한 클라이언트 구현이 확장은
ServiceClient.client
를 반환하여, 모든Endpointable
타입이 공통된 클라이언트 인스턴스에 접근할 수 있도록 합니다. 이 구현은 효율적인 리소스 관리와 코드 중복을 줄이는 데 도움이 됩니다.Tuist/Package.swift (1)
18-18
: 새로운 로컬 패키지 의존성 추가
OpenApiGenerator
패키지를 추가함으로써, 프로젝트의 기능성이 확장됩니다. 이 변경은 프로젝트의 전반적인 의존성 관리 전략과 일치하는지 확인해야 합니다.Projects/Core/CoreKit/Sources/TokenManager.swift (1)
11-12
: 접근성 개선을 위한 변경 사항 승인
TokenManager
의accessToken
및refreshToken
속성이public static var
로 변경되어 다른 모듈에서 접근할 수 있게 되었습니다. 이는 네트워크 레이어의 접근성을 향상시키는 데 도움이 됩니다.Also applies to: 21-21
OpenApiGenerator/Package.swift (1)
1-36
: 패키지 설정 파일 검토새로 생성된
Package.swift
파일은 OpenAPI Generator를 위한 패키지 설정을 명확하게 정의하고 있습니다. Swift 도구 버전, 플랫폼, 의존성 및 타겟이 적절히 설정되어 있어 빌드 프로세스에 필요한 구성 요소들이 잘 정리되어 있습니다.Projects/Core/CoreKit/Sources/AuthStatus.swift (1)
12-33
:AuthState
클래스의State
열거형 및 상태 변경 로직 검토
AuthState
클래스 내에 정의된State
열거형은 로그인, 로그아웃, 회원가입 등 다양한 인증 상태를 나타내며,changeState
메소드를 통해 토큰 관리가 상태 변경과 동기화되도록 합니다. 이는 사용자의 인증 상태를 일관되게 관리하는 데 중요합니다.Tools
SwiftLint
[Warning] 12-12: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 12-12: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
Tuist/Package.resolved (4)
22-27
: 새 의존성: swift-collections
swift-collections
의존성이 추가되었습니다. 버전1.1.3
으로, 올바르게 설정되어 있습니다. 이 라이브러리는 Swift에서 고성능 컬렉션 타입을 제공합니다.
31-36
: 새 의존성: swift-http-types
swift-http-types
의존성이 추가되었습니다. 버전1.3.0
으로, HTTP 관련 타입을 제공하여 네트워크 레이어 구축에 도움을 줍니다.
40-45
: 새 의존성: swift-openapi-runtime
swift-openapi-runtime
의존성이 추가되었습니다. 버전1.5.0
으로, OpenAPI 스펙을 기반으로 한 런타임을 제공합니다.
49-54
: 새 의존성: swift-openapi-urlsession
swift-openapi-urlsession
의존성이 추가되었습니다. 버전1.0.2
으로, URLSession을 사용하여 OpenAPI 클라이언트를 구현하는 데 필요합니다.Projects/Core/NetworkKit/Sources/NetworkCore/Interceptor.swift (1)
Line range hint
52-69
: 토큰 갱신 로직 주석 처리에 대한 검토 필요
refreshAccessToken
메소드가 주석 처리되어 있습니다. 이는 자동 토큰 갱신 기능을 비활성화하며, 인증 실패를 유발할 수 있습니다. 이 변경의 배경과 대체 전략에 대한 추가적인 설명이 필요합니다. 만약 토큰 갱신이 여전히 필요하다면, 이 로직을 다시 활성화하거나 적절한 대체 로직을 구현하는 것을 고려해야 합니다.Projects/Core/NetworkKit/Sources/AuthService/AuthEndpoint.swift (4)
10-11
: 모듈 임포트 확인
Model
과CoreKit
모듈이 추가되었습니다. 이는AuthEndpoint
의 기능 확장을 위한 것으로 보입니다. 모듈 사용이 적절한지 확인하고, 필요하지 않은 경우 제거하는 것이 좋습니다.
13-15
: 새로운 에러 타입 추가
AuthEndpointError
열거형이 추가되어 토큰 관련 에러를 관리합니다. 이는 명확한 에러 관리를 가능하게 하며,emptyToken
과tokenResponseNotValid
케이스를 통해 더 세밀한 에러 처리가 가능합니다.
18-50
: SMS 인증 메소드 추가
requestSMSVerification
과verifySMSCode
두 개의 정적 메소드가 추가되었습니다. 이는 SMS 인증 프로세스를 지원하기 위한 것으로, 각 메소드는 비동기적으로 동작하며 예외를 발생시킬 수 있습니다. 이 구현은 사용자가 존재하는지 여부에 따라 다른 인증 상태를 업데이트하는 로직을 포함하고 있습니다. 코드의 로직과 예외 처리가 적절하게 구현되었는지 확인해야 합니다.
55-75
: 액세스 토큰 갱신 로직 추가
refreshAccessToken
메소드가 추가되어, 토큰 갱신 프로세스를 관리합니다.TokenManager
를 사용하여 리프레시 토큰이 있는지 확인하고, 없을 경우AuthEndpointError.emptyToken
에러를 발생시킵니다. 이 메소드는 토큰 갱신이 성공적으로 완료되면 새로운 토큰 정보를 반환합니다. 이 로직은 보안적인 측면에서 중요하므로, 토큰 관리가 안전하게 처리되고 있는지 추가 검토가 필요합니다.Tools
SwiftLint
[Warning] 55-55: Prefer at least one space after slashes for comments
(comment_spacing)
[Warning] 55-55: MARK comment should be in valid format. e.g. '// MARK: ...' or '// MARK: - ...'
(mark)
OpenApiGenerator/Makefile (3)
5-13
: 환경 변수 설정
Makefile
에서 다양한 환경 변수가 설정되어 있습니다. 이 변수들은 OpenAPI Generator의 구성과 관련이 있으며, 명령어 라인에서 오버라이드할 수 있습니다. 이 설정들이 프로젝트 요구사항에 맞게 적절히 설정되었는지 확인해야 합니다.
37-42
: 소스 생성 명령어
generate
타겟은 OpenAPI Generator를 사용하여 소스 코드를 생성합니다. 이 과정에서--config
,--output-directory
, 그리고 OpenAPI 스펙 파일 경로를 사용합니다. 이 명령어가 올바르게 설정되었는지, 그리고 생성된 소스 코드가 예상대로 작동하는지 확인해야 합니다.
46-52
: 클린업 명령어
clean
과clean-all
타겟은 생성된 소스와 OpenAPI Generator의 체크아웃을 정리합니다. 사용자 입력을 요구하는 방식으로 구현되어 있으며, 이는 실수로 중요한 데이터를 삭제하는 것을 방지할 수 있습니다. 이 명령어들이 프로젝트의 다른 부분과 충돌하지 않는지 확인해야 합니다.Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/LogMiddleWare.swift (2)
19-52
: 로깅 미들웨어 구현
LoggingMiddleware
액터는 네트워크 요청과 응답을 로깅합니다. 이 구현은 클라이언트와 서버 양쪽에서 사용될 수 있으며,Logger
와BodyLoggingPolicy
를 사용하여 로깅 수준을 관리합니다. 로깅 정책이 시스템의 보안과 성능에 부정적인 영향을 미치지 않도록 주의 깊게 검토해야 합니다.
96-138
: 바디 로깅 정책
BodyLoggingPolicy
열거형은 요청 및 응답 바디의 로깅 정책을 정의합니다. 이 정책은 로깅할 데이터의 크기를 제한하거나, 특정 조건에서 로깅을 금지하는 등의 기능을 포함합니다. 이 정책이 데이터 프라이버시 규정을 준수하며, 성능 저하 없이 효과적으로 작동하는지 확인해야 합니다.Tools
SwiftLint
[Warning] 121-121: Prefer using UTF-8 encoded strings when converting between
String
andData
(non_optional_string_data_conversion)
Projects/Core/NetworkKit/Sources/NetworkCore/Middleware/RetryingMiddleware.swift (1)
18-78
: 코드 구조 및 설계 검토:
RetryingMiddleware
구조체는 재시도 로직을 잘 정의하고 있습니다. 사용된 열거형(RetryableSignal
,RetryingPolicy
,DelayPolicy
)은 코드의 가독성을 높이고, 관련 로직을 체계적으로 구성합니다. 초기화 메서드에서 기본값을 제공하는 것은 사용자가 미들웨어를 쉽게 설정할 수 있게 해줍니다.OpenApiGenerator/Sources/OpenapiGenerated/Client.swift (1)
13-343
: 자동 생성된 코드 검토:
Client
구조체는 OpenAPI 명세에 따라 네트워크 작업을 처리합니다. 이 파일은 자동 생성되므로 일반적으로 수동으로 수정해서는 안 됩니다. 각 네트워크 작업은 명확하게 정의되어 있으며, 입력 및 출력 타입이 잘 설계되어 있습니다.다음 사항들을 확인하세요:
- 모든 네트워크 호출이 예외를 적절히 처리하고 있습니다.
- HTTP 메서드와 경로가 명세와 일치하는지 확인하세요.
- 생성된 타입과 메서드가 API의 최신 버전과 일치하는지 검토하세요.
OpenApiGenerator/Sources/OpenapiGenerated/Types.swift (1)
13-1271
: 타입 정의 코드 검토:
Types.swift
파일은 API에서 사용되는 다양한 타입을 정의합니다. 이 파일은 OpenAPI 명세서에서 자동 생성된 것으로, 각 타입이 명세서와 일치하는지 확인하는 것이 중요합니다.다음 사항들을 검토하세요:
- 각 타입이 API의 요구 사항을 정확히 반영하고 있는지 확인하세요.
- 타입의 필드가 적절히 문서화되어 있고, 필요한 경우 기본값이 제공되는지 검토하세요.
- 생성된 코드가 명세의 최신 버전을 반영하고 있는지 확인하세요.
Tools
SwiftLint
[Warning] 172-172: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 173-173: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 265-265: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 266-266: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Warning] 267-267: String enum values can be omitted when they are equal to the enumcase name
(redundant_string_enum_value)
[Error] 171-171: Type name 'genderPayload' should start with an uppercase character
(type_name)
[Error] 229-229: Type name 'birthYearRangePayload' should start with an uppercase character
(type_name)
[Error] 264-264: Type name 'preferDistancePayload' should start with an uppercase character
(type_name)
[Error] 448-448: Type name 'requestVerification' should start with an uppercase character
(type_name)
[Error] 466-466: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Error] 504-504: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Error] 635-635: Type name 'verifyCode' should start with an uppercase character
(type_name)
[Error] 668-668: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Warning] 705-705: Type name 'Ok' should be between 3 and 40 characters long
(type_name)
[Error] 709-709: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Error] 884-884: Type name 'registerUser' should start with an uppercase character
(type_name)
[Error] 1110-1110: Type name 'refreshToken' should start with an uppercase character
(type_name)
[Error] 1128-1128: Type name 'jsonPayload' should start with an uppercase character
(type_name)
[Warning] 1162-1162: Type name 'Ok' should be between 3 and 40 characters long
(type_name)
구현사항
Link
https://linear.app/match-weave/issue/WEAV-15/oas-네트워크-레이어-구축
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores