Files
speckle-server/packages/server/modules/shared/repositories/scopes.ts
T
2024-09-25 16:06:28 +03:00

19 lines
538 B
TypeScript

import { ScopeRecord } from '@/modules/auth/helpers/types'
import { Scopes } from '@/modules/core/dbSchema'
import { TokenScopeData } from '@/modules/shared/domain/rolesAndScopes/types'
import { Knex } from 'knex'
const tables = {
scopes: (db: Knex) => db<ScopeRecord>(Scopes.name)
}
export const registerOrUpdateScopeFactory =
({ db }: { db: Knex }) =>
async ({ scope }: { scope: TokenScopeData }) => {
await tables
.scopes(db)
.insert(scope)
.onConflict('name')
.merge(['public', 'description'])
}