26 lines
655 B
TypeScript
26 lines
655 B
TypeScript
import type {
|
|
MaterialPermissionActor,
|
|
MaterialPermissionTarget,
|
|
} from '@/lib/material-permissions'
|
|
import {
|
|
canManageMaterial,
|
|
getMaterialPermissionActor,
|
|
} from '@/lib/material-permissions'
|
|
|
|
export type MaterialShareActor = MaterialPermissionActor
|
|
|
|
export type MaterialShareTarget = MaterialPermissionTarget & {
|
|
userId: string
|
|
}
|
|
|
|
export async function getMaterialShareActor(session: unknown): Promise<MaterialShareActor | null> {
|
|
return getMaterialPermissionActor(session)
|
|
}
|
|
|
|
export async function canManageMaterialShare(
|
|
material: MaterialShareTarget,
|
|
actor: MaterialShareActor | null
|
|
) {
|
|
return canManageMaterial(material, actor)
|
|
}
|