Skip to content

Commit b748842

Browse files
Backend enpoints for Case1 (#7)
1 parent 868bd21 commit b748842

4 files changed

Lines changed: 38 additions & 31 deletions

File tree

DocuSign.Workspaces/DocuSign.Workspaces.sln.DotSettings.user

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACreateWorkspaceUploadRequestAssignment_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F618474b3a7a24c07a172752f30df361467000_003Fe4_003F72813357_003FCreateWorkspaceUploadRequestAssignment_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
77
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ACreateWorkspaceUploadRequestBody_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F618474b3a7a24c07a172752f30df361467000_003F5d_003Ff0d879c2_003FCreateWorkspaceUploadRequestBody_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
88
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ADocuSignClient_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc5a0acb18b7542e28324415a109391b15bd200_003F4c_003F0d171731_003FDocuSignClient_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
9+
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnvelopeDocumentsResult_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc5a0acb18b7542e28324415a109391b15bd200_003F1e_003Fc6579aed_003FEnvelopeDocumentsResult_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
910
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnvelopeDocument_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc5a0acb18b7542e28324415a109391b15bd200_003Fc8_003F4c34a961_003FEnvelopeDocument_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
1011
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnvelopesApi_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc5a0acb18b7542e28324415a109391b15bd200_003F4a_003F2f4cb457_003FEnvelopesApi_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
1112
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AEnvelope_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc5a0acb18b7542e28324415a109391b15bd200_003F4f_003F4a01c6f8_003FEnvelope_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
@@ -25,6 +26,7 @@
2526
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASigner_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc5a0acb18b7542e28324415a109391b15bd200_003F25_003F1beeea9c_003FSigner_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
2627
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASpeakeasyHttpClient_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F618474b3a7a24c07a172752f30df361467000_003F61_003Fc537c789_003FSpeakeasyHttpClient_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
2728
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fa421bf72ce1bd97d2cd3e8739d53f71ff6052294923c475677806b3df7381_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
29+
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AUpdateWorkspaceBody_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F618474b3a7a24c07a172752f30df361467000_003Fee_003F5a05a66e_003FUpdateWorkspaceBody_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
2830
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWorkspaceEnvelopeForCreate_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F618474b3a7a24c07a172752f30df361467000_003Fef_003Fc5062791_003FWorkspaceEnvelopeForCreate_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
2931
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWorkspaces2_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F618474b3a7a24c07a172752f30df361467000_003F73_003F49558a32_003FWorkspaces2_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
3032
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AWorkspacesApi_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003FLibrary_003FApplication_0020Support_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F6e5ac0d286d14b059858da6cde0db49b58e200_003F09_003Fe79d80dc_003FWorkspacesApi_002Ecs_002Fz_003A3_002D2/@EntryIndexedValue">ForceIncluded</s:String>

DocuSign.Workspaces/DocuSign.Workspaces/Domain/Workspaces/Models/CreateWorkspacesModel.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,4 @@ namespace DocuSign.Workspaces.Domain.Workspaces.Models;
33
public class CreateWorkspacesModel
44
{
55
public string WorkspacesName { get; set; }
6-
7-
public string OwnerEmail { get; set; }
8-
9-
public string AccountId { get; set; }
106
}

DocuSign.Workspaces/DocuSign.Workspaces/Domain/Workspaces/Models/WorkspaceAddDocumentsModel.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,18 @@ namespace DocuSign.Workspaces.Domain.Workspaces.Models;
44

55
public class WorkspaceAddDocumentsModel
66
{
7-
public string AccountId { get; set; }
87
public string WorkspaceId { get; set; }
9-
public List<string> Documents { get; set; }
8+
public List<Document> Documents { get; set; }
9+
public string PrimaryOwnerFirstName { get; set; }
10+
public string PrimaryOwnerLastName { get; set; }
11+
public string PrimaryOwnerEmail { get; set; }
12+
public string SecondaryOwnerFirstName { get; set; }
13+
public string SecondaryOwnerLastName { get; set; }
14+
public string SecondaryOwnerEmail { get; set; }
15+
}
16+
17+
public class Document
18+
{
19+
public string Base64String { get; set; }
20+
public string Name { get; set; }
1021
}

DocuSign.Workspaces/DocuSign.Workspaces/Domain/Workspaces/WealthManagementClient.cs

Lines changed: 23 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,19 @@
88
using Docusign.IAM.SDK.Models.Components;
99
using DocuSign.Workspaces.Domain.Workspaces.Models;
1010
using DocuSign.Workspaces.Infrastructure.Services.Interfaces;
11-
using Document = DocuSign.eSign.Model.Document;
11+
using Document = DocuSign.Workspaces.Domain.Workspaces.Models.Document;
1212

1313
namespace DocuSign.Workspaces.Domain.Workspaces;
1414

15-
public class WealthManagementClient(IDocuSignApiProvider docuSignApiProvider) : IWealthManagementClient
15+
public class WealthManagementClient(IDocuSignApiProvider docuSignApiProvider, IAccountRepository accountRepository) : IWealthManagementClient
1616
{
1717
public async Task<string> CreateWorkspaces(CreateWorkspacesModel createWorkspacesModel)
1818
{
1919
var workspaceBody = new CreateWorkspaceBody
2020
{
21-
Name = "Test Workspace"
21+
Name = createWorkspacesModel.WorkspacesName,
2222
};
23-
24-
var workspace = await docuSignApiProvider.Workspace2.CreateWorkspaceAsync(createWorkspacesModel.AccountId, workspaceBody);
23+
var workspace = await docuSignApiProvider.Workspace2.CreateWorkspaceAsync(accountRepository.AccountId, workspaceBody);
2524

2625
return workspace.WorkspaceId;
2726
}
@@ -31,46 +30,45 @@ public async Task<List<EnvelopeModel>> AddSelectedDocumentsForClientPackage(Work
3130
var envelopes = new List<EnvelopeModel>();
3231
foreach (var document in createModel.Documents)
3332
{
34-
var envelopeId = await ProcessDocument(createModel);
33+
var envelopeId = await ProcessDocument(createModel, document.Name);
3534

3635
var envelopeModel = await UpdateEachEnvelopWithDocument(
37-
accountId: createModel.AccountId,
3836
envelopeId: envelopeId,
39-
documentBytes: Convert.FromBase64String(document));
37+
document: document);
4038

4139
envelopes.Add(envelopeModel);
4240
}
4341

4442
return envelopes;
4543
}
4644

47-
private async Task<string> ProcessDocument(WorkspaceAddDocumentsModel createModel)
45+
private async Task<string> ProcessDocument(WorkspaceAddDocumentsModel createModel, string envelopeName)
4846
{
47+
var workspace = await docuSignApiProvider.Workspace2.GetWorkspaceAsync(accountRepository.AccountId, createModel.WorkspaceId);
48+
4949
var workspaceEnvelopeForCreate = new WorkspaceEnvelopeForCreate
5050
{
51-
EnvelopeName = "Test Envelope"
51+
EnvelopeName = envelopeName
5252
};
5353

54-
var workspace = await docuSignApiProvider.Workspace2.GetWorkspaceAsync(createModel.AccountId, createModel.WorkspaceId);
55-
5654
var envelopeResponse = await docuSignApiProvider.Workspace2.CreateWorkspaceEnvelopeAsync(
57-
createModel.AccountId,
55+
accountRepository.AccountId,
5856
createModel.WorkspaceId,
5957
workspaceEnvelopeForCreate);
6058

6159
var uploadRequestBody = new CreateWorkspaceUploadRequestBody
6260
{
63-
Name = "Test upload",
61+
Name = envelopeName + " Upload",
6462
Description = "Description Test",
6563
DueDate = DateTime.Now,
6664
Status = WorkspaceUploadRequestStatus.Draft,
6765
Assignments =
6866
[
6967
new CreateWorkspaceUploadRequestAssignment
7068
{
71-
Email = "test@mail.com",
72-
FirstName = "FirstName",
73-
LastName = "LastName",
69+
Email = createModel.PrimaryOwnerEmail,
70+
FirstName = createModel.PrimaryOwnerFirstName,
71+
LastName = createModel.PrimaryOwnerLastName,
7472
UploadRequestResponsibilityTypeId = WorkspaceUploadRequestResponsibilityType.Assignee
7573
},
7674
new CreateWorkspaceUploadRequestAssignment
@@ -81,17 +79,17 @@ private async Task<string> ProcessDocument(WorkspaceAddDocumentsModel createMode
8179
]
8280
};
8381
await docuSignApiProvider.WorkspaceUploadRequest.CreateWorkspaceUploadRequestAsync(
84-
createModel.AccountId,
82+
accountRepository.AccountId,
8583
createModel.WorkspaceId,
8684
uploadRequestBody);
8785

8886
return envelopeResponse.EnvelopeId;
8987
}
9088

91-
private async Task<EnvelopeModel> UpdateEachEnvelopWithDocument(string accountId, string envelopeId, byte[] documentBytes)
89+
private async Task<EnvelopeModel> UpdateEachEnvelopWithDocument(string envelopeId, Document document)
9290
{
9391
var accountsApi = new AccountsApi(docuSignApiProvider.ApiClient);
94-
var response = await accountsApi.GetAccountIdentityVerificationAsync(accountId);
92+
var response = await accountsApi.GetAccountIdentityVerificationAsync(accountRepository.AccountId);
9593

9694
var workflow = response.IdentityVerification.FirstOrDefault();
9795
if (workflow == null)
@@ -109,11 +107,11 @@ private async Task<EnvelopeModel> UpdateEachEnvelopWithDocument(string accountId
109107
Status = "Sent",
110108
};
111109

112-
var doc1 = new Document
110+
var doc1 = new eSign.Model.Document
113111
{
114112
DocumentId = "1",
115-
Name = "Lorem",
116-
DocumentBase64 = Convert.ToBase64String(documentBytes),
113+
Name = document.Name,
114+
DocumentBase64 = document.Base64String
117115
};
118116

119117
env.Documents = [doc1];
@@ -169,8 +167,8 @@ private async Task<EnvelopeModel> UpdateEachEnvelopWithDocument(string accountId
169167
};
170168
env.Recipients = recipients;
171169

172-
await docuSignApiProvider.EnvelopApi.UpdateDocumentsAsync(accountId, envelopeId, env);
170+
await docuSignApiProvider.EnvelopApi.UpdateDocumentsAsync(accountRepository.AccountId, envelopeId, env);
173171

174-
return new EnvelopeModel(envelopeId, env.Status);
172+
return new EnvelopeModel(document.Name, env.Status);
175173
}
176174
}

0 commit comments

Comments
 (0)