diff --git a/keyserver/src/database/migration-config.js b/keyserver/src/database/migration-config.js --- a/keyserver/src/database/migration-config.js +++ b/keyserver/src/database/migration-config.js @@ -319,6 +319,12 @@ }, ], [29, updateRolesAndPermissionsForAllThreads], + [ + 30, + async () => { + await dbQuery(SQL`DROP TABLE versions;`); + }, + ], ]); const newDatabaseVersion: number = Math.max(...migrations.keys()); diff --git a/keyserver/src/database/setup-db.js b/keyserver/src/database/setup-db.js --- a/keyserver/src/database/setup-db.js +++ b/keyserver/src/database/setup-db.js @@ -207,14 +207,6 @@ status tinyint(1) UNSIGNED NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; - CREATE TABLE versions ( - id bigint(20) NOT NULL, - code_version int(11) NOT NULL, - platform varchar(255) NOT NULL, - creation_time bigint(20) NOT NULL, - deploy_time bigint(20) DEFAULT NULL - ) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE one_time_keys ( session bigint(20) NOT NULL, one_time_key char(43) NOT NULL @@ -349,10 +341,6 @@ ADD UNIQUE KEY user1_user2 (user1,user2), ADD UNIQUE KEY user2_user1 (user2,user1); - ALTER TABLE versions - ADD PRIMARY KEY (id), - ADD UNIQUE KEY code_version_platform (code_version,platform); - ALTER TABLE one_time_keys ADD PRIMARY KEY (session, one_time_key); diff --git a/keyserver/src/keyserver.js b/keyserver/src/keyserver.js --- a/keyserver/src/keyserver.js +++ b/keyserver/src/keyserver.js @@ -13,17 +13,12 @@ import { emailSubscriptionResponder } from './responders/comm-landing-responders.js'; import { jsonHandler, - httpGetHandler, downloadHandler, htmlHandler, uploadHandler, } from './responders/handlers.js'; import landingHandler from './responders/landing-handler.js'; import { errorReportDownloadResponder } from './responders/report-responders.js'; -import { - createNewVersionResponder, - markVersionDeployedResponder, -} from './responders/version-responders.js'; import { inviteResponder, websiteResponder, @@ -105,15 +100,6 @@ ); } - router.get( - '/create_version/:deviceType/:codeVersion', - httpGetHandler(createNewVersionResponder), - ); - router.get( - '/mark_version_deployed/:deviceType/:codeVersion', - httpGetHandler(markVersionDeployedResponder), - ); - router.get( '/download_error_report/:reportID', downloadHandler(errorReportDownloadResponder), diff --git a/keyserver/src/responders/version-responders.js b/keyserver/src/responders/version-responders.js deleted file mode 100644 --- a/keyserver/src/responders/version-responders.js +++ /dev/null @@ -1,78 +0,0 @@ -// @flow - -import type { $Response, $Request } from 'express'; -import t from 'tcomb'; - -import { isStaff } from 'lib/shared/user-utils.js'; -import type { CreateNewVersionsRequest } from 'lib/types/version-types.js'; -import { ServerError } from 'lib/utils/errors.js'; -import { tShape, tDeviceType } from 'lib/utils/validation-utils.js'; - -import createIDs from '../creators/id-creator.js'; -import { dbQuery, SQL } from '../database/database.js'; -import type { Viewer } from '../session/viewer.js'; -import { validateInput } from '../utils/validation-utils.js'; - -const createNewVersionInputValidator = tShape({ - codeVersion: t.Number, - deviceType: tDeviceType, -}); - -async function createNewVersionResponder( - viewer: Viewer, - req: $Request, - res: $Response, -): Promise { - if (!viewer.loggedIn || !isStaff(viewer.userID)) { - throw new ServerError('invalid_credentials'); - } - - const request: CreateNewVersionsRequest = ({ - codeVersion: parseInt(req.params.codeVersion), - deviceType: req.params.deviceType, - }: any); - await validateInput(viewer, createNewVersionInputValidator, request); - - const [id] = await createIDs('versions', 1); - const row = [id, request.codeVersion, request.deviceType, Date.now()]; - const insertQuery = SQL` - INSERT INTO versions (id, code_version, platform, creation_time) - VALUES ${[row]} - `; - try { - await dbQuery(insertQuery); - res.json({ success: true }); - } catch { - await dbQuery(SQL`DELETE FROM ids WHERE id = ${id}`); - res.json({ success: false }); - } -} - -async function markVersionDeployedResponder( - viewer: Viewer, - req: $Request, - res: $Response, -): Promise { - if (!viewer.loggedIn || !isStaff(viewer.userID)) { - throw new ServerError('invalid_credentials'); - } - - const request: CreateNewVersionsRequest = ({ - codeVersion: parseInt(req.params.codeVersion), - deviceType: req.params.deviceType, - }: any); - await validateInput(viewer, createNewVersionInputValidator, request); - - const updateQuery = SQL` - UPDATE versions - SET deploy_time = ${Date.now()} - WHERE code_version = ${request.codeVersion} - AND platform = ${request.deviceType} - `; - const [results] = await dbQuery(updateQuery); - - const success = !!(results.affectedRows && results.affectedRows > 0); - res.json({ success }); -} - -export { createNewVersionResponder, markVersionDeployedResponder }; diff --git a/lib/types/version-types.js b/lib/types/version-types.js deleted file mode 100644 --- a/lib/types/version-types.js +++ /dev/null @@ -1,8 +0,0 @@ -// @flow - -import type { DeviceType } from './device-types.js'; - -export type CreateNewVersionsRequest = { - +codeVersion: number, - +deviceType: DeviceType, -};