@@ -58,6 +58,7 @@ public class ProjectResource implements Resource {
58
58
private final ProjectAccessManager accessManager ;
59
59
private final OrganizationDao orgDao ;
60
60
private final TeamDao teamDao ;
61
+ private final KvDao kvDao ;
61
62
private final EncryptedProjectValueManager encryptedValueManager ;
62
63
63
64
private final ProjectRepositoryManager projectRepositoryManager ;
@@ -69,13 +70,15 @@ public ProjectResource(OrganizationManager orgManager,
69
70
ProjectAccessManager accessManager ,
70
71
OrganizationDao orgDao ,
71
72
TeamDao teamDao ,
73
+ KvDao kvDao ,
72
74
EncryptedProjectValueManager encryptedValueManager ,
73
75
ProjectRepositoryManager projectRepositoryManager ) {
74
76
75
77
this .orgManager = orgManager ;
76
78
this .projectDao = projectDao ;
77
79
this .projectManager = projectManager ;
78
80
this .accessManager = accessManager ;
81
+ this .kvDao = kvDao ;
79
82
this .encryptedValueManager = encryptedValueManager ;
80
83
this .orgDao = orgDao ;
81
84
this .teamDao = teamDao ;
@@ -125,6 +128,23 @@ public List<ProjectEntry> find(@ApiParam @PathParam("orgName") @ConcordKey Strin
125
128
return projectManager .list (org .getId (), offset , limit , filter );
126
129
}
127
130
131
+ @ GET
132
+ @ ApiOperation ("list KV" )
133
+ @ Path ("/{orgName}/project/{projectName}/kv" )
134
+ @ Produces (MediaType .APPLICATION_JSON )
135
+ public List <Map <String , Object >> findKV (@ ApiParam @ PathParam ("orgName" ) @ ConcordKey String orgName ,
136
+ @ ApiParam @ PathParam ("projectName" ) @ ConcordKey String projectName ,
137
+ @ QueryParam ("offset" ) int offset ,
138
+ @ QueryParam ("limit" ) int limit ,
139
+ @ QueryParam ("filter" ) String filter ) {
140
+
141
+ OrganizationEntry org = orgManager .assertAccess (orgName , false );
142
+
143
+ ProjectEntry project = accessManager .assertAccess (org .getId (), null , projectName , ResourceAccessLevel .READER , false );
144
+
145
+ return kvDao .list (project .getId (), offset , limit , filter );
146
+ }
147
+
128
148
@ GET
129
149
@ ApiOperation ("Get a project's configuration" )
130
150
@ Path ("/{orgName}/project/{projectName}/cfg{path: (.*)?}" )
0 commit comments