Skip to content

Commit e2165b7

Browse files
authored
Merge pull request nextcloud#691 from nextcloud/ocs_allow_all_old_routes
Allow ocs/v2.php/cloud/... routes
2 parents 6957361 + 9d72f72 commit e2165b7

3 files changed

Lines changed: 15 additions & 9 deletions

File tree

lib/private/AppFramework/Routing/RouteConfig.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,13 @@ private function processOCS(array $routes) {
8686
$postfix = $ocsRoute['postfix'];
8787
}
8888

89-
$url = $ocsRoute['url'];
89+
if (isset($ocsRoute['root'])) {
90+
$root = $ocsRoute['root'];
91+
} else {
92+
$root = '/apps/'.$this->appName;
93+
}
94+
95+
$url = $root . $ocsRoute['url'];
9096
$verb = isset($ocsRoute['verb']) ? strtoupper($ocsRoute['verb']) : 'GET';
9197

9298
$split = explode('#', $name, 2);

lib/private/Route/Router.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ public function loadRoutes($app = null) {
154154

155155
// Also add the OCS collection
156156
$collection = $this->getCollection($app.'.ocs');
157-
$collection->addPrefix('/ocsapp/apps/' . $app);
157+
$collection->addPrefix('/ocsapp');
158158
$this->root->addCollection($collection);
159159
}
160160
}

tests/lib/AppFramework/Routing/RoutingTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function testSimpleOCSRoute() {
2424
]
2525
];
2626

27-
$this->assertSimpleOCSRoute($routes, 'folders.open', 'GET', '/folders/{folderId}/open', 'FoldersController', 'open');
27+
$this->assertSimpleOCSRoute($routes, 'folders.open', 'GET', '/apps/app1/folders/{folderId}/open', 'FoldersController', 'open');
2828
}
2929

3030
public function testSimpleRouteWithMissingVerb()
@@ -42,7 +42,7 @@ public function testSimpleOCSRouteWithMissingVerb() {
4242
]
4343
];
4444

45-
$this->assertSimpleOCSRoute($routes, 'folders.open', 'GET', '/folders/{folderId}/open', 'FoldersController', 'open');
45+
$this->assertSimpleOCSRoute($routes, 'folders.open', 'GET', '/apps/app1/folders/{folderId}/open', 'FoldersController', 'open');
4646
}
4747

4848
public function testSimpleRouteWithLowercaseVerb()
@@ -60,7 +60,7 @@ public function testSimpleOCSRouteWithLowercaseVerb() {
6060
]
6161
];
6262

63-
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/folders/{folderId}/open', 'FoldersController', 'open');
63+
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/apps/app1/folders/{folderId}/open', 'FoldersController', 'open');
6464
}
6565

6666
public function testSimpleRouteWithRequirements()
@@ -78,7 +78,7 @@ public function testSimpleOCSRouteWithRequirements() {
7878
]
7979
];
8080

81-
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/folders/{folderId}/open', 'FoldersController', 'open', ['something']);
81+
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/apps/app1/folders/{folderId}/open', 'FoldersController', 'open', ['something']);
8282
}
8383

8484
public function testSimpleRouteWithDefaults()
@@ -97,7 +97,7 @@ public function testSimpleOCSRouteWithDefaults() {
9797
]
9898
];
9999

100-
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/folders/{folderId}/open', 'FoldersController', 'open', [], ['param' => 'foobar']);
100+
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/apps/app1/folders/{folderId}/open', 'FoldersController', 'open', [], ['param' => 'foobar']);
101101
}
102102

103103
public function testSimpleRouteWithPostfix()
@@ -115,7 +115,7 @@ public function testSimpleOCSRouteWithPostfix() {
115115
]
116116
];
117117

118-
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/folders/{folderId}/open', 'FoldersController', 'open', [], [], '_something');
118+
$this->assertSimpleOCSRoute($routes, 'folders.open', 'DELETE', '/apps/app1/folders/{folderId}/open', 'FoldersController', 'open', [], [], '_something');
119119
}
120120

121121
/**
@@ -175,7 +175,7 @@ public function testSimpleOCSRouteWithUnderScoreNames() {
175175
['name' => 'admin_folders#open_current', 'url' => '/folders/{folderId}/open', 'verb' => 'delete']
176176
]];
177177

178-
$this->assertSimpleOCSRoute($routes, 'admin_folders.open_current', 'DELETE', '/folders/{folderId}/open', 'AdminFoldersController', 'openCurrent');
178+
$this->assertSimpleOCSRoute($routes, 'admin_folders.open_current', 'DELETE', '/apps/app1/folders/{folderId}/open', 'AdminFoldersController', 'openCurrent');
179179
}
180180

181181
public function testResource()

0 commit comments

Comments
 (0)