@@ -53,12 +53,12 @@ class Role implements RoleContract
5353 protected $ users ;
5454
5555 /**
56- * @var string Team email address
56+ * @var ? string Team email address
5757 */
5858 protected $ email ;
5959
6060 /**
61- * @var string Team slack channel
61+ * @var ? string Team slack channel
6262 */
6363 protected $ slackChannel ;
6464
@@ -93,15 +93,15 @@ public function getId()
9393 /**
9494 * @return string
9595 */
96- public function getName ()
96+ public function getName (): string
9797 {
9898 return $ this ->name ;
9999 }
100100
101101 /**
102102 * @return string
103103 */
104- public function getDisplayName ()
104+ public function getDisplayName (): string
105105 {
106106 return $ this ->displayName ;
107107 }
@@ -110,7 +110,7 @@ public function getDisplayName()
110110 * @param string $displayName
111111 * @return self
112112 */
113- public function setDisplayName ($ displayName )
113+ public function setDisplayName ($ displayName ): Role
114114 {
115115 $ this ->displayName = $ displayName ;
116116
@@ -120,7 +120,7 @@ public function setDisplayName($displayName)
120120 /**
121121 * @return string
122122 */
123- public function getDescription ()
123+ public function getDescription (): string
124124 {
125125 return $ this ->description ;
126126 }
@@ -129,7 +129,7 @@ public function getDescription()
129129 * @param string $description
130130 * @return self
131131 */
132- public function setDescription ($ description )
132+ public function setDescription ($ description ): Role
133133 {
134134 $ this ->description = $ description ;
135135
@@ -144,21 +144,43 @@ public function getPermissions()
144144 return $ this ->permissions ;
145145 }
146146
147- public function addPermission (Permission $ permission )
147+ /**
148+ * Add a Permission to the Role.
149+ *
150+ * @param Permission $permission
151+ * @return self
152+ */
153+ public function addPermission (Permission $ permission ): Role
148154 {
149155 if ( ! $ this ->permissions ->contains ($ permission )) {
150156 $ this ->permissions ->add ($ permission );
151157 }
158+
159+ return $ this ;
152160 }
153161
154- public function removePermission (Permission $ permission )
162+ /**
163+ * Remove a single permission from the Role.
164+ * @param Permission $permission
165+ * @return self
166+ */
167+ public function removePermission (Permission $ permission ): Role
155168 {
156169 $ this ->permissions ->removeElement ($ permission );
170+
171+ return $ this ;
157172 }
158173
159- public function stripPermissions ()
174+ /**
175+ * Remove all permissions from the Role.
176+ *
177+ * @return self
178+ */
179+ public function stripPermissions (): Role
160180 {
161181 $ this ->permissions ->clear ();
182+
183+ return $ this ;
162184 }
163185
164186 /**
@@ -174,7 +196,7 @@ public function getUsers()
174196 *
175197 * @return string Team email address
176198 */
177- public function getEmail ()
199+ public function getEmail (): ? string
178200 {
179201 return $ this ->email ;
180202 }
@@ -186,7 +208,7 @@ public function getEmail()
186208 *
187209 * @return self
188210 */
189- public function setEmail ($ email )
211+ public function setEmail ($ email ): Role
190212 {
191213 $ this ->email = $ email ;
192214
@@ -198,7 +220,7 @@ public function setEmail($email)
198220 *
199221 * @return string team slack channel
200222 */
201- public function getSlackChannel ()
223+ public function getSlackChannel (): ? string
202224 {
203225 return $ this ->slackChannel ;
204226 }
@@ -210,7 +232,7 @@ public function getSlackChannel()
210232 *
211233 * @return self
212234 */
213- public function setSlackChannel ($ slackChannel )
235+ public function setSlackChannel ($ slackChannel ): Role
214236 {
215237 $ this ->slackChannel = $ slackChannel ;
216238
@@ -222,7 +244,7 @@ public function setSlackChannel($slackChannel)
222244 *
223245 * @return bool Should this role be retained by ex members
224246 */
225- public function getRetained ()
247+ public function getRetained (): bool
226248 {
227249 return $ this ->retained ;
228250 }
@@ -234,7 +256,7 @@ public function getRetained()
234256 *
235257 * @return self
236258 */
237- public function setRetained ($ retained )
259+ public function setRetained ($ retained ): Role
238260 {
239261 $ this ->retained = $ retained ;
240262
@@ -246,7 +268,7 @@ public function setRetained($retained)
246268 *
247269 * @return string
248270 */
249- public function routeNotificationForSlack ()
271+ public function routeNotificationForSlack (): string
250272 {
251273 if ($ this ->name = 'team.Trustees ' ) {
252274 return Meta::get ('trustee_slack_webhook ' );
0 commit comments