Skip to content

Commit d1c5c3d

Browse files
annahiletaAaronWDSmeihDS
authored
Implemented code examples for Admin Api (docusign#33)
* Implemented code examples for Admin Api * Admin API Doc standards Changes * add new examples and related code files * adding gist marker snippet steps and explainer comments Co-authored-by: Aaron JacksonWilde <Aaron.Wilde@docusign.com> Co-authored-by: meihDS <70775251+meihDS@users.noreply.github.com>
1 parent a14f575 commit d1c5c3d

33 files changed

Lines changed: 1490 additions & 11 deletions

.factorypath

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<factorypathentry kind="VARJAR" id="M2_REPO/org/apache/tomcat/embed/tomcat-embed-el/9.0.50/tomcat-embed-el-9.0.50.jar" enabled="true" runInBatchMode="false"/>
5959
<factorypathentry kind="VARJAR" id="M2_REPO/org/eclipse/jdt/ecj/3.18.0/ecj-3.18.0.jar" enabled="true" runInBatchMode="false"/>
6060
<factorypathentry kind="VARJAR" id="M2_REPO/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar" enabled="true" runInBatchMode="false"/>
61-
<factorypathentry kind="VARJAR" id="M2_REPO/com/docusign/docusign-esign-java/3.13.0-RC1/docusign-esign-java-3.13.0-RC1.jar" enabled="true" runInBatchMode="false"/>
61+
<factorypathentry kind="VARJAR" id="M2_REPO/com/docusign/docusign-esign-java/3.15.0-RC1/docusign-esign-java-3.15.0-RC1.jar" enabled="true" runInBatchMode="false"/>
6262
<factorypathentry kind="VARJAR" id="M2_REPO/io/swagger/swagger-annotations/1.5.18/swagger-annotations-1.5.18.jar" enabled="true" runInBatchMode="false"/>
6363
<factorypathentry kind="VARJAR" id="M2_REPO/org/glassfish/jersey/core/jersey-client/2.33/jersey-client-2.33.jar" enabled="true" runInBatchMode="false"/>
6464
<factorypathentry kind="VARJAR" id="M2_REPO/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar" enabled="true" runInBatchMode="false"/>
@@ -84,10 +84,11 @@
8484
<factorypathentry kind="VARJAR" id="M2_REPO/org/json/json/20140107/json-20140107.jar" enabled="true" runInBatchMode="false"/>
8585
<factorypathentry kind="VARJAR" id="M2_REPO/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar" enabled="true" runInBatchMode="false"/>
8686
<factorypathentry kind="VARJAR" id="M2_REPO/com/auth0/java-jwt/3.4.1/java-jwt-3.4.1.jar" enabled="true" runInBatchMode="false"/>
87-
<factorypathentry kind="VARJAR" id="M2_REPO/org/bouncycastle/bcprov-jdk15on/1.60/bcprov-jdk15on-1.60.jar" enabled="true" runInBatchMode="false"/>
87+
<factorypathentry kind="VARJAR" id="M2_REPO/org/bouncycastle/bcprov-jdk15on/1.69/bcprov-jdk15on-1.69.jar" enabled="true" runInBatchMode="false"/>
8888
<factorypathentry kind="VARJAR" id="M2_REPO/com/fasterxml/jackson/dataformat/jackson-dataformat-csv/2.12.4/jackson-dataformat-csv-2.12.4.jar" enabled="true" runInBatchMode="false"/>
8989
<factorypathentry kind="VARJAR" id="M2_REPO/com/brsanthu/migbase64/2.2/migbase64-2.2.jar" enabled="true" runInBatchMode="false"/>
9090
<factorypathentry kind="VARJAR" id="M2_REPO/com/docusign/docusign-rooms-java/1.1.0-RC1/docusign-rooms-java-1.1.0-RC1.jar" enabled="true" runInBatchMode="false"/>
9191
<factorypathentry kind="VARJAR" id="M2_REPO/com/docusign/docusign-click-java/1.0.0-BETA/docusign-click-java-1.0.0-BETA.jar" enabled="true" runInBatchMode="false"/>
9292
<factorypathentry kind="VARJAR" id="M2_REPO/com/docusign/docusign-monitor-java/1.0.0-BETA/docusign-monitor-java-1.0.0-BETA.jar" enabled="true" runInBatchMode="false"/>
93+
<factorypathentry kind="VARJAR" id="M2_REPO/com/docusign/docusign-admin-java/1.0.0-BETA/docusign-admin-java-1.0.0-BETA.jar" enabled="true" runInBatchMode="false"/>
9394
</factorypath>

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ private.key
4040
application.properties
4141
/target/
4242
src/main/resources/application.json
43+
src/main/resources/application.properties
44+
src/main/java/com/docusign/admin/
4345

4446
# according to gitignore.io this shouldnt be shared
4547
.factorypath
48+
src/main/resources/ExportedUserData.csv

.vscode/launch.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"type": "java",
9+
"name": "Launch App",
10+
"request": "launch",
11+
"mainClass": "com.docusign.App",
12+
"projectName": "code-examples-java"
13+
},
14+
{
15+
"type": "java",
16+
"name": "Launch Java Program",
17+
"request": "launch",
18+
"mainClass": ""
19+
}
20+
]
21+
}

README.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### GitHub repo: [code-examples-java](./README.md)
44

5-
This GitHub repo includes code examples for the DocuSign eSignature REST API, Rooms API, Click API, and Monitor API. To switch between API code examples, in the application.json file, change the `DS_API_NAME` setting from `ESIGNATURE` to `ROOMS`, `CLICK`, or `MONITOR`.
5+
This GitHub repo includes code examples for the DocuSign Admin API, Click API, eSignature REST API, Monitor API, and Rooms API. To switch between API code examples, in the application.json file, modify the `DS_API_NAME` setting from `ESIGNATURE` to `ADMIN`, `CLICK`, `MONITOR`, or `ROOMS`, .
66

77

88
## Introduction
@@ -50,6 +50,16 @@ For information about the scopes used for obtaining authorization to use the Mon
5050

5151
For a list of code examples that use the Click API, select the Java tab under [Examples and languages](https://developers.docusign.com/docs/monitor-api/how-to/code-launchers#examples-and-languages) on the DocuSign Developer Center.
5252

53+
54+
## Admin API
55+
56+
**Note:** To use the Admin API, you must [create an organization](https://support.docusign.com/en/guides/org-admin-guide-create-org) in your DocuSign developer account. Also, to run the DocuSign CLM code example, [CLM must be enabled for your organization](https://support.docusign.com/en/articles/DocuSign-and-SpringCM).
57+
58+
For information about the scopes used for obtaining authorization to use the Admin API, see the [scopes section](https://developers.docusign.com/docs/admin-api/admin101/auth/).
59+
60+
For a list of code examples that use the Admin API, select the Java tab under [Examples and languages](https://developers.docusign.com/docs/admin-api/how-to/code-launchers/#examples-and-languages) on the DocuSign Developer Center.
61+
62+
5363
## Installation
5464

5565
### Prerequisites

code-examples-java.iml

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3+
<component name="FacetManager">
4+
<facet type="web" name="Web">
5+
<configuration>
6+
<webroots>
7+
<root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
8+
</webroots>
9+
</configuration>
10+
</facet>
11+
<facet type="Spring" name="Spring">
12+
<configuration />
13+
</facet>
14+
</component>
15+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_11">
16+
<output url="file://$MODULE_DIR$/target/classes" />
17+
<output-test url="file://$MODULE_DIR$/target/test-classes" />
18+
<content url="file://$MODULE_DIR$">
19+
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
20+
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
21+
<excludeFolder url="file://$MODULE_DIR$/target" />
22+
</content>
23+
<orderEntry type="inheritedJdk" />
24+
<orderEntry type="sourceFolder" forTests="false" />
25+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.2.1.RELEASE" level="project" />
26+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.2.1.RELEASE" level="project" />
27+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.2.1.RELEASE" level="project" />
28+
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
29+
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
30+
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.12.1" level="project" />
31+
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.12.1" level="project" />
32+
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.29" level="project" />
33+
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
34+
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.1.RELEASE" level="project" />
35+
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.1.RELEASE" level="project" />
36+
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.25" level="project" />
37+
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.1.RELEASE" level="project" />
38+
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.1.RELEASE" level="project" />
39+
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.2.1.RELEASE" level="project" />
40+
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.2.1.RELEASE" level="project" />
41+
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.1.RELEASE" level="project" />
42+
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.2.1.RELEASE" level="project" />
43+
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.1.RELEASE" level="project" />
44+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.2.1.RELEASE" level="project" />
45+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.2.1.RELEASE" level="project" />
46+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.10.0" level="project" />
47+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.0" level="project" />
48+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.10.0" level="project" />
49+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.2.1.RELEASE" level="project" />
50+
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.27" level="project" />
51+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.2.1.RELEASE" level="project" />
52+
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.1" level="project" />
53+
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.0.18.Final" level="project" />
54+
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" />
55+
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
56+
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.1.RELEASE" level="project" />
57+
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.1.RELEASE" level="project" />
58+
<orderEntry type="library" name="Maven: org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:2.1.1.RELEASE" level="project" />
59+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.10.0" level="project" />
60+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.10.0" level="project" />
61+
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0.1" level="project" />
62+
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0.1" level="project" />
63+
<orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
64+
<orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
65+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.2.1.RELEASE" level="project" />
66+
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.2.1.RELEASE" level="project" />
67+
<orderEntry type="library" name="Maven: org.springframework.security.oauth:spring-security-oauth2:2.3.4.RELEASE" level="project" />
68+
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.13" level="project" />
69+
<orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-mapper-asl:1.9.13" level="project" />
70+
<orderEntry type="library" name="Maven: org.codehaus.jackson:jackson-core-asl:1.9.13" level="project" />
71+
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-jwt:1.0.9.RELEASE" level="project" />
72+
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.56" level="project" />
73+
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.20" level="project" />
74+
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.9" level="project" />
75+
<orderEntry type="library" name="Maven: org.freemarker:freemarker:2.3.29" level="project" />
76+
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.6" level="project" />
77+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-joda:2.10.0" level="project" />
78+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.10.0" level="project" />
79+
<orderEntry type="library" name="Maven: joda-time:joda-time:2.10.5" level="project" />
80+
<orderEntry type="library" name="Maven: javax.servlet:jstl:1.2" level="project" />
81+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.apache.tomcat.embed:tomcat-embed-jasper:9.0.27" level="project" />
82+
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.27" level="project" />
83+
<orderEntry type="library" name="Maven: org.apache.tomcat:tomcat-annotations-api:9.0.27" level="project" />
84+
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.27" level="project" />
85+
<orderEntry type="library" scope="PROVIDED" name="Maven: org.eclipse.jdt:ecj:3.18.0" level="project" />
86+
<orderEntry type="library" name="Maven: commons-io:commons-io:2.7" level="project" />
87+
<orderEntry type="library" name="Maven: com.docusign:docusign-esign-java:3.13.0-RC1" level="project" />
88+
<orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.18" level="project" />
89+
<orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-client:2.29.1" level="project" />
90+
<orderEntry type="library" name="Maven: jakarta.ws.rs:jakarta.ws.rs-api:2.1.6" level="project" />
91+
<orderEntry type="library" name="Maven: org.glassfish.jersey.core:jersey-common:2.29.1" level="project" />
92+
<orderEntry type="library" name="Maven: org.glassfish.hk2:osgi-resource-locator:1.0.3" level="project" />
93+
<orderEntry type="library" name="Maven: com.sun.activation:jakarta.activation:1.2.1" level="project" />
94+
<orderEntry type="library" name="Maven: org.glassfish.hk2.external:jakarta.inject:2.6.1" level="project" />
95+
<orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-multipart:2.29.1" level="project" />
96+
<orderEntry type="library" name="Maven: org.jvnet.mimepull:mimepull:1.9.12" level="project" />
97+
<orderEntry type="library" name="Maven: org.glassfish.jersey.media:jersey-media-json-jackson:2.29.1" level="project" />
98+
<orderEntry type="library" name="Maven: org.glassfish.jersey.ext:jersey-entity-filtering:2.29.1" level="project" />
99+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.10.0" level="project" />
100+
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.2" level="project" />
101+
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.1" level="project" />
102+
<orderEntry type="library" name="Maven: org.glassfish.jersey.inject:jersey-hk2:2.29.1" level="project" />
103+
<orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-locator:2.6.1" level="project" />
104+
<orderEntry type="library" name="Maven: org.glassfish.hk2.external:aopalliance-repackaged:2.6.1" level="project" />
105+
<orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-api:2.6.1" level="project" />
106+
<orderEntry type="library" name="Maven: org.glassfish.hk2:hk2-utils:2.6.1" level="project" />
107+
<orderEntry type="library" name="Maven: org.javassist:javassist:3.22.0-CR2" level="project" />
108+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.10.0" level="project" />
109+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.10.0" level="project" />
110+
<orderEntry type="library" name="Maven: org.apache.oltu.oauth2:org.apache.oltu.oauth2.client:1.0.2" level="project" />
111+
<orderEntry type="library" name="Maven: org.apache.oltu.oauth2:org.apache.oltu.oauth2.common:1.0.2" level="project" />
112+
<orderEntry type="library" name="Maven: org.json:json:20140107" level="project" />
113+
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.29" level="project" />
114+
<orderEntry type="library" name="Maven: com.auth0:java-jwt:3.4.1" level="project" />
115+
<orderEntry type="library" name="Maven: org.bouncycastle:bcprov-jdk15on:1.60" level="project" />
116+
<orderEntry type="library" name="Maven: com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.0" level="project" />
117+
<orderEntry type="library" name="Maven: com.brsanthu:migbase64:2.2" level="project" />
118+
<orderEntry type="library" name="Maven: com.docusign:docusign-rooms-java:1.1.0-RC1" level="project" />
119+
<orderEntry type="library" name="Maven: com.docusign:docusign-click-java:1.0.0-BETA" level="project" />
120+
<orderEntry type="library" name="Maven: com.docusign:docusign-monitor-java:1.0.0-BETA" level="project" />
121+
</component>
122+
</module>

pom.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<groupId>org.springframework.boot</groupId>
77
<artifactId>spring-boot-starter-parent</artifactId>
88
<version>2.5.3</version>
9-
<relativePath/>
9+
<relativePath />
1010
</parent>
1111

1212
<groupId>com.docusign</groupId>
@@ -106,6 +106,12 @@
106106
<version>${monitor.version}</version>
107107
</dependency>
108108

109+
<dependency>
110+
<groupId>com.docusign</groupId>
111+
<artifactId>docusign-admin-java</artifactId>
112+
<version>1.0.0-BETA</version>
113+
</dependency>
114+
109115
<dependency>
110116
<groupId>org.projectlombok</groupId>
111117
<artifactId>lombok</artifactId>
@@ -126,4 +132,4 @@
126132
</plugins>
127133
</build>
128134

129-
</project>
135+
</project>

src/main/java/com/docusign/DSConfiguration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ public class DSConfiguration {
5454
@Value("${DS_MONITOR_BASE_PATH}")
5555
private String monitorBasePath;
5656

57+
@Value("${DS_ADMIN_BASE_PATH}")
58+
private String adminBasePath;
59+
5760
public String getDsReturnUrl() {
5861
return appUrl + "/ds-return";
5962
}
6063

6164
public String getDsPingUrl() {
6265
return appUrl + "/";
6366
}
64-
6567
}

src/main/java/com/docusign/WebSecurityConfig.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
4040
public String roomScopes[] = new String[] {"signature", "dtr.rooms.read", "dtr.rooms.write", "dtr.documents.read", "dtr.documents.write", "dtr.profile.read", "dtr.profile.write", "dtr.company.read", "dtr.company.write", "room_forms"};
4141
public String clickScopes[] = new String[] {"click.manage", "click.send"};
4242
public String monitorScopes[] = new String[] {"signature", "impersonation"};
43+
public String adminScopes[] = new String[] {"user_write", "signature", "impersonation", "group_read", "organization_read", "permission_read", "user_read", "account_read", "domain_read", "identity_provider_read"};
4344

4445
@Autowired
4546
private DSConfiguration dsConfiguration;
@@ -100,6 +101,8 @@ private List<String> getScopes() {
100101
}
101102
if (this.dsConfiguration.getApiName().contains(ApiIndex.MONITOR.toString())) {
102103
scopes = Arrays.asList(this.monitorScopes);
104+
} else if (this.dsConfiguration.getApiName().equalsIgnoreCase("admin")) {
105+
scopes = Arrays.asList(this.adminScopes);
103106
}
104107

105108
return scopes;

src/main/java/com/docusign/common/ApiIndex.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ public enum ApiIndex {
44
ESIGNATURE("/pages/esignature/index", "/restapi"),
55
ROOMS("/pages/rooms/index", "/restapi"),
66
CLICK("/pages/click/index", "/clickapi"),
7-
MONITOR("/pages/monitor/index", "");
7+
MONITOR("/pages/monitor/index", ""),
8+
ADMIN("/pages/admin/index", "/management");
89

910
private final String indexPath;
1011
private final String baseUrlSuffix;

0 commit comments

Comments
 (0)