22
33import com .docusign .DSConfiguration ;
44import com .docusign .core .controller .AbstractController ;
5+ import com .docusign .core .model .Session ;
6+ import com .docusign .core .model .User ;
57import com .docusign .esign .api .AccountsApi ;
68import com .docusign .esign .api .EnvelopesApi ;
79import com .docusign .esign .api .TemplatesApi ;
10+ import com .docusign .esign .api .UsersApi ;
811import com .docusign .esign .client .ApiClient ;
912import com .docusign .esign .client .ApiException ;
1013import com .docusign .esign .client .auth .OAuth ;
@@ -20,10 +23,14 @@ public abstract class AbstractEsignatureController extends AbstractController {
2023
2124 protected static final String MODEL_ENVELOPE_OK = "envelopeOk" ;
2225 protected static final String MODEL_TEMPLATE_OK = "templateOk" ;
26+ protected final Session session ;
27+ protected final User user ;
2328 private static final String EXAMPLE_PAGES_PATH = "pages/esignature/examples/" ;
2429
25- public AbstractEsignatureController (DSConfiguration config , String exampleName ) {
30+ public AbstractEsignatureController (DSConfiguration config , String exampleName , Session session , User user ) {
2631 super (config , exampleName );
32+ this .session = session ;
33+ this .user = user ;
2734 }
2835
2936 protected String getExamplePagesPath () {
@@ -42,6 +49,17 @@ protected ApiClient createApiClient(String basePath, String userAccessToken) {
4249 return apiClient ;
4350 }
4451
52+ /**
53+ * Gets the information about the currently logged user.
54+ * @param basePath URL to eSignature REST API
55+ * @param userAccessToken user's access token
56+ * @return an instance of the {@link OAuth.UserInfo}
57+ */
58+ protected OAuth .UserInfo getCurrentUserInfo (String basePath , String userAccessToken ) throws ApiException {
59+ ApiClient apiClient = createApiClient (basePath , userAccessToken );
60+ return apiClient .getUserInfo (userAccessToken );
61+ }
62+
4563 /**
4664 * Creates a new instance of the eSignature EnvelopesApi. This method
4765 * creates an instance of the ApiClient class silently.
@@ -54,6 +72,18 @@ protected EnvelopesApi createEnvelopesApi(String basePath, String userAccessToke
5472 return new EnvelopesApi (apiClient );
5573 }
5674
75+ /**
76+ * Creates a new instance of the eSignature UsersApi. This method
77+ * creates an instance of the ApiClient class silently.
78+ * @param basePath URL to eSignature REST API
79+ * @param userAccessToken user's access token
80+ * @return an instance of the {@link UsersApi}
81+ */
82+ protected UsersApi createUsersApi (String basePath , String userAccessToken ) {
83+ ApiClient apiClient = createApiClient (basePath , userAccessToken );
84+ return new UsersApi (apiClient );
85+ }
86+
5787 /**
5888 * Creates a new instance of the eSignature TemplatesApi. This method
5989 * creates an instance of the ApiClient class silently.
0 commit comments