| 279 | } |
| 280 | |
| 281 | func (m *Manager) initializeForUser(user model.User) error { |
| 282 | userCtx := compat.UserContext{ |
| 283 | ID: user.ID, |
| 284 | Name: user.Name, |
| 285 | Admin: user.Admin, |
| 286 | } |
| 287 | |
| 288 | for _, p := range m.plugins { |
| 289 | if err := m.initializeSingleUserPlugin(userCtx, p); err != nil { |
| 290 | return err |
| 291 | } |
| 292 | } |
| 293 | |
| 294 | apps, err := m.db.GetApplicationsByUser(user.ID) |
| 295 | if err != nil { |
| 296 | return err |
| 297 | } |
| 298 | for _, app := range apps { |
| 299 | conf, err := m.db.GetPluginConfByApplicationID(app.ID) |
| 300 | if err != nil { |
| 301 | return err |
| 302 | } |
| 303 | if conf != nil { |
| 304 | _, compatExist := m.plugins[conf.ModulePath] |
| 305 | app.Internal = compatExist |
| 306 | } else { |
| 307 | app.Internal = false |
| 308 | } |
| 309 | m.db.UpdateApplication(app) |
| 310 | } |
| 311 | |
| 312 | return nil |
| 313 | } |
| 314 | |
| 315 | func (m *Manager) initializeSingleUserPlugin(userCtx compat.UserContext, p compat.Plugin) error { |
| 316 | info := p.PluginInfo() |