-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathEncryptingModelInterface.php
More file actions
131 lines (114 loc) · 2.77 KB
/
EncryptingModelInterface.php
File metadata and controls
131 lines (114 loc) · 2.77 KB
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
<?php
namespace Esensi\Model\Contracts;
use Illuminate\Encryption\Encrypter;
/**
* Encrypting Model Interface.
*
*/
interface EncryptingModelInterface
{
/**
* Get the encryptable attributes.
*
* @return array
*/
public function getEncryptable();
/**
* Set the encryptable attributes.
*
* @param array $attributes to encrypt
*/
public function setEncryptable(array $attributes);
/**
* Add an attribute to the encryptable array.
*
* @example addEncryptable( string $attribute, ... )
*
* @param string $attribute to encrypt
*/
public function addEncryptable($attribute);
/**
* Remove an attribute from the encryptable array.
*
* @example addEncryptable( string $attribute, ... )
*
* @param string $attribute to encrypt
*/
public function removeEncryptable($attribute);
/**
* Merge an array of attributes with the encryptable array.
*
* @param array $attributes to encrypt
*/
public function mergeEncryptable(array $attributes);
/**
* Returns whether or not the model will encrypt
* attributes when setting and decrypt when getting.
*
* @return bool
*/
public function getEncrypting();
/**
* Set whether or not the model will encrypt attributes
* when setting and decrypt when getting.
*
* @param bool
*/
public function setEncrypting($value);
/**
* Set the Encrypter to use for encryption.
*
* @return Illuminate\Encryption\Encrypter $encrypter
*/
public function getEncrypter();
/**
* Set the Encrypter to use for encryption.
*
* @param Illuminate\Encryption\Encrypter $encrypter
*/
public function setEncrypter(Encrypter $encrypter);
/**
* Returns whether the attribute is encryptable.
*
* @param string $attribute name
*
* @return bool
*/
public function isEncryptable($attribute);
/**
* Returns whether the attribute is encrypted.
*
* @param string $attribute name
*
* @return bool
*/
public function isEncrypted($attribute);
/**
* Returns whether the attribute is decrypted.
*
* @param string $attribute name
*
* @return bool
*/
public function isDecrypted($attribute);
/**
* Encrypt attributes that should be encrypted.
*/
public function encryptAttributes();
/**
* Return an encrypted string for the value.
*
* @param string $value
*
* @return string
*/
public function encrypt($value);
/**
* Return a decrypted string for the value.
*
* @param string $value
*
* @return string
*/
public function decrypt($value);
}