Skip to content

Cleanup public types in auth-next #3217

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

Merged
merged 2 commits into from
Jun 16, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@
* limitations under the License.
*/

import { Operation } from '@firebase/auth-types-exp';

import { Endpoint, HttpMethod, _performApiRequest } from '..';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import { IdTokenResponse } from '../../model/id_token';

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import { Endpoint } from '../';
import { mockEndpoint } from '../../../test/api/helper';
import { testAuth } from '../../../test/mock_auth';
import * as mockFetch from '../../../test/mock_fetch';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import { ServerError } from '../errors';
import {
Expand All @@ -36,6 +35,7 @@ import {
signInWithPassword,
VerifyEmailRequest
} from './email_and_password';
import { Operation } from '@firebase/auth-types-exp';

use(chaiAsPromised);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
* limitations under the License.
*/

import { Operation } from '@firebase/auth-types-exp';

import {
Endpoint,
HttpMethod,
Expand All @@ -23,7 +25,6 @@ import {
} from '..';
import { Auth } from '../../model/auth';
import { IdToken, IdTokenResponse } from '../../model/id_token';
import { Operation } from '../../model/action_code_info';

export interface SignInWithPasswordRequest {
returnSecureToken?: boolean;
Expand Down
3 changes: 2 additions & 1 deletion packages-exp/auth-exp/src/core/action_code_url.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@

import { expect } from 'chai';

import { Operation } from '@firebase/auth-types-exp';

import { testAuth } from '../../test/mock_auth';
import { Operation } from '../model/action_code_info';
import { Auth } from '../model/auth';
import { ActionCodeURL } from './action_code_url';

Expand Down
19 changes: 9 additions & 10 deletions packages-exp/auth-exp/src/core/action_code_url.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@

import * as externs from '@firebase/auth-types-exp';

import { Operation } from '../model/action_code_info';
import { Auth } from '../model/auth';
import { AUTH_ERROR_FACTORY, AuthErrorCode } from './errors';

Expand All @@ -37,19 +36,19 @@ enum QueryField {
/**
* Map from mode string in action code URL to Action Code Info operation.
*/
const MODE_TO_OPERATION_MAP: { [key: string]: Operation } = {
'recoverEmail': Operation.RECOVER_EMAIL,
'resetPassword': Operation.PASSWORD_RESET,
'signIn': Operation.EMAIL_SIGNIN,
'verifyEmail': Operation.VERIFY_EMAIL,
'verifyAndChangeEmail': Operation.VERIFY_AND_CHANGE_EMAIL,
'revertSecondFactorAddition': Operation.REVERT_SECOND_FACTOR_ADDITION
const MODE_TO_OPERATION_MAP: { [key: string]: externs.Operation } = {
'recoverEmail': externs.Operation.RECOVER_EMAIL,
'resetPassword': externs.Operation.PASSWORD_RESET,
'signIn': externs.Operation.EMAIL_SIGNIN,
'verifyEmail': externs.Operation.VERIFY_EMAIL,
'verifyAndChangeEmail': externs.Operation.VERIFY_AND_CHANGE_EMAIL,
'revertSecondFactorAddition': externs.Operation.REVERT_SECOND_FACTOR_ADDITION
};

/**
* Maps the mode string in action code URL to Action Code Info operation.
*/
function parseMode(mode: string | null): Operation | null {
function parseMode(mode: string | null): externs.Operation | null {
return mode ? MODE_TO_OPERATION_MAP[mode] || null : null;
}

Expand All @@ -71,7 +70,7 @@ export class ActionCodeURL implements externs.ActionCodeURL {
readonly code: string;
readonly continueUrl: string | null;
readonly languageCode: string | null;
readonly operation: Operation;
readonly operation: externs.Operation;
readonly tenantId: string | null;

constructor(auth: Auth, actionLink: string) {
Expand Down
10 changes: 5 additions & 5 deletions packages-exp/auth-exp/src/core/auth/auth_impl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import {
Unsubscribe
} from '@firebase/util';

import { Auth, Dependencies, NextOrObserver } from '../../model/auth';
import { Auth, Dependencies } from '../../model/auth';
import { User } from '../../model/user';
import { AuthErrorCode } from '../errors';
import { Persistence } from '../persistence';
Expand Down Expand Up @@ -57,7 +57,7 @@ export class AuthImpl implements Auth {
private lastNotifiedUid: string | undefined = undefined;

languageCode: string | null = null;
tenantId?: string | null | undefined;
tenantId: string | null = null;
settings: externs.AuthSettings = { appVerificationDisabledForTesting: false };

constructor(
Expand Down Expand Up @@ -107,7 +107,7 @@ export class AuthImpl implements Auth {
}

onAuthStateChanged(
nextOrObserver: NextOrObserver<User>,
nextOrObserver: externs.NextOrObserver<User>,
error?: ErrorFn,
completed?: CompleteFn
): Unsubscribe {
Expand All @@ -120,7 +120,7 @@ export class AuthImpl implements Auth {
}

onIdTokenChanged(
nextOrObserver: NextOrObserver<User>,
nextOrObserver: externs.NextOrObserver<User>,
error?: ErrorFn,
completed?: CompleteFn
): Unsubscribe {
Expand Down Expand Up @@ -160,7 +160,7 @@ export class AuthImpl implements Auth {

private registerStateListener(
subscription: Subscription<User>,
nextOrObserver: NextOrObserver<User>,
nextOrObserver: externs.NextOrObserver<User>,
error?: ErrorFn,
completed?: CompleteFn
): Unsubscribe {
Expand Down
7 changes: 6 additions & 1 deletion packages-exp/auth-exp/src/core/providers/phone.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import { initializeAuth } from '../auth/auth_impl';
import { PhoneAuthCredential } from '../credentials/phone';
import { _verifyPhoneNumber } from '../strategies/phone';
import { debugFail } from '../util/assert';
import { ApplicationVerifier } from '../../model/application_verifier';

export class PhoneAuthProvider implements externs.PhoneAuthProvider {
static readonly PROVIDER_ID = externs.ProviderId.PHONE;
Expand All @@ -41,7 +42,11 @@ export class PhoneAuthProvider implements externs.PhoneAuthProvider {
applicationVerifier: externs.ApplicationVerifier
/* multiFactorSession?: MultiFactorSession, */
): Promise<string> {
return _verifyPhoneNumber(this.auth, phoneNumber, applicationVerifier);
return _verifyPhoneNumber(
this.auth,
phoneNumber,
applicationVerifier as ApplicationVerifier
);
}

static credential(
Expand Down
11 changes: 5 additions & 6 deletions packages-exp/auth-exp/src/core/strategies/email.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,14 @@ import * as chaiAsPromised from 'chai-as-promised';
import { restore, SinonStub, stub } from 'sinon';
import * as sinonChai from 'sinon-chai';

import { ProviderId } from '@firebase/auth-types-exp';
import { ProviderId, Operation } from '@firebase/auth-types-exp';
import { FirebaseError } from '@firebase/util';

import { mockEndpoint } from '../../../test/api/helper';
import { testAuth, testUser } from '../../../test/mock_auth';
import * as mockFetch from '../../../test/mock_fetch';
import { Endpoint } from '../../api';
import { ServerError } from '../../api/errors';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import { User } from '../../model/user';
import * as location from '../util/location';
Expand Down Expand Up @@ -134,7 +133,7 @@ describe('core/strategies/sendEmailVerification', () => {
email
});

await sendEmailVerification(auth, user);
await sendEmailVerification(user);

expect(reloadStub).to.not.have.been.called;
expect(mock.calls[0].request).to.eql({
Expand All @@ -149,7 +148,7 @@ describe('core/strategies/sendEmailVerification', () => {
email: '[email protected]'
});

await sendEmailVerification(auth, user);
await sendEmailVerification(user);

expect(reloadStub).to.have.been.calledOnce;
expect(mock.calls[0].request).to.eql({
Expand All @@ -164,7 +163,7 @@ describe('core/strategies/sendEmailVerification', () => {
requestType: Operation.VERIFY_EMAIL,
email
});
await sendEmailVerification(auth, user, {
await sendEmailVerification(user, {
handleCodeInApp: true,
iOS: {
bundleId: 'my-bundle',
Expand Down Expand Up @@ -192,7 +191,7 @@ describe('core/strategies/sendEmailVerification', () => {
requestType: Operation.VERIFY_EMAIL,
email
});
await sendEmailVerification(auth, user, {
await sendEmailVerification(user, {
handleCodeInApp: true,
android: {
installApp: false,
Expand Down
12 changes: 5 additions & 7 deletions packages-exp/auth-exp/src/core/strategies/email.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,12 @@
*/

import * as externs from '@firebase/auth-types-exp';
import { ActionCodeSettings } from '@firebase/auth-types-exp';

import {
createAuthUri,
CreateAuthUriRequest
} from '../../api/authentication/create_auth_uri';
import * as api from '../../api/authentication/email_and_password';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import { User } from '../../model/user';
import { _getCurrentUrl, _isHttpOrHttps } from '../util/location';
Expand All @@ -48,20 +46,20 @@ export async function fetchSignInMethodsForEmail(
}

export async function sendEmailVerification(
auth: externs.Auth,
user: User,
actionCodeSettings?: ActionCodeSettings
userExtern: externs.User,
actionCodeSettings?: externs.ActionCodeSettings | null
): Promise<void> {
const user = userExtern as User;
const idToken = await user.getIdToken();
const request: api.VerifyEmailRequest = {
requestType: Operation.VERIFY_EMAIL,
requestType: externs.Operation.VERIFY_EMAIL,
idToken
};
if (actionCodeSettings) {
setActionCodeSettingsOnRequest(request, actionCodeSettings);
}

const { email } = await api.sendEmailVerification(auth as Auth, request);
const { email } = await api.sendEmailVerification(user.auth, request);

if (email !== user.email) {
await user.reload();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*/

import {
Operation,
OperationType,
ProviderId,
SignInMethod
Expand All @@ -30,7 +31,6 @@ import * as mockFetch from '../../../test/mock_fetch';
import { Endpoint } from '../../api';
import { APIUserInfo } from '../../api/account_management/account';
import { ServerError } from '../../api/errors';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import {
checkActionCode,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ import * as externs from '@firebase/auth-types-exp';

import { resetPassword } from '../../api/account_management/email_and_password';
import * as api from '../../api/authentication/email_and_password';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import { AuthErrorCode, AUTH_ERROR_FACTORY } from '../errors';
import { EmailAuthProvider } from '../providers/email';
Expand All @@ -34,7 +33,7 @@ export async function sendPasswordResetEmail(
actionCodeSettings?: externs.ActionCodeSettings
): Promise<void> {
const request: api.PasswordResetRequest = {
requestType: Operation.PASSWORD_RESET,
requestType: externs.Operation.PASSWORD_RESET,
email
};
if (actionCodeSettings) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ import { expect, use } from 'chai';
import * as chaiAsPromised from 'chai-as-promised';
import * as sinonChai from 'sinon-chai';

import * as externs from '@firebase/auth-types-exp';
import { FirebaseError } from '@firebase/util';

import { mockEndpoint } from '../../../test/api/helper';
import { testAuth } from '../../../test/mock_auth';
import * as mockFetch from '../../../test/mock_fetch';
import { Endpoint } from '../../api';
import { ServerError } from '../../api/errors';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import {
isSignInWithEmailLink,
Expand Down Expand Up @@ -61,7 +61,7 @@ describe('core/strategies/sendSignInLinkToEmail', () => {
});
await sendSignInLinkToEmail(auth, email);
expect(mock.calls[0].request).to.eql({
requestType: Operation.EMAIL_SIGNIN,
requestType: externs.Operation.EMAIL_SIGNIN,
email
});
});
Expand Down Expand Up @@ -100,7 +100,7 @@ describe('core/strategies/sendSignInLinkToEmail', () => {
});

expect(mock.calls[0].request).to.eql({
requestType: Operation.EMAIL_SIGNIN,
requestType: externs.Operation.EMAIL_SIGNIN,
email,
continueUrl: 'my-url',
dynamicLinkDomain: 'fdl-domain',
Expand All @@ -127,7 +127,7 @@ describe('core/strategies/sendSignInLinkToEmail', () => {
dynamicLinkDomain: 'fdl-domain'
});
expect(mock.calls[0].request).to.eql({
requestType: Operation.EMAIL_SIGNIN,
requestType: externs.Operation.EMAIL_SIGNIN,
email,
continueUrl: 'my-url',
dynamicLinkDomain: 'fdl-domain',
Expand Down
5 changes: 2 additions & 3 deletions packages-exp/auth-exp/src/core/strategies/email_link.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
import * as externs from '@firebase/auth-types-exp';

import * as api from '../../api/authentication/email_and_password';
import { Operation } from '../../model/action_code_info';
import { Auth } from '../../model/auth';
import { ActionCodeURL } from '../action_code_url';
import { EmailAuthProvider } from '../providers/email';
Expand All @@ -32,7 +31,7 @@ export async function sendSignInLinkToEmail(
actionCodeSettings?: externs.ActionCodeSettings
): Promise<void> {
const request: api.EmailSignInRequest = {
requestType: Operation.EMAIL_SIGNIN,
requestType: externs.Operation.EMAIL_SIGNIN,
email
};
if (actionCodeSettings) {
Expand All @@ -47,7 +46,7 @@ export function isSignInWithEmailLink(
emailLink: string
): boolean {
const actionCodeUrl = ActionCodeURL._fromLink(auth as Auth, emailLink);
return actionCodeUrl?.operation === Operation.EMAIL_SIGNIN;
return actionCodeUrl?.operation === externs.Operation.EMAIL_SIGNIN;
}

export async function signInWithEmailLink(
Expand Down
Loading