-
Notifications
You must be signed in to change notification settings - Fork 389
fix(auth): Properly parse the lastRefreshTime. #888
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
Conversation
It's returned from the server in a different format than the other timestamps. Fixes #887
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good. Just a couple of suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. LGTM 👍
test/integration/auth.spec.ts
Outdated
@@ -336,6 +336,10 @@ describe('admin.auth', () => { | |||
.then((userRecord) => { | |||
expect(userRecord.metadata.lastRefreshTime).to.exist; | |||
expect(isUTCString(userRecord.metadata.lastRefreshTime!)); | |||
const creationTime = new Date(userRecord.metadata.creationTime).getTime(); | |||
const lastRefreshTime = new Date(userRecord.metadata.lastRefreshTime).getTime(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need !
to satisfy the compiler.
test/integration/auth.spec.ts
Outdated
const creationTime = new Date(userRecord.metadata.creationTime).getTime(); | ||
const lastRefreshTime = new Date(userRecord.metadata.lastRefreshTime!).getTime(); | ||
expect(creationTime).lte(lastRefreshTime); | ||
expect(lastRefreshTime).lte(creationTime + 3600*1000); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add spaces: 3600 * 1000
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
@@ -326,7 +326,8 @@ export class UserMetadata { | |||
// These bugs have already been addressed since then. | |||
utils.addReadonlyGetter(this, 'creationTime', parseDate(response.createdAt)); | |||
utils.addReadonlyGetter(this, 'lastSignInTime', parseDate(response.lastLoginAt)); | |||
utils.addReadonlyGetter(this, 'lastRefreshTime', parseDate(response.lastRefreshAt)); | |||
const lastRefreshAt = response.lastRefreshAt ? new Date(response.lastRefreshAt).toUTCString() : null; | |||
utils.addReadonlyGetter(this, 'lastRefreshTime', lastRefreshAt); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You also need to return this in toJSON
and add a test for it
return {
lastSignInTime: this.lastSignInTime,
creationTime: this.creationTime,
lastRefreshTime: this.refreshTime,
};
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's in the followup (#889)
test/unit/auth/user-record.spec.ts
Outdated
@@ -616,10 +616,12 @@ describe('UserInfo', () => { | |||
describe('UserMetadata', () => { | |||
const expectedLastLoginAt = 1476235905000; | |||
const expectedCreatedAt = 1476136676000; | |||
const expectedLastRefreshAt = "2016-10-12T01:31:45.000Z" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use single quotes:
'2016-10-12T01:31:45.000Z'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
It's returned from the server in a different format than the other timestamps.
Fixes #887