diff --git a/app/lib/database/model/Server.js b/app/lib/database/model/Server.js index e4dad5ed2..8a82cc07c 100644 --- a/app/lib/database/model/Server.js +++ b/app/lib/database/model/Server.js @@ -17,4 +17,6 @@ export default class Server extends Model { @date('rooms_updated_at') roomsUpdatedAt; @field('version') version; + + @date('last_local_authenticated_session') lastLocalAuthenticatedSession; } diff --git a/app/lib/database/model/serversMigrations.js b/app/lib/database/model/serversMigrations.js index d11b76432..4ccde6180 100644 --- a/app/lib/database/model/serversMigrations.js +++ b/app/lib/database/model/serversMigrations.js @@ -12,6 +12,17 @@ export default schemaMigrations({ ] }) ] + }, + { + toVersion: 4, + steps: [ + addColumns({ + table: 'servers', + columns: [ + { name: 'last_local_authenticated_session', type: 'number', isOptional: true } + ] + }) + ] } ] }); diff --git a/app/lib/database/schema/servers.js b/app/lib/database/schema/servers.js index ec4980d1c..b843dfde9 100644 --- a/app/lib/database/schema/servers.js +++ b/app/lib/database/schema/servers.js @@ -1,7 +1,7 @@ import { appSchema, tableSchema } from '@nozbe/watermelondb'; export default appSchema({ - version: 3, + version: 4, tables: [ tableSchema({ name: 'users', @@ -24,7 +24,8 @@ export default appSchema({ { name: 'file_upload_media_type_white_list', type: 'string', isOptional: true }, { name: 'file_upload_max_file_size', type: 'number', isOptional: true }, { name: 'rooms_updated_at', type: 'number', isOptional: true }, - { name: 'version', type: 'string', isOptional: true } + { name: 'version', type: 'string', isOptional: true }, + { name: 'last_local_authenticated_session', type: 'number', isOptional: true } ] }) ] diff --git a/app/utils/localAuthentication.js b/app/utils/localAuthentication.js index b60e9c07c..468acf60a 100644 --- a/app/utils/localAuthentication.js +++ b/app/utils/localAuthentication.js @@ -14,6 +14,10 @@ const localAuthenticate = async(server) => { return Promise.reject(); } + // if (serverRecord?.lastLocalAuthenticatedSession) { + + // } + const authResult = await LocalAuthentication.authenticateAsync(); return Promise.resolve(authResult?.success); };