-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathApicilProjectClientInterface.php
152 lines (137 loc) · 3.42 KB
/
ApicilProjectClientInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<?php
namespace Mpp\ApicilClientBundle\Client;
use Mpp\ApicilClientBundle\Model\ConnaissanceClientProjet;
use Mpp\ApicilClientBundle\Model\EmailPropositionActeDto;
use Mpp\ApicilClientBundle\Model\ListDocumentDto;
use Mpp\ApicilClientBundle\Model\ListProjet;
use Mpp\ApicilClientBundle\Model\ProjetInvestissement;
use Mpp\ApicilClientBundle\Model\ProjetInvestissementRetour;
use Mpp\ApicilClientBundle\Model\ReponseProjetDto;
use Symfony\Component\HttpFoundation\File\File;
interface ApicilProjectClientInterface
{
/**
* Valid the security code for a project.
*
* @method approveSignature
*
* @param int $id
* @param string $otp
*/
public function approveSignature(int $id, string $otp);
/**
* Create a new project.
*
* @method create
*
* @param array $options
*
* @return ReponseProjetDto
*/
public function create(array $options): ReponseProjetDto;
/**
* [createFromDraft description].
*
* @method createFromCustomerKnowledge
*
* @param ConnaissanceClientProjet $projectCustomerKnowledge
*
* @return ReponseProjetDto
*/
public function createFromCustomerKnowledge(ConnaissanceClientProjet $projectCustomerKnowledge): ReponseProjetDto;
/**
* Create a project without attaching documents.
*
* @method createFromInvestmentProject
*
* @param ProjetInvestissement $project
*
* @return ReponseProjetDto
*/
public function createFromInvestmentProject(ProjetInvestissement $project): ReponseProjetDto;
/**
* Retreive project.
*
* @method get
*
* @param int $id
*
* @return ProjetInvestissementRetour
*/
public function get(int $id): ProjetInvestissementRetour;
/**
* List projects.
*
* @method list
*
* @param array $search
*
* @return ListProjet
*/
public function list(array $search = []): ListProjet;
/**
* Retrieve the project bulletin.
*
* @method getBulletin
*
* @param int $id
*
* @return File
*/
public function getBulletin(int $id): File;
/**
* Retrieve project documents.
*
* @method getDocuments
*
* @param int $id
* @param array $options
*
* @return ListDocumentDto
*/
public function getDocuments(int $id, array $options = []): ListDocumentDto;
/**
* Remove the project.
*
* @method remove
*
* @param int $id
*/
public function remove(int $id);
/**
* Send the signature to the customer by email.
*
* @method sendSignatureByEmail
*
* @param int $id
*/
public function sendSignatureByEmail(int $id);
/**
* Send the signature to the customer by sms.
*
* @method sendSignatureBySms
*
* @param int $id
*/
public function sendSignatureBySms(int $id);
/**
* Send the project to the customer.
*
* @method sendToCustomer
*
* @param int $id
* @param EmailPropositionActeDto $email
*/
public function sendToCustomer(int $id, EmailPropositionActeDto $email);
/**
* Attach new document to the project.
*
* @method update
*
* @param int $id
* @param array $options
*
* @return ReponseProjetDto
*/
public function update(int $id, array $options): ReponseProjetDto;
}