import { PluginTranslation } from '../../../shared/models/plugins/plugin-translation.model'
import { RegisterHelpersStore } from './register-helpers-store'
import { RegisterServerHookOptions } from '@shared/models/plugins/register-server-hook.model'
-import { MOAuthTokenUser } from '@server/typings/models'
+import { MOAuthTokenUser, MUser } from '@server/typings/models'
+import { RegisterServerAuthPassOptions, RegisterServerAuthExternalOptions } from '@shared/models/plugins/register-server-auth.model'
export interface RegisteredPlugin {
npmName: string
return this.translations[locale] || {}
}
- onLogout (npmName: string, authName: string) {
+ onLogout (npmName: string, authName: string, user: MUser) {
const auth = this.getAuth(npmName, authName)
if (auth?.onLogout) {
logger.info('Running onLogout function from auth %s of plugin %s', authName, npmName)
try {
- auth.onLogout()
+ auth.onLogout(user)
} catch (err) {
logger.warn('Cannot run onLogout function from auth %s of plugin %s.', authName, npmName, { err })
}
const plugin = this.getRegisteredPluginOrTheme(npmName)
if (!plugin || plugin.type !== PluginType.PLUGIN) return null
- return plugin.registerHelpersStore.getIdAndPassAuths()
- .find(a => a.authName === authName)
+ let auths: (RegisterServerAuthPassOptions | RegisterServerAuthExternalOptions)[] = plugin.registerHelpersStore.getIdAndPassAuths()
+ auths = auths.concat(plugin.registerHelpersStore.getExternalAuths())
+
+ return auths.find(a => a.authName === authName)
}
// ###################### Private getters ######################