From ff5eec3e4a4588d92bb3dae95cfdc7825c78ad3f Mon Sep 17 00:00:00 2001 From: tomokisun Date: Wed, 22 Nov 2023 23:07:17 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20generate=20invitatio?= =?UTF-8?q?n=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GraphQL/schema.graphqls | 3 +++ .../God/Schema/InputObjects/CreateUserInput.graphql.swift | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/GraphQL/schema.graphqls b/GraphQL/schema.graphqls index bcf49bde..b7012318 100644 --- a/GraphQL/schema.graphqls +++ b/GraphQL/schema.graphqls @@ -126,6 +126,9 @@ input CreateUserHideInput { } input CreateUserInput { + """招待コード""" + invitationCode: String + """招待したユーザーのID""" inviterUserId: String diff --git a/Packages/DependencyPackage/Sources/God/Schema/InputObjects/CreateUserInput.graphql.swift b/Packages/DependencyPackage/Sources/God/Schema/InputObjects/CreateUserInput.graphql.swift index 742d3a5d..e3b7fa81 100644 --- a/Packages/DependencyPackage/Sources/God/Schema/InputObjects/CreateUserInput.graphql.swift +++ b/Packages/DependencyPackage/Sources/God/Schema/InputObjects/CreateUserInput.graphql.swift @@ -12,15 +12,23 @@ public extension God { } public init( + invitationCode: GraphQLNullable = nil, inviterUserId: GraphQLNullable = nil, phoneNumber: PhoneNumberInput ) { __data = InputDict([ + "invitationCode": invitationCode, "inviterUserId": inviterUserId, "phoneNumber": phoneNumber ]) } + /// 招待コード + public var invitationCode: GraphQLNullable { + get { __data["invitationCode"] } + set { __data["invitationCode"] = newValue } + } + /// 招待したユーザーのID public var inviterUserId: GraphQLNullable { get { __data["inviterUserId"] } From 8e7eb4b0ce8926ee13d029de872239157c9e1865 Mon Sep 17 00:00:00 2001 From: tomokisun Date: Wed, 22 Nov 2023 23:09:15 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20impl=20input=20invit?= =?UTF-8?q?ation=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/OnboardFeature/OnboardPathLogic.swift | 7 ++++++- .../Sources/OnboardFeature/OneTimeCode.swift | 10 +++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift b/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift index 98968a53..b4c3cd1e 100644 --- a/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift +++ b/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift @@ -96,7 +96,12 @@ public struct OnboardPathLogic { case .phoneNumber(.delegate(.nextScreen)): state.path.append( - .oneTimeCode(.init(inviterUserId: state.inviterUserId)) + .oneTimeCode( + .init( + inviterUserId: state.inviterUserId, + invitationCode: state.invitationCode + ) + ) ) return .none diff --git a/Packages/GodPackage/Sources/OnboardFeature/OneTimeCode.swift b/Packages/GodPackage/Sources/OnboardFeature/OneTimeCode.swift index 2cd90343..33b808c8 100644 --- a/Packages/GodPackage/Sources/OnboardFeature/OneTimeCode.swift +++ b/Packages/GodPackage/Sources/OnboardFeature/OneTimeCode.swift @@ -12,15 +12,17 @@ import UserDefaultsClient @Reducer public struct OneTimeCodeLogic { public struct State: Equatable { - var inviterUserId: String? + let inviterUserId: String? + let invitationCode: String? var phoneNumber = "" var isDisabled = true var isActivityIndicatorVisible = false @BindingState var oneTimeCode = "" @PresentationState var alert: AlertState? - public init(inviterUserId: String?) { + public init(inviterUserId: String?, invitationCode: String?) { self.inviterUserId = inviterUserId + self.invitationCode = invitationCode } } @@ -127,6 +129,7 @@ public struct OneTimeCodeLogic { numbers: format.replacing("+81", with: "") ) let input = God.CreateUserInput( + invitationCode: state.invitationCode ?? .null, inviterUserId: state.inviterUserId ?? .null, phoneNumber: phoneNumber ) @@ -225,7 +228,8 @@ public struct OneTimeCodeView: View { OneTimeCodeView( store: .init( initialState: OneTimeCodeLogic.State( - inviterUserId: nil + inviterUserId: nil, + invitationCode: nil ), reducer: { OneTimeCodeLogic() } ) From ac7907070984e6c102a3f41f9e0f7be2637b1658 Mon Sep 17 00:00:00 2001 From: tomokisun Date: Wed, 22 Nov 2023 23:10:03 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20one=20time=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift b/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift index b4c3cd1e..40b35194 100644 --- a/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift +++ b/Packages/GodPackage/Sources/OnboardFeature/OnboardPathLogic.swift @@ -97,7 +97,7 @@ public struct OnboardPathLogic { case .phoneNumber(.delegate(.nextScreen)): state.path.append( .oneTimeCode( - .init( + OneTimeCodeLogic.State( inviterUserId: state.inviterUserId, invitationCode: state.invitationCode )