Merge "Add new 'read as' capability."
This commit is contained in:
@@ -90,6 +90,9 @@ public class GlobalCapability {
|
|||||||
/** Default result limit per executed query. */
|
/** Default result limit per executed query. */
|
||||||
public static final int DEFAULT_MAX_QUERY_LIMIT = 500;
|
public static final int DEFAULT_MAX_QUERY_LIMIT = 500;
|
||||||
|
|
||||||
|
/** Can impersonate any user to see which refs they can read. */
|
||||||
|
public static final String READ_AS = "readAs";
|
||||||
|
|
||||||
/** Ability to impersonate another user. */
|
/** Ability to impersonate another user. */
|
||||||
public static final String RUN_AS = "runAs";
|
public static final String RUN_AS = "runAs";
|
||||||
|
|
||||||
@@ -138,6 +141,7 @@ public class GlobalCapability {
|
|||||||
NAMES_ALL.add(MODIFY_ACCOUNT);
|
NAMES_ALL.add(MODIFY_ACCOUNT);
|
||||||
NAMES_ALL.add(PRIORITY);
|
NAMES_ALL.add(PRIORITY);
|
||||||
NAMES_ALL.add(QUERY_LIMIT);
|
NAMES_ALL.add(QUERY_LIMIT);
|
||||||
|
NAMES_ALL.add(READ_AS);
|
||||||
NAMES_ALL.add(RUN_AS);
|
NAMES_ALL.add(RUN_AS);
|
||||||
NAMES_ALL.add(RUN_GC);
|
NAMES_ALL.add(RUN_GC);
|
||||||
NAMES_ALL.add(STREAM_EVENTS);
|
NAMES_ALL.add(STREAM_EVENTS);
|
||||||
|
@@ -48,6 +48,7 @@ public class CapabilityCollection {
|
|||||||
public final ImmutableList<PermissionRule> batchChangesLimit;
|
public final ImmutableList<PermissionRule> batchChangesLimit;
|
||||||
public final ImmutableList<PermissionRule> emailReviewers;
|
public final ImmutableList<PermissionRule> emailReviewers;
|
||||||
public final ImmutableList<PermissionRule> priority;
|
public final ImmutableList<PermissionRule> priority;
|
||||||
|
public final ImmutableList<PermissionRule> readAs;
|
||||||
public final ImmutableList<PermissionRule> queryLimit;
|
public final ImmutableList<PermissionRule> queryLimit;
|
||||||
public final ImmutableList<PermissionRule> createGroup;
|
public final ImmutableList<PermissionRule> createGroup;
|
||||||
|
|
||||||
@@ -97,6 +98,7 @@ public class CapabilityCollection {
|
|||||||
batchChangesLimit = getPermission(GlobalCapability.BATCH_CHANGES_LIMIT);
|
batchChangesLimit = getPermission(GlobalCapability.BATCH_CHANGES_LIMIT);
|
||||||
emailReviewers = getPermission(GlobalCapability.EMAIL_REVIEWERS);
|
emailReviewers = getPermission(GlobalCapability.EMAIL_REVIEWERS);
|
||||||
priority = getPermission(GlobalCapability.PRIORITY);
|
priority = getPermission(GlobalCapability.PRIORITY);
|
||||||
|
readAs = getPermission(GlobalCapability.READ_AS);
|
||||||
queryLimit = getPermission(GlobalCapability.QUERY_LIMIT);
|
queryLimit = getPermission(GlobalCapability.QUERY_LIMIT);
|
||||||
createGroup = getPermission(GlobalCapability.CREATE_GROUP);
|
createGroup = getPermission(GlobalCapability.CREATE_GROUP);
|
||||||
}
|
}
|
||||||
|
@@ -34,6 +34,7 @@ public class CapabilityConstants extends TranslationBundle {
|
|||||||
public String maintainServer;
|
public String maintainServer;
|
||||||
public String modifyAccount;
|
public String modifyAccount;
|
||||||
public String priority;
|
public String priority;
|
||||||
|
public String readAs;
|
||||||
public String queryLimit;
|
public String queryLimit;
|
||||||
public String runAs;
|
public String runAs;
|
||||||
public String runGC;
|
public String runGC;
|
||||||
|
@@ -172,6 +172,7 @@ public class DefaultPermissionBackend extends PermissionBackend {
|
|||||||
case CREATE_PROJECT:
|
case CREATE_PROJECT:
|
||||||
case MAINTAIN_SERVER:
|
case MAINTAIN_SERVER:
|
||||||
case MODIFY_ACCOUNT:
|
case MODIFY_ACCOUNT:
|
||||||
|
case READ_AS:
|
||||||
case STREAM_EVENTS:
|
case STREAM_EVENTS:
|
||||||
case VIEW_ALL_ACCOUNTS:
|
case VIEW_ALL_ACCOUNTS:
|
||||||
case VIEW_CONNECTIONS:
|
case VIEW_CONNECTIONS:
|
||||||
|
@@ -50,6 +50,7 @@ public class DefaultPermissionMappings {
|
|||||||
.put(GlobalPermission.KILL_TASK, GlobalCapability.KILL_TASK)
|
.put(GlobalPermission.KILL_TASK, GlobalCapability.KILL_TASK)
|
||||||
.put(GlobalPermission.MAINTAIN_SERVER, GlobalCapability.MAINTAIN_SERVER)
|
.put(GlobalPermission.MAINTAIN_SERVER, GlobalCapability.MAINTAIN_SERVER)
|
||||||
.put(GlobalPermission.MODIFY_ACCOUNT, GlobalCapability.MODIFY_ACCOUNT)
|
.put(GlobalPermission.MODIFY_ACCOUNT, GlobalCapability.MODIFY_ACCOUNT)
|
||||||
|
.put(GlobalPermission.READ_AS, GlobalCapability.READ_AS)
|
||||||
.put(GlobalPermission.RUN_AS, GlobalCapability.RUN_AS)
|
.put(GlobalPermission.RUN_AS, GlobalCapability.RUN_AS)
|
||||||
.put(GlobalPermission.RUN_GC, GlobalCapability.RUN_GC)
|
.put(GlobalPermission.RUN_GC, GlobalCapability.RUN_GC)
|
||||||
.put(GlobalPermission.STREAM_EVENTS, GlobalCapability.STREAM_EVENTS)
|
.put(GlobalPermission.STREAM_EVENTS, GlobalCapability.STREAM_EVENTS)
|
||||||
|
@@ -43,6 +43,7 @@ public enum GlobalPermission implements GlobalOrPluginPermission {
|
|||||||
KILL_TASK,
|
KILL_TASK,
|
||||||
MAINTAIN_SERVER,
|
MAINTAIN_SERVER,
|
||||||
MODIFY_ACCOUNT,
|
MODIFY_ACCOUNT,
|
||||||
|
READ_AS,
|
||||||
RUN_AS,
|
RUN_AS,
|
||||||
RUN_GC,
|
RUN_GC,
|
||||||
STREAM_EVENTS,
|
STREAM_EVENTS,
|
||||||
|
@@ -42,7 +42,7 @@ import org.eclipse.jgit.lib.Ref;
|
|||||||
import org.eclipse.jgit.lib.Repository;
|
import org.eclipse.jgit.lib.Repository;
|
||||||
import org.kohsuke.args4j.Option;
|
import org.kohsuke.args4j.Option;
|
||||||
|
|
||||||
@RequiresCapability(GlobalCapability.ADMINISTRATE_SERVER)
|
@RequiresCapability(GlobalCapability.READ_AS)
|
||||||
@CommandMetaData(
|
@CommandMetaData(
|
||||||
name = "ls-user-refs",
|
name = "ls-user-refs",
|
||||||
description = "List refs visible to a specific user",
|
description = "List refs visible to a specific user",
|
||||||
|
@@ -28,6 +28,7 @@ class CapabilityInfo {
|
|||||||
public boolean modifyAccount;
|
public boolean modifyAccount;
|
||||||
public boolean priority;
|
public boolean priority;
|
||||||
public QueryLimit queryLimit;
|
public QueryLimit queryLimit;
|
||||||
|
public boolean readAs;
|
||||||
public boolean runAs;
|
public boolean runAs;
|
||||||
public boolean runGC;
|
public boolean runGC;
|
||||||
public boolean streamEvents;
|
public boolean streamEvents;
|
||||||
|
@@ -10,6 +10,7 @@ killTask = Kill Task
|
|||||||
maintainServer = Maintain Server
|
maintainServer = Maintain Server
|
||||||
modifyAccount = Modify Account
|
modifyAccount = Modify Account
|
||||||
priority = Priority
|
priority = Priority
|
||||||
|
readAs = Read As
|
||||||
queryLimit = Query Limit
|
queryLimit = Query Limit
|
||||||
runAs = Run As
|
runAs = Run As
|
||||||
runGC = Run Garbage Collection
|
runGC = Run Garbage Collection
|
||||||
|
Reference in New Issue
Block a user