Skip to content

Commit af0f3d1

Browse files
committed
lint fixes
1 parent 64612e7 commit af0f3d1

File tree

6 files changed

+192
-180
lines changed

6 files changed

+192
-180
lines changed

src/auth/auth-api-request.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import {
4343
SAMLUpdateAuthProviderRequest
4444
} from './auth-config';
4545
import { ProjectConfig, ProjectConfigServerResponse, UpdateProjectConfigRequest } from './project-config';
46-
import {PasskeyConfig, PasskeyConfigServerResponse, PasskeyConfigRequest} from './passkey-config';
46+
import { PasskeyConfig, PasskeyConfigServerResponse, PasskeyConfigRequest } from './passkey-config';
4747

4848
/** Firebase Auth request header. */
4949
const FIREBASE_AUTH_HEADER = {
@@ -2108,7 +2108,8 @@ const UPDATE_PASSKEY_CONFIG = new ApiSettings('/passkeyConfig?updateMask={update
21082108
});
21092109

21102110
/** Instantiates the getPasskeyConfig endpoint settings. */
2111-
const UPDATE_TENANT_PASSKEY_CONFIG = new ApiSettings('/tenant/{tenantId}/passkeyConfig?updateMask={updateMask}', 'PATCH')
2111+
const UPDATE_TENANT_PASSKEY_CONFIG = new ApiSettings(
2112+
'/tenant/{tenantId}/passkeyConfig?updateMask={updateMask}', 'PATCH')
21122113
.setResponseValidator((response: any) => {
21132114
// Response should always contain at least the config name.
21142115
if (!validator.isNonEmptyString(response.name)) {
@@ -2296,18 +2297,21 @@ export class AuthRequestHandler extends AbstractAuthRequestHandler {
22962297
}
22972298

22982299
public getPasskeyConfig(tenantId?: string): Promise<PasskeyConfigServerResponse> {
2299-
return this.invokeRequestHandler(this.authResourceUrlBuilder, tenantId? GET_TENANT_PASSKEY_CONFIG: GET_PASSKEY_CONFIG, {}, {})
2300+
return this.invokeRequestHandler(this.authResourceUrlBuilder,
2301+
tenantId? GET_TENANT_PASSKEY_CONFIG: GET_PASSKEY_CONFIG, {}, {})
23002302
.then((response: any) => {
23012303
return response as PasskeyConfigServerResponse;
23022304
});
23032305
}
23042306

2305-
public updatePasskeyConfig(isCreateRequest: boolean, tenantId?: string, options?: PasskeyConfigRequest, rpId?: string): Promise<PasskeyConfigServerResponse> {
2307+
public updatePasskeyConfig(isCreateRequest: boolean, tenantId?: string,
2308+
options?: PasskeyConfigRequest, rpId?: string): Promise<PasskeyConfigServerResponse> {
23062309
try {
23072310
const request = PasskeyConfig.buildServerRequest(isCreateRequest, options, rpId);
23082311
const updateMask = utils.generateUpdateMask(request);
23092312
return this.invokeRequestHandler(
2310-
this.authResourceUrlBuilder, tenantId? UPDATE_TENANT_PASSKEY_CONFIG: UPDATE_PASSKEY_CONFIG, request, { updateMask: updateMask.join(',') })
2313+
this.authResourceUrlBuilder, tenantId? UPDATE_TENANT_PASSKEY_CONFIG: UPDATE_PASSKEY_CONFIG,
2314+
request, { updateMask: updateMask.join(',') })
23112315
.then((response: any) => {
23122316
return response as PasskeyConfigServerResponse;
23132317
});

src/auth/passkey-config-manager.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@ import { App } from '../app';
1717
import {
1818
AuthRequestHandler,
1919
} from './auth-api-request';
20-
import { PasskeyConfig, PasskeyConfigClientRequest, PasskeyConfigRequest, PasskeyConfigServerResponse } from './passkey-config';
20+
import {
21+
PasskeyConfig,
22+
PasskeyConfigClientRequest,
23+
PasskeyConfigRequest,
24+
PasskeyConfigServerResponse
25+
} from './passkey-config';
2126

2227

2328
export class PasskeyConfigManager {
@@ -34,7 +39,8 @@ export class PasskeyConfigManager {
3439
});
3540
}
3641

37-
public createPasskeyConfig(rpId: string, passkeyConfigRequest: PasskeyConfigRequest, tenantId?: string): Promise<PasskeyConfig> {
42+
public createPasskeyConfig(rpId: string, passkeyConfigRequest: PasskeyConfigRequest,
43+
tenantId?: string): Promise<PasskeyConfig> {
3844
return this.authRequestHandler.updatePasskeyConfig(true, tenantId, passkeyConfigRequest, rpId)
3945
.then((response: PasskeyConfigClientRequest) => {
4046
return new PasskeyConfig(response);

src/auth/passkey-config.ts

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
import * as validator from '../utils/validator';
1717
import { AuthClientErrorCode, FirebaseAuthError } from '../utils/error';
18-
import {deepCopy} from '../utils/deep-copy';
18+
import { deepCopy } from '../utils/deep-copy';
1919

2020
export interface PasskeyConfigRequest {
2121
expectedOrigins?: string[];
@@ -38,94 +38,95 @@ export class PasskeyConfig {
3838
public readonly rpId?: string;
3939
public readonly expectedOrigins?: string[];
4040

41-
private static validate(isCreateRequest: boolean, passkeyConfigRequest?: PasskeyConfigRequest, rpId?: string) {
42-
if(isCreateRequest && !validator.isNonEmptyString(rpId)) {
43-
throw new FirebaseAuthError(
44-
AuthClientErrorCode.INVALID_ARGUMENT,
45-
`'rpId' must be a valid non-empty string'`,
46-
);
41+
private static validate(isCreateRequest: boolean, passkeyConfigRequest?: PasskeyConfigRequest, rpId?: string): void {
42+
if (isCreateRequest && !validator.isNonEmptyString(rpId)) {
43+
throw new FirebaseAuthError(
44+
AuthClientErrorCode.INVALID_ARGUMENT,
45+
'\'rpId\' must be a valid non-empty string\'',
46+
);
4747
}
48-
if(!isCreateRequest && typeof rpId !== 'undefined') {
49-
throw new FirebaseAuthError(
50-
AuthClientErrorCode.INVALID_ARGUMENT,
51-
`'rpId' cannot be changed once created.'`,
52-
);
48+
if (!isCreateRequest && typeof rpId !== 'undefined') {
49+
throw new FirebaseAuthError(
50+
AuthClientErrorCode.INVALID_ARGUMENT,
51+
'\'rpId\' cannot be changed once created.\'',
52+
);
5353
}
54-
if(!validator.isNonNullObject(passkeyConfigRequest)) {
55-
throw new FirebaseAuthError(
56-
AuthClientErrorCode.INVALID_ARGUMENT,
57-
`'passkeyConfigRequest' must be a valid non-empty object.'`,
58-
);
54+
if (!validator.isNonNullObject(passkeyConfigRequest)) {
55+
throw new FirebaseAuthError(
56+
AuthClientErrorCode.INVALID_ARGUMENT,
57+
'\'passkeyConfigRequest\' must be a valid non-empty object.\'',
58+
);
5959
}
6060
const validKeys = {
61-
expectedOrigins: true,
61+
expectedOrigins: true,
6262
};
6363
// Check for unsupported top level attributes.
6464
for (const key in passkeyConfigRequest) {
65-
if (!(key in validKeys)) {
66-
throw new FirebaseAuthError(
67-
AuthClientErrorCode.INVALID_ARGUMENT,
68-
`'${key}' is not a valid PasskeyConfigRequest parameter.`,
69-
);
70-
}
71-
}
72-
if(!validator.isNonEmptyArray(passkeyConfigRequest.expectedOrigins)) {
65+
if (!(key in validKeys)) {
7366
throw new FirebaseAuthError(
74-
AuthClientErrorCode.INVALID_ARGUMENT,
75-
`'passkeyConfigRequest.expectedOrigins' must be a valid non-empty array of strings.'`,
76-
);
67+
AuthClientErrorCode.INVALID_ARGUMENT,
68+
`'${key}' is not a valid PasskeyConfigRequest parameter.`,
69+
);
70+
}
71+
}
72+
if (!validator.isNonEmptyArray(passkeyConfigRequest.expectedOrigins)) {
73+
throw new FirebaseAuthError(
74+
AuthClientErrorCode.INVALID_ARGUMENT,
75+
'\'passkeyConfigRequest.expectedOrigins\' must be a valid non-empty array of strings.\'',
76+
);
7777
}
7878
for (const origin of passkeyConfigRequest.expectedOrigins) {
7979
if (!validator.isNonEmptyString(origin)) {
8080
throw new FirebaseAuthError(
8181
AuthClientErrorCode.INVALID_ARGUMENT,
82-
`'passkeyConfigRequest.expectedOrigins' must be a valid non-empty array of strings.'`,
82+
'\'passkeyConfigRequest.expectedOrigins\' must be a valid non-empty array of strings.\'',
8383
);
8484
}
8585
}
86-
};
86+
}
8787

88-
public static buildServerRequest(isCreateRequest: boolean, passkeyConfigRequest?: PasskeyConfigRequest, rpId?: string): PasskeyConfigClientRequest {
88+
public static buildServerRequest(isCreateRequest: boolean, passkeyConfigRequest?: PasskeyConfigRequest,
89+
rpId?: string): PasskeyConfigClientRequest {
8990
PasskeyConfig.validate(isCreateRequest, passkeyConfigRequest, rpId);
90-
let request: PasskeyConfigClientRequest = {};
91-
if(isCreateRequest && typeof rpId !== 'undefined') {
92-
request.rpId = rpId;
91+
const request: PasskeyConfigClientRequest = {};
92+
if (isCreateRequest && typeof rpId !== 'undefined') {
93+
request.rpId = rpId;
9394
}
94-
if(typeof passkeyConfigRequest?.expectedOrigins !== 'undefined') {
95-
request.expectedOrigins = passkeyConfigRequest.expectedOrigins;
95+
if (typeof passkeyConfigRequest?.expectedOrigins !== 'undefined') {
96+
request.expectedOrigins = passkeyConfigRequest.expectedOrigins;
9697
}
9798
return request;
98-
};
99+
}
99100

100101
constructor(response: PasskeyConfigServerResponse) {
101-
if(typeof response.name !== 'undefined') {
102-
this.name = response.name;
102+
if (typeof response.name !== 'undefined') {
103+
this.name = response.name;
103104
}
104-
if(typeof response.rpId !== 'undefined') {
105-
this.rpId = response.rpId;
106-
};
107-
if(typeof response.expectedOrigins !== 'undefined') {
108-
this.expectedOrigins = response.expectedOrigins;
105+
if (typeof response.rpId !== 'undefined') {
106+
this.rpId = response.rpId;
109107
}
110-
};
108+
if (typeof response.expectedOrigins !== 'undefined') {
109+
this.expectedOrigins = response.expectedOrigins;
110+
}
111+
}
111112

112113
public toJSON(): object {
113114
const json = {
114115
name: deepCopy(this.name),
115116
rpId: deepCopy(this.rpId),
116117
expectedOrigins: deepCopy(this.expectedOrigins),
117118
};
118-
if(typeof json.name === 'undefined') {
119+
if (typeof json.name === 'undefined') {
119120
delete json.name;
120121
}
121-
if(typeof json.rpId === 'undefined') {
122+
if (typeof json.rpId === 'undefined') {
122123
delete json.rpId;
123124
}
124-
if(typeof json.expectedOrigins === 'undefined') {
125+
if (typeof json.expectedOrigins === 'undefined') {
125126
delete json.expectedOrigins;
126127
}
127128
return json;
128129
}
129130

130-
};
131+
}
131132

test/integration/auth.spec.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2200,8 +2200,8 @@ describe('admin.auth', () => {
22002200
describe('Passkey config management operations', () => {
22012201
// Define expected passkey configuration
22022202
const expectedPasskeyConfig = {
2203-
name: `projects/{$projectId}/passkeyConfig`,
2204-
rpId: `{$projectId}.firebaseapp.com`,
2203+
name: 'projects/{$projectId}/passkeyConfig',
2204+
rpId: '{$projectId}.firebaseapp.com',
22052205
expectedOrigins: ['app1', 'example.com'],
22062206
};
22072207

@@ -2212,7 +2212,7 @@ describe('admin.auth', () => {
22122212
});
22132213

22142214
it('createPasskeyConfig() should create passkey config with expected passkeyConfig', async () => {
2215-
const rpId = `{$projectId}.firebaseapp.com`;
2215+
const rpId = '{$projectId}.firebaseapp.com';
22162216
const createRequest = { expectedOrigins: ['app1', 'example.com'] };
22172217

22182218
const createdPasskeyConfig = await getAuth().passkeyConfigManager().createPasskeyConfig(rpId, createRequest);

test/unit/auth/passkey-config-manager.spec.ts

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ describe('PasskeyConfigManager', () => {
4444
let malformedAccessTokenPasskeyConfigManager: PasskeyConfigManager;
4545
let rejectedPromiseAccessTokenPasskeyConfigManager: PasskeyConfigManager;
4646
const GET_CONFIG_RESPONSE: PasskeyConfigServerResponse = {
47-
name: `projects/project-id/passkeyConfig`,
48-
rpId: `project-id.firebaseapp.com`,
47+
name: 'projects/project-id/passkeyConfig',
48+
rpId: 'project-id.firebaseapp.com',
4949
expectedOrigins: ['app1', 'example.com'],
50-
};
50+
};
5151

5252
before(() => {
5353
mockApp = mocks.app();
@@ -121,7 +121,7 @@ describe('PasskeyConfigManager', () => {
121121
});
122122

123123
describe('createPasskeyConfig()', () => {
124-
const rpId: string = 'project-id.firebaseapp.com';
124+
const rpId = 'project-id.firebaseapp.com';
125125
const expectedOrigins: string[] = ['app1', 'example.com']
126126
const passkeyConfigRequest: PasskeyConfigRequest = {
127127
expectedOrigins: expectedOrigins ,
@@ -131,31 +131,31 @@ describe('PasskeyConfigManager', () => {
131131
AuthClientErrorCode.INTERNAL_ERROR,
132132
'Unable to create the config provided.');
133133
// Stubs used to simulate underlying API calls.
134-
let stubs: sinon.SinonStub[] = [];
134+
const stubs: sinon.SinonStub[] = [];
135135
afterEach(() => {
136136
sinon.restore();
137137
});
138138

139139
it('should be rejected given no passkeyConfigOptions', () => {
140-
return (passkeyConfigManager as any).createPasskeyConfig(null as unknown as PasskeyConfigRequest)
141-
.should.eventually.be.rejected.and.have.property('code', 'auth/argument-error');
142-
});
140+
return (passkeyConfigManager as any).createPasskeyConfig(null as unknown as PasskeyConfigRequest)
141+
.should.eventually.be.rejected.and.have.property('code', 'auth/argument-error');
142+
});
143143

144-
it('should be rejected given an app which returns null access tokens', () => {
145-
console.log("TEST===" + JSON.stringify(passkeyConfigRequest));
146-
return nullAccessTokenPasskeyConfigManager.createPasskeyConfig(rpId, passkeyConfigRequest)
147-
.should.eventually.be.rejected.and.have.property('code', 'app/invalid-credential');
148-
});
144+
it('should be rejected given an app which returns null access tokens', () => {
145+
console.log('TEST===' + JSON.stringify(passkeyConfigRequest));
146+
return nullAccessTokenPasskeyConfigManager.createPasskeyConfig(rpId, passkeyConfigRequest)
147+
.should.eventually.be.rejected.and.have.property('code', 'app/invalid-credential');
148+
});
149149

150-
it('should be rejected given an app which returns invalid access tokens', () => {
151-
return malformedAccessTokenPasskeyConfigManager.createPasskeyConfig(rpId, passkeyConfigRequest)
152-
.should.eventually.be.rejected.and.have.property('code', 'app/invalid-credential');
153-
});
150+
it('should be rejected given an app which returns invalid access tokens', () => {
151+
return malformedAccessTokenPasskeyConfigManager.createPasskeyConfig(rpId, passkeyConfigRequest)
152+
.should.eventually.be.rejected.and.have.property('code', 'app/invalid-credential');
153+
});
154154

155-
it('should be rejected given an app which fails to generate access tokens', () => {
156-
return rejectedPromiseAccessTokenPasskeyConfigManager.createPasskeyConfig(rpId, passkeyConfigRequest)
157-
.should.eventually.be.rejected.and.have.property('code', 'app/invalid-credential');
158-
});
155+
it('should be rejected given an app which fails to generate access tokens', () => {
156+
return rejectedPromiseAccessTokenPasskeyConfigManager.createPasskeyConfig(rpId, passkeyConfigRequest)
157+
.should.eventually.be.rejected.and.have.property('code', 'app/invalid-credential');
158+
});
159159

160160
it('should resolve with a PasskeyConfig on createPasskeyConfig request success', () => {
161161
// Stub createPasskeyConfig to return expected result.

0 commit comments

Comments
 (0)