aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firebase/Auth/Source/RPCs/FIRSignUpNewUserRequest.m
diff options
context:
space:
mode:
Diffstat (limited to 'Firebase/Auth/Source/RPCs/FIRSignUpNewUserRequest.m')
-rw-r--r--Firebase/Auth/Source/RPCs/FIRSignUpNewUserRequest.m82
1 files changed, 82 insertions, 0 deletions
diff --git a/Firebase/Auth/Source/RPCs/FIRSignUpNewUserRequest.m b/Firebase/Auth/Source/RPCs/FIRSignUpNewUserRequest.m
new file mode 100644
index 0000000..af60b11
--- /dev/null
+++ b/Firebase/Auth/Source/RPCs/FIRSignUpNewUserRequest.m
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2017 Google
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#import "FIRSignUpNewUserRequest.h"
+
+/** @var kSignupNewUserEndpoint
+ @brief The "SingupNewUserEndpoint" endpoint.
+ */
+static NSString *const kSignupNewUserEndpoint = @"signupNewUser";
+
+/** @var kEmailKey
+ @brief The key for the "email" value in the request.
+ */
+static NSString *const kEmailKey = @"email";
+
+/** @var kPasswordKey
+ @brief The key for the "password" value in the request.
+ */
+static NSString *const kPasswordKey = @"password";
+
+/** @var kDisplayNameKey
+ @brief The key for the "kDisplayName" value in the request.
+ */
+static NSString *const kDisplayNameKey = @"displayName";
+
+/** @var kReturnSecureTokenKey
+ @brief The key for the "returnSecureToken" value in the request.
+ */
+static NSString *const kReturnSecureTokenKey = @"returnSecureToken";
+
+@implementation FIRSignUpNewUserRequest
+
+- (nullable instancetype)initWithAPIKey:(NSString *)APIKey
+ email:(NSString *)email
+ password:(NSString *)password
+ displayName:(NSString *)displayName {
+ self = [super initWithEndpoint:kSignupNewUserEndpoint APIKey:APIKey];
+ if (self) {
+ _email = [email copy];
+ _password = [password copy];
+ _displayName = [displayName copy];
+ _returnSecureToken = YES;
+ }
+ return self;
+}
+
+- (nullable instancetype)initWithAPIKey:(NSString *)APIKey{
+ self = [self initWithAPIKey:APIKey email:nil password:nil displayName:nil];
+ return self;
+}
+
+- (nullable id)unencodedHTTPRequestBodyWithError:(NSError *_Nullable *_Nullable)error {
+ NSMutableDictionary *postBody = [NSMutableDictionary dictionary];
+ if (_email) {
+ postBody[kEmailKey] = _email;
+ }
+ if (_password) {
+ postBody[kPasswordKey] = _password;
+ }
+ if (_displayName) {
+ postBody[kDisplayNameKey] = _displayName;
+ }
+ if (_returnSecureToken) {
+ postBody[kReturnSecureTokenKey] = @YES;
+ }
+ return postBody;
+}
+
+@end