Просмотр исходного кода

Make project list react as the default in main router (#12047)

* Make project list react as the default in the main router

* Remove angular controller check-in project list smoke test

GitOrigin-RevId: 586a14afd9888d6f18e3cfa64aeebc5975bb43d5
M Fahru 3 лет назад
Родитель
Сommit
01c504109b

+ 1 - 28
services/web/app/src/Features/Project/ProjectController.js

@@ -43,8 +43,6 @@ const { hasAdminAccess } = require('../Helpers/AdminAuthorizationHelper')
 const InstitutionsFeatures = require('../Institutions/InstitutionsFeatures')
 const SubscriptionViewModelBuilder = require('../Subscription/SubscriptionViewModelBuilder')
 const SurveyHandler = require('../Survey/SurveyHandler')
-const { expressify } = require('../../util/promises')
-const ProjectListController = require('./ProjectListController')
 const ProjectAuditLogHandler = require('./ProjectAuditLogHandler')
 const PublicAccessLevels = require('../Authorization/PublicAccessLevels')
 
@@ -408,28 +406,7 @@ const ProjectController = {
     })
   },
 
-  async projectListPage(req, res, next) {
-    try {
-      const assignment = await SplitTestHandler.promises.getAssignment(
-        req,
-        res,
-        'project-dashboard-react'
-      )
-      if (assignment.variant === 'enabled') {
-        ProjectListController.projectListReactPage(req, res, next)
-      } else {
-        ProjectController._projectListAngularPage(req, res, next)
-      }
-    } catch (error) {
-      logger.warn(
-        { err: error },
-        'failed to get "project-dashboard-react" split test assignment'
-      )
-      ProjectController._projectListAngularPage(req, res, next)
-    }
-  },
-
-  _projectListAngularPage(req, res, next) {
+  projectListPage(req, res, next) {
     const timer = new metrics.Timer('project-list')
     const userId = SessionManager.getLoggedInUserId(req.session)
     const currentUser = SessionManager.getSessionUser(req.session)
@@ -1637,8 +1614,4 @@ const LEGACY_THEME_LIST = [
   'xcode',
 ]
 
-ProjectController.projectListPage = expressify(
-  ProjectController.projectListPage
-)
-
 module.exports = ProjectController

+ 2 - 2
services/web/app/src/Features/Project/ProjectListController.js

@@ -82,7 +82,7 @@ const _buildPortalTemplatesList = affiliations => {
  * @param {import("express").NextFunction} next
  * @returns {Promise<void>}
  */
-async function projectListReactPage(req, res, next) {
+async function projectListPage(req, res, next) {
   // can have two values:
   // - undefined - when there's no "saas" feature or couldn't get subscription data
   // - object - the subscription data object
@@ -601,6 +601,6 @@ function _hasActiveFilter(filters) {
 }
 
 module.exports = {
-  projectListReactPage: expressify(projectListReactPage),
+  projectListPage: expressify(projectListPage),
   getProjectsJson: expressify(getProjectsJson),
 }

+ 1 - 1
services/web/app/src/router.js

@@ -464,7 +464,7 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
     '/project',
     AuthenticationController.requireLogin(),
     RateLimiterMiddleware.rateLimit(rateLimiters.openDashboard),
-    ProjectController.projectListPage
+    ProjectListController.projectListPage
   )
   webRouter.post(
     '/project/new',

+ 0 - 4
services/web/test/smoke/src/steps/100_loadProjectDashboard.js

@@ -1,4 +1,3 @@
-const ANGULAR_PROJECT_CONTROLLER_REGEX = /controller="ProjectPageController"/
 const TITLE_REGEX = /<title>Your Projects - .*, Online LaTeX Editor<\/title>/
 
 async function run({ request, assertHasStatusCode }) {
@@ -9,9 +8,6 @@ async function run({ request, assertHasStatusCode }) {
   if (!TITLE_REGEX.test(response.body)) {
     throw new Error('body does not have correct title')
   }
-  if (!ANGULAR_PROJECT_CONTROLLER_REGEX.test(response.body)) {
-    throw new Error('body does not have correct angular controller')
-  }
 }
 
 module.exports = { run }