GetUser returns a User filled with hook values or provided defaults
(d *users.User)
| 192 | |
| 193 | // GetUser returns a User filled with hook values or provided defaults |
| 194 | func (a *HookAuth) GetUser(d *users.User) *users.User { |
| 195 | // adds all permissions when user is admin |
| 196 | isAdmin := a.Fields.GetBoolean("user.perm.admin", d.Perm.Admin) |
| 197 | perms := users.Permissions{ |
| 198 | Admin: isAdmin, |
| 199 | Execute: isAdmin || a.Fields.GetBoolean("user.perm.execute", d.Perm.Execute), |
| 200 | Create: isAdmin || a.Fields.GetBoolean("user.perm.create", d.Perm.Create), |
| 201 | Rename: isAdmin || a.Fields.GetBoolean("user.perm.rename", d.Perm.Rename), |
| 202 | Modify: isAdmin || a.Fields.GetBoolean("user.perm.modify", d.Perm.Modify), |
| 203 | Delete: isAdmin || a.Fields.GetBoolean("user.perm.delete", d.Perm.Delete), |
| 204 | Share: isAdmin || a.Fields.GetBoolean("user.perm.share", d.Perm.Share), |
| 205 | Download: isAdmin || a.Fields.GetBoolean("user.perm.download", d.Perm.Download), |
| 206 | } |
| 207 | user := users.User{ |
| 208 | ID: d.ID, |
| 209 | Username: d.Username, |
| 210 | Password: d.Password, |
| 211 | Scope: a.Fields.GetString("user.scope", d.Scope), |
| 212 | Locale: a.Fields.GetString("user.locale", d.Locale), |
| 213 | ViewMode: users.ViewMode(a.Fields.GetString("user.viewMode", string(d.ViewMode))), |
| 214 | SingleClick: a.Fields.GetBoolean("user.singleClick", d.SingleClick), |
| 215 | RedirectAfterCopyMove: a.Fields.GetBoolean("user.redirectAfterCopyMove", d.RedirectAfterCopyMove), |
| 216 | Sorting: files.Sorting{ |
| 217 | Asc: a.Fields.GetBoolean("user.sorting.asc", d.Sorting.Asc), |
| 218 | By: a.Fields.GetString("user.sorting.by", d.Sorting.By), |
| 219 | }, |
| 220 | Commands: a.Fields.GetArray("user.commands", d.Commands), |
| 221 | DateFormat: a.Fields.GetBoolean("user.dateFormat", d.DateFormat), |
| 222 | HideDotfiles: a.Fields.GetBoolean("user.hideDotfiles", d.HideDotfiles), |
| 223 | Perm: perms, |
| 224 | LockPassword: true, |
| 225 | } |
| 226 | |
| 227 | return &user |
| 228 | } |
| 229 | |
| 230 | // hookFields is used to access fields from the hook |
| 231 | type hookFields struct { |
no test coverage detected