Skip to content
This repository was archived by the owner on Feb 5, 2025. It is now read-only.

Commit 8be6b72

Browse files
authored
Streamline metadata after GoogleSignIn removal (#778)
Streamline metadata after GoogleSignIn removal
2 parents 86ed09e + 4fd3673 commit 8be6b72

18 files changed

+207
-181
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ _None._
5353
### Breaking Changes
5454

5555
- Removed dependency GoogleSignIn SDK and flags to configure it [#777]
56+
- Made `LoginFieldsMeta` `internal`, forwarding the few properties read by clients to `LoginFields` [#778]
57+
- Restructured `SocialService` into `SocialUser`, removing the `SocialServiceName` `SocialService` `enum` cases duplicity [#778]
58+
- Made `presentSignupEpilogue` in `WordPressAuthenticatorDelegateProtocol` use `SocialUser` instead of `SocialService` [#778]
5659

5760
## 6.3.0
5861

Demo/AuthenticatorDemo/ViewController+WordPressAuthenticationDelegate.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ extension ViewController: WordPressAuthenticatorDelegate {
3737
fatalError("TODO")
3838
}
3939

40-
func presentSignupEpilogue(in navigationController: UINavigationController, for credentials: AuthenticatorCredentials, service: SocialService?) {
40+
func presentSignupEpilogue(in navigationController: UINavigationController, for credentials: AuthenticatorCredentials, socialUser: SocialUser?) {
4141
fatalError("TODO")
4242
}
4343

WordPressAuthenticator.xcodeproj/project.pbxproj

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
1A21EE9822832BC300C940C6 /* WordPressComOAuthClientFacade+Swift.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A21EE9722832BC200C940C6 /* WordPressComOAuthClientFacade+Swift.swift */; };
1818
1A4095182271AEFC009AA86D /* WPAuthenticator-Swift.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4095152271AEFC009AA86D /* WPAuthenticator-Swift.h */; settings = {ATTRIBUTES = (Private, ); }; };
1919
3108613125AFA4830022F75E /* PasteboardTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3108613025AFA4830022F75E /* PasteboardTests.swift */; };
20+
3F0B192C2A8DBE180012C731 /* LoginFieldsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F0B192B2A8DBE180012C731 /* LoginFieldsTests.swift */; };
2021
3F107B0529A87AF0009B3658 /* CodeVerifier+Fixture.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F107B0429A87AF0009B3658 /* CodeVerifier+Fixture.swift */; };
2122
3F107B1D29B70169009B3658 /* WebAuthenticationPresentationContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F107B1C29B70169009B3658 /* WebAuthenticationPresentationContext.swift */; };
23+
3F1E64342A78A3420084E652 /* LoginFieldsMeta.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1E64332A78A3420084E652 /* LoginFieldsMeta.swift */; };
2224
3F30A6B4299F10BD0004452F /* Character+URLSafe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F30A6B3299F10BD0004452F /* Character+URLSafe.swift */; };
2325
3F30A6BA299F12E30004452F /* Character+URLSafeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F30A6B9299F12E30004452F /* Character+URLSafeTests.swift */; };
2426
3F338B6A289B877F0014ADC5 /* BuildkiteTestCollector in Frameworks */ = {isa = PBXBuildFile; productRef = 3F338B69289B877F0014ADC5 /* BuildkiteTestCollector */; };
@@ -39,7 +41,6 @@
3941
3F86A84629D2A306005D20C0 /* WordPressAuthenticatorDelegateSpy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F86A84529D2A306005D20C0 /* WordPressAuthenticatorDelegateSpy.swift */; };
4042
3F86A84829D2A42D005D20C0 /* WordPressAuthenticator+TestsUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F86A84729D2A42D005D20C0 /* WordPressAuthenticator+TestsUtils.swift */; };
4143
3F86A84A29D2A982005D20C0 /* LoginViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F86A84929D2A982005D20C0 /* LoginViewControllerTests.swift */; };
42-
3F86A84E29D3B53D005D20C0 /* SocialServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F86A84D29D3B53D005D20C0 /* SocialServiceTests.swift */; };
4344
3F879FD5293A3AB6005C2B48 /* OAuthTokenRequestBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F879FD4293A3AB6005C2B48 /* OAuthTokenRequestBody.swift */; };
4445
3F879FD7293A44F2005C2B48 /* OAuthTokenRequestBodyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F879FD6293A44F2005C2B48 /* OAuthTokenRequestBodyTests.swift */; };
4546
3F879FD9293A48B2005C2B48 /* OAuthTokenResponseBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F879FD8293A48B2005C2B48 /* OAuthTokenResponseBody.swift */; };
@@ -177,7 +178,7 @@
177178
BA70352424F70C9F00B3AA1C /* ModalViewControllerPresenting.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA70352324F70C9F00B3AA1C /* ModalViewControllerPresenting.swift */; };
178179
CE16177521B6D82200B82A47 /* WordPressAuthenticatorDisplayStrings.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE16177421B6D82200B82A47 /* WordPressAuthenticatorDisplayStrings.swift */; };
179180
CE16177821B70C1A00B82A47 /* WordPressAuthenticatorDisplayTextTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE16177721B70C1A00B82A47 /* WordPressAuthenticatorDisplayTextTests.swift */; };
180-
CE1B18C920EEC2C200BECC3F /* SocialService.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1B18C820EEC2C200BECC3F /* SocialService.swift */; };
181+
CE1B18C920EEC2C200BECC3F /* SocialUser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1B18C820EEC2C200BECC3F /* SocialUser.swift */; };
181182
CE1B18CC20EEC32400BECC3F /* WordPressComCredentials.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1B18CB20EEC32400BECC3F /* WordPressComCredentials.swift */; };
182183
CE1B18CE20EEC3CB00BECC3F /* WordPressAuthenticatorDelegateProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1B18CD20EEC3CB00BECC3F /* WordPressAuthenticatorDelegateProtocol.swift */; };
183184
CE1B18D020EEC41600BECC3F /* WordPressAuthenticatorConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1B18CF20EEC41600BECC3F /* WordPressAuthenticatorConfiguration.swift */; };
@@ -275,8 +276,10 @@
275276
3108613025AFA4830022F75E /* PasteboardTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PasteboardTests.swift; sourceTree = "<group>"; };
276277
33FEF45B466FF8EAAE5F3923 /* Pods-WordPressAuthenticator.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressAuthenticator.release.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressAuthenticator/Pods-WordPressAuthenticator.release.xcconfig"; sourceTree = "<group>"; };
277278
37AFD4EF492B00CA7AEC11A3 /* Pods-WordPressAuthenticatorTests.release-alpha.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WordPressAuthenticatorTests.release-alpha.xcconfig"; path = "Pods/Target Support Files/Pods-WordPressAuthenticatorTests/Pods-WordPressAuthenticatorTests.release-alpha.xcconfig"; sourceTree = "<group>"; };
279+
3F0B192B2A8DBE180012C731 /* LoginFieldsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginFieldsTests.swift; sourceTree = "<group>"; };
278280
3F107B0429A87AF0009B3658 /* CodeVerifier+Fixture.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CodeVerifier+Fixture.swift"; sourceTree = "<group>"; };
279281
3F107B1C29B70169009B3658 /* WebAuthenticationPresentationContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebAuthenticationPresentationContext.swift; sourceTree = "<group>"; };
282+
3F1E64332A78A3420084E652 /* LoginFieldsMeta.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginFieldsMeta.swift; sourceTree = "<group>"; };
280283
3F30A6B3299F10BD0004452F /* Character+URLSafe.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Character+URLSafe.swift"; sourceTree = "<group>"; };
281284
3F30A6B9299F12E30004452F /* Character+URLSafeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Character+URLSafeTests.swift"; sourceTree = "<group>"; };
282285
3F338B6B289B87E60014ADC5 /* UnitTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = UnitTests.xctestplan; sourceTree = "<group>"; };
@@ -297,7 +300,6 @@
297300
3F86A84529D2A306005D20C0 /* WordPressAuthenticatorDelegateSpy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressAuthenticatorDelegateSpy.swift; sourceTree = "<group>"; };
298301
3F86A84729D2A42D005D20C0 /* WordPressAuthenticator+TestsUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "WordPressAuthenticator+TestsUtils.swift"; sourceTree = "<group>"; };
299302
3F86A84929D2A982005D20C0 /* LoginViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginViewControllerTests.swift; sourceTree = "<group>"; };
300-
3F86A84D29D3B53D005D20C0 /* SocialServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialServiceTests.swift; sourceTree = "<group>"; };
301303
3F879FD4293A3AB6005C2B48 /* OAuthTokenRequestBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OAuthTokenRequestBody.swift; sourceTree = "<group>"; };
302304
3F879FD6293A44F2005C2B48 /* OAuthTokenRequestBodyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OAuthTokenRequestBodyTests.swift; sourceTree = "<group>"; };
303305
3F879FD8293A48B2005C2B48 /* OAuthTokenResponseBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OAuthTokenResponseBody.swift; sourceTree = "<group>"; };
@@ -445,7 +447,7 @@
445447
C736FF243DE333FCAB1C2614 /* Pods_WordPressAuthenticator.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WordPressAuthenticator.framework; sourceTree = BUILT_PRODUCTS_DIR; };
446448
CE16177421B6D82200B82A47 /* WordPressAuthenticatorDisplayStrings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressAuthenticatorDisplayStrings.swift; sourceTree = "<group>"; };
447449
CE16177721B70C1A00B82A47 /* WordPressAuthenticatorDisplayTextTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressAuthenticatorDisplayTextTests.swift; sourceTree = "<group>"; };
448-
CE1B18C820EEC2C200BECC3F /* SocialService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialService.swift; sourceTree = "<group>"; };
450+
CE1B18C820EEC2C200BECC3F /* SocialUser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialUser.swift; sourceTree = "<group>"; };
449451
CE1B18CB20EEC32400BECC3F /* WordPressComCredentials.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressComCredentials.swift; sourceTree = "<group>"; };
450452
CE1B18CD20EEC3CB00BECC3F /* WordPressAuthenticatorDelegateProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressAuthenticatorDelegateProtocol.swift; sourceTree = "<group>"; };
451453
CE1B18CF20EEC41600BECC3F /* WordPressAuthenticatorConfiguration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WordPressAuthenticatorConfiguration.swift; sourceTree = "<group>"; };
@@ -699,6 +701,7 @@
699701
B501C03B208FC52400D1E58F /* Model */ = {
700702
isa = PBXGroup;
701703
children = (
704+
3F0B192B2A8DBE180012C731 /* LoginFieldsTests.swift */,
702705
B501C03C208FC52400D1E58F /* LoginFieldsValidationTests.swift */,
703706
D85C3881256E3FEC00D56E34 /* WordPressComSiteInfoTests.swift */,
704707
);
@@ -721,7 +724,6 @@
721724
isa = PBXGroup;
722725
children = (
723726
B501C040208FC52500D1E58F /* LoginFacadeTests.m */,
724-
3F86A84D29D3B53D005D20C0 /* SocialServiceTests.swift */,
725727
);
726728
path = Services;
727729
sourceTree = "<group>";
@@ -807,6 +809,7 @@
807809
isa = PBXGroup;
808810
children = (
809811
B56090E9208A51D000399AE4 /* LoginFields.swift */,
812+
3F1E64332A78A3420084E652 /* LoginFieldsMeta.swift */,
810813
B56090E8208A51D000399AE4 /* LoginFields+Validation.swift */,
811814
B5609122208A557700399AE4 /* WordPressComSiteInfo.swift */,
812815
);
@@ -839,7 +842,7 @@
839842
F1AF1BEE24E4A80F00BA453E /* LoginFacade.swift */,
840843
B5609104208A54F800399AE4 /* SafariCredentialsService.swift */,
841844
B56090FE208A54F700399AE4 /* SignupService.swift */,
842-
CE1B18C820EEC2C200BECC3F /* SocialService.swift */,
845+
CE1B18C820EEC2C200BECC3F /* SocialUser.swift */,
843846
3F86A84129D28473005D20C0 /* SocialUserCreating.swift */,
844847
B56090FF208A54F800399AE4 /* WordPressComAccountService.swift */,
845848
B56090FC208A54F700399AE4 /* WordPressComBlogService.swift */,
@@ -1412,7 +1415,7 @@
14121415
B5609140208A563800399AE4 /* LoginSocialErrorCell.swift in Sources */,
14131416
B56090F7208A533200399AE4 /* WordPressAuthenticator+Errors.swift in Sources */,
14141417
B56090D2208A4F5400399AE4 /* NUXButton.swift in Sources */,
1415-
CE1B18C920EEC2C200BECC3F /* SocialService.swift in Sources */,
1418+
CE1B18C920EEC2C200BECC3F /* SocialUser.swift in Sources */,
14161419
F12F9FB424D8A68E00771BCE /* AuthenticatorAnalyticsTracker.swift in Sources */,
14171420
3F879FEA293A5F58005C2B48 /* URLRequest+GoogleSignIn.swift in Sources */,
14181421
988AD8A324CB839900BD045E /* TwoFAViewController.swift in Sources */,
@@ -1489,6 +1492,7 @@
14891492
CE6BCD3824A3CB5E001BCDC5 /* TextLinkButtonTableViewCell.swift in Sources */,
14901493
CE16177521B6D82200B82A47 /* WordPressAuthenticatorDisplayStrings.swift in Sources */,
14911494
CE1B18CE20EEC3CB00BECC3F /* WordPressAuthenticatorDelegateProtocol.swift in Sources */,
1495+
3F1E64342A78A3420084E652 /* LoginFieldsMeta.swift in Sources */,
14921496
F180B82424F59263000A01F5 /* StoredCredentialsPicker.swift in Sources */,
14931497
D881A311256B5B4700FE5605 /* NavigateToEnterSite.swift in Sources */,
14941498
B5609109208A54F800399AE4 /* SignupService.swift in Sources */,
@@ -1548,7 +1552,6 @@
15481552
files = (
15491553
3F4E64782990BBD4000DB555 /* IDTokenTests.swift in Sources */,
15501554
0193F7752A615521004D7C16 /* MemoryManagementTests.swift in Sources */,
1551-
3F86A84E29D3B53D005D20C0 /* SocialServiceTests.swift in Sources */,
15521555
3F879FDB293A49AA005C2B48 /* NewGoogleAuthenticatorTests.swift in Sources */,
15531556
F18DF0E5252500A600D83AFE /* WordPressAuthenticatorTests-Bridging-Header.h in Sources */,
15541557
3FE8071529364C410088420C /* Result+ConvenienceInitTests.swift in Sources */,
@@ -1583,6 +1586,7 @@
15831586
D85C36E6256E0DDE00D56E34 /* NavigationToEnterSiteTests.swift in Sources */,
15841587
3F86A84629D2A306005D20C0 /* WordPressAuthenticatorDelegateSpy.swift in Sources */,
15851588
D85C3882256E3FEC00D56E34 /* WordPressComSiteInfoTests.swift in Sources */,
1589+
3F0B192C2A8DBE180012C731 /* LoginFieldsTests.swift in Sources */,
15861590
D8611A672576236800A5DF27 /* NavigateBackTests.swift in Sources */,
15871591
3F879FF8293E222E005C2B48 /* GoogleOAuthTokenGettingStub.swift in Sources */,
15881592
3F879FE8293A573E005C2B48 /* GoogleClientIdTests.swift in Sources */,

WordPressAuthenticator/Authenticator/WordPressAuthenticatorDelegateProtocol.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@ public protocol WordPressAuthenticatorDelegate: AnyObject {
6363

6464
/// Presents the Login Epilogue, in the specified NavigationController.
6565
///
66-
func presentSignupEpilogue(in navigationController: UINavigationController, for credentials: AuthenticatorCredentials, service: SocialService?)
66+
func presentSignupEpilogue(
67+
in navigationController: UINavigationController,
68+
for credentials: AuthenticatorCredentials,
69+
socialUser: SocialUser?
70+
)
6771

6872
/// Presents the Support Interface from a given ViewController.
6973
///

WordPressAuthenticator/Model/LoginFields.swift

Lines changed: 30 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,22 @@ public class LoginFields: NSObject {
3636
/// the signup flow.
3737
@objc public var emailAddress = ""
3838

39-
@objc public var meta = LoginFieldsMeta()
39+
var meta = LoginFieldsMeta()
40+
41+
@objc public var userIsDotCom: Bool {
42+
get { meta.userIsDotCom }
43+
set { meta.userIsDotCom = newValue }
44+
}
45+
46+
@objc public var requiredMultifactor: Bool {
47+
meta.requiredMultifactor
48+
}
49+
50+
@objc public var xmlrpcURL: NSURL? {
51+
get { meta.xmlrpcURL }
52+
set { meta.xmlrpcURL = newValue }
53+
}
54+
4055
var storedCredentials: SafariStoredCredentials?
4156

4257
/// Convenience method for persisting stored credentials.
@@ -96,6 +111,20 @@ extension LoginFields {
96111
}
97112
}
98113

114+
extension LoginFields {
115+
116+
var parametersForSignInWithApple: [String: AnyObject]? {
117+
guard let user = meta.socialUser, case .apple = user.service else {
118+
return nil
119+
}
120+
121+
return AccountServiceRemoteREST.appleSignInParameters(
122+
email: user.email,
123+
fullName: user.fullName
124+
)
125+
}
126+
}
127+
99128
/// A helper class for storing safari saved password information.
100129
///
101130
class SafariStoredCredentials {
@@ -109,89 +138,3 @@ enum EmailMagicLinkSource: Int {
109138
case login = 1
110139
case signup = 2
111140
}
112-
113-
@objc
114-
public class LoginFieldsMeta: NSObject {
115-
116-
/// Indicates where the Magic Link Email was sent from.
117-
///
118-
var emailMagicLinkSource: EmailMagicLinkSource?
119-
120-
/// Indicates whether a self-hosted user is attempting to log in to Jetpack
121-
///
122-
@objc public var jetpackLogin = false
123-
124-
/// Indicates whether a user is logging in via the wpcom flow or a self-hosted flow. Used by the
125-
/// the LoginFacade in its branching logic.
126-
/// This is a good candidate to refactor out and call the proper login method directly.
127-
///
128-
@objc public var userIsDotCom = true
129-
130-
/// Indicates a wpcom account created via social sign up that requires either a magic link, or a social log in option.
131-
/// If a user signed up via social sign up and subsequently reset their password this field will be false.
132-
///
133-
@objc public var passwordless = false
134-
135-
/// Should point to the site's xmlrpc.php for a self-hosted log in. Should be the value returned via XML-RPC discovery.
136-
///
137-
@objc public var xmlrpcURL: NSURL?
138-
139-
/// Meta data about a site. This information is fetched and then displayed on the login epilogue.
140-
///
141-
var siteInfo: WordPressComSiteInfo?
142-
143-
/// Flags whether a 2fa challenge had to be satisfied before a log in could be complete.
144-
/// Included in analytics after a successful login.
145-
///
146-
@objc public var requiredMultifactor = false // A 2fa prompt was needed.
147-
148-
/// Identifies a social login and the service used.
149-
///
150-
var socialService: SocialServiceName?
151-
152-
@objc public var socialServiceIDToken: String?
153-
154-
var googleUser: SocialService.User?
155-
156-
var appleUser: SocialService.User?
157-
158-
init(emailMagicLinkSource: EmailMagicLinkSource? = nil,
159-
jetpackLogin: Bool = false,
160-
userIsDotCom: Bool = true,
161-
passwordless: Bool = false,
162-
xmlrpcURL: NSURL? = nil,
163-
siteInfo: WordPressComSiteInfo? = nil,
164-
requiredMultifactor: Bool = false,
165-
socialService: SocialServiceName? = nil,
166-
socialServiceIDToken: String? = nil,
167-
googleUser: SocialService.User? = nil,
168-
appleUser: SocialService.User? = nil) {
169-
self.emailMagicLinkSource = emailMagicLinkSource
170-
self.jetpackLogin = jetpackLogin
171-
self.userIsDotCom = userIsDotCom
172-
self.passwordless = passwordless
173-
self.xmlrpcURL = xmlrpcURL
174-
self.siteInfo = siteInfo
175-
self.requiredMultifactor = requiredMultifactor
176-
self.socialService = socialService
177-
self.socialServiceIDToken = socialServiceIDToken
178-
self.googleUser = googleUser
179-
self.appleUser = appleUser
180-
}
181-
}
182-
183-
extension LoginFieldsMeta {
184-
func copy() -> LoginFieldsMeta {
185-
.init(emailMagicLinkSource: emailMagicLinkSource,
186-
jetpackLogin: jetpackLogin,
187-
userIsDotCom: userIsDotCom,
188-
passwordless: passwordless,
189-
xmlrpcURL: xmlrpcURL,
190-
siteInfo: siteInfo,
191-
requiredMultifactor: requiredMultifactor,
192-
socialService: socialService,
193-
socialServiceIDToken: socialServiceIDToken,
194-
googleUser: googleUser,
195-
appleUser: appleUser)
196-
}
197-
}

0 commit comments

Comments
 (0)