mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-15 09:46:16 +01:00
Check permissions for git repository configuration
This commit is contained in:
@@ -8,6 +8,7 @@ import sonia.scm.repository.GitRepositoryConfig;
|
|||||||
import sonia.scm.repository.NamespaceAndName;
|
import sonia.scm.repository.NamespaceAndName;
|
||||||
import sonia.scm.repository.Repository;
|
import sonia.scm.repository.Repository;
|
||||||
import sonia.scm.repository.RepositoryManager;
|
import sonia.scm.repository.RepositoryManager;
|
||||||
|
import sonia.scm.repository.RepositoryPermissions;
|
||||||
import sonia.scm.store.ConfigurationStore;
|
import sonia.scm.store.ConfigurationStore;
|
||||||
import sonia.scm.web.GitVndMediaType;
|
import sonia.scm.web.GitVndMediaType;
|
||||||
|
|
||||||
@@ -50,6 +51,7 @@ public class GitRepositoryConfigResource {
|
|||||||
})
|
})
|
||||||
public Response getRepositoryConfig(@PathParam("namespace") String namespace, @PathParam("name") String name) {
|
public Response getRepositoryConfig(@PathParam("namespace") String namespace, @PathParam("name") String name) {
|
||||||
Repository repository = getRepository(namespace, name);
|
Repository repository = getRepository(namespace, name);
|
||||||
|
RepositoryPermissions.read(repository).check();
|
||||||
ConfigurationStore<GitRepositoryConfig> repositoryConfigStore = getStore(repository);
|
ConfigurationStore<GitRepositoryConfig> repositoryConfigStore = getStore(repository);
|
||||||
GitRepositoryConfig config = repositoryConfigStore.get();
|
GitRepositoryConfig config = repositoryConfigStore.get();
|
||||||
GitRepositoryConfigDto dto = repositoryConfigMapper.map(config, repository);
|
GitRepositoryConfigDto dto = repositoryConfigMapper.map(config, repository);
|
||||||
@@ -68,6 +70,7 @@ public class GitRepositoryConfigResource {
|
|||||||
})
|
})
|
||||||
public Response setRepositoryConfig(@PathParam("namespace") String namespace, @PathParam("name") String name, GitRepositoryConfigDto dto) {
|
public Response setRepositoryConfig(@PathParam("namespace") String namespace, @PathParam("name") String name, GitRepositoryConfigDto dto) {
|
||||||
Repository repository = getRepository(namespace, name);
|
Repository repository = getRepository(namespace, name);
|
||||||
|
RepositoryPermissions.modify(repository).check();
|
||||||
ConfigurationStore<GitRepositoryConfig> repositoryConfigStore = getStore(repository);
|
ConfigurationStore<GitRepositoryConfig> repositoryConfigStore = getStore(repository);
|
||||||
GitRepositoryConfig config = repositoryConfigMapper.map(dto);
|
GitRepositoryConfig config = repositoryConfigMapper.map(dto);
|
||||||
repositoryConfigStore.set(config);
|
repositoryConfigStore.set(config);
|
||||||
|
|||||||
Reference in New Issue
Block a user