@@ -25,6 +25,7 @@ import type {
2525 SignUpFuturePhoneCodeVerifyParams ,
2626 SignUpFutureResource ,
2727 SignUpFutureSSOParams ,
28+ SignUpFutureUpdateParams ,
2829 SignUpIdentificationField ,
2930 SignUpJSON ,
3031 SignUpJSONSnapshot ,
@@ -132,6 +133,14 @@ export class SignUp extends BaseResource implements SignUpResource {
132133 */
133134 __internal_basePost = this . _basePost . bind ( this ) ;
134135
136+ /**
137+ * @internal Only used for internal purposes, and is not intended to be used directly.
138+ *
139+ * This property is used to provide access to underlying Client methods to `SignUpFuture`, which wraps an instance
140+ * of `SignUp`.
141+ */
142+ __internal_basePatch = this . _basePatch . bind ( this ) ;
143+
135144 constructor ( data : SignUpJSON | SignUpJSONSnapshot | null = null ) {
136145 super ( ) ;
137146 this . fromJSON ( data ) ;
@@ -584,12 +593,62 @@ class SignUpFuture implements SignUpFutureResource {
584593 }
585594
586595 async create ( params : SignUpFutureCreateParams ) : Promise < { error : unknown } > {
587- const { transfer } = params ;
588596 return runAsyncResourceTask ( this . resource , async ( ) => {
589597 const { captchaToken, captchaWidgetType, captchaError } = await this . getCaptchaToken ( ) ;
598+
599+ const body : Record < string , unknown > = {
600+ transfer : params . transfer ,
601+ captchaToken,
602+ captchaWidgetType,
603+ captchaError,
604+ } ;
605+
606+ if ( params . firstName ) {
607+ body . firstName = params . firstName ;
608+ }
609+
610+ if ( params . lastName ) {
611+ body . lastName = params . lastName ;
612+ }
613+
614+ if ( params . unsafeMetadata ) {
615+ body . unsafeMetadata = normalizeUnsafeMetadata ( params . unsafeMetadata ) ;
616+ }
617+
618+ if ( typeof params . legalAccepted !== 'undefined' ) {
619+ body . legalAccepted = params . legalAccepted ;
620+ }
621+
590622 await this . resource . __internal_basePost ( {
591623 path : this . resource . pathRoot ,
592- body : { transfer, captchaToken, captchaWidgetType, captchaError } ,
624+ body,
625+ } ) ;
626+ } ) ;
627+ }
628+
629+ async update ( params : SignUpFutureUpdateParams ) : Promise < { error : unknown } > {
630+ return runAsyncResourceTask ( this . resource , async ( ) => {
631+ const body : Record < string , unknown > = { } ;
632+
633+ if ( params . firstName ) {
634+ body . firstName = params . firstName ;
635+ }
636+
637+ if ( params . lastName ) {
638+ body . lastName = params . lastName ;
639+ }
640+
641+ if ( params . unsafeMetadata ) {
642+ body . unsafeMetadata = normalizeUnsafeMetadata ( params . unsafeMetadata ) ;
643+ }
644+
645+ if ( typeof params . legalAccepted !== 'undefined' ) {
646+ body . legalAccepted = params . legalAccepted ;
647+ }
648+
649+ await this . resource . __internal_basePatch ( {
650+ path : this . resource . pathRoot ,
651+ body,
593652 } ) ;
594653 } ) ;
595654 }
@@ -618,7 +677,26 @@ class SignUpFuture implements SignUpFutureResource {
618677 body . username = params . username ;
619678 }
620679
621- await this . resource . __internal_basePost ( { path : this . resource . pathRoot , body } ) ;
680+ if ( params . firstName ) {
681+ body . firstName = params . firstName ;
682+ }
683+
684+ if ( params . lastName ) {
685+ body . lastName = params . lastName ;
686+ }
687+
688+ if ( params . unsafeMetadata ) {
689+ body . unsafeMetadata = normalizeUnsafeMetadata ( params . unsafeMetadata ) ;
690+ }
691+
692+ if ( typeof params . legalAccepted !== 'undefined' ) {
693+ body . legalAccepted = params . legalAccepted ;
694+ }
695+
696+ await this . resource . __internal_basePost ( {
697+ path : this . resource . pathRoot ,
698+ body,
699+ } ) ;
622700 } ) ;
623701 }
624702
0 commit comments