5655b3e758
- ensure metrics are added to the correct registry
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { registerOrUpdateScopeFactory } from '@/modules/shared/repositories/scopes'
|
|
import { moduleLogger } from '@/observability/logging'
|
|
import db from '@/db/knex'
|
|
import { Scopes } from '@speckle/shared'
|
|
import { SpeckleModule } from '@/modules/shared/helpers/typeHelper'
|
|
import { getEventBus } from '@/modules/shared/services/eventBus'
|
|
import { publish } from '@/modules/shared/utils/subscriptions'
|
|
import { getStreamFactory } from '@/modules/core/repositories/streams'
|
|
import { getProjectInviteProjectFactory } from '@/modules/serverinvites/services/projectInviteManagement'
|
|
import { reportSubscriptionEventsFactory } from '@/modules/serverinvites/events/subscriptionListeners'
|
|
|
|
const scopes = [
|
|
{
|
|
name: Scopes.Users.Invite,
|
|
description: 'Invite others to join this server.',
|
|
public: false
|
|
}
|
|
]
|
|
|
|
export const init: SpeckleModule['init'] = async ({ isInitial }) => {
|
|
moduleLogger.info('💌 Init invites module')
|
|
|
|
const registerFunc = registerOrUpdateScopeFactory({ db })
|
|
for (const scope of scopes) {
|
|
await registerFunc({ scope })
|
|
}
|
|
|
|
if (isInitial) {
|
|
// Setup GQL sub emits
|
|
reportSubscriptionEventsFactory({
|
|
eventListen: getEventBus().listen,
|
|
publish,
|
|
getProjectInviteProject: getProjectInviteProjectFactory({
|
|
getStream: getStreamFactory({ db })
|
|
})
|
|
})()
|
|
}
|
|
}
|