diff --git a/backend/src/data/ApiLogins.ts b/backend/src/data/ApiLogins.ts index ab8779d0..5ad9c262 100644 --- a/backend/src/data/ApiLogins.ts +++ b/backend/src/data/ApiLogins.ts @@ -90,10 +90,15 @@ export class ApiLogins extends BaseRepository { const [loginId, token] = apiKey.split("."); if (!loginId || !token) return; + const updatedTime = moment().utc().add(LOGIN_EXPIRY_TIME, "ms"); + + const login = await this.apiLogins.createQueryBuilder().where("id = :id", { id: loginId }).getOne(); + if (!login || moment.utc(login.expires_at).isSameOrAfter(updatedTime)) return; + await this.apiLogins.update( { id: loginId }, { - expires_at: moment().utc().add(LOGIN_EXPIRY_TIME, "ms").format(DBDateFormat), + expires_at: updatedTime.format(DBDateFormat), }, ); }