import { IGroup, IGroupPropertiesConfig, defaultGroupPropertiesConfig } from './user/group'; import { IPermission, IPermissionPropertiesConfig, defaultPermissionPropertiesConfig } from './permission'; export interface IGroupPermission { group: IGroup; permission: IPermission; } export interface IGroupPermissionCreateInput { groupId: number; permission: IPermission; } interface IGroupPermissionRelationProperties { group: IGroupPropertiesConfig; permission: IPermissionPropertiesConfig; } export interface IGroupPermissionPropertiesConfig { properties: {}; relationProperties?: IGroupPermissionRelationProperties; } export function defaultGroupPermissionRelationProperties(): IGroupPermissionRelationProperties { return { group: defaultGroupPropertiesConfig(), permission: defaultPermissionPropertiesConfig(), }; } export function defaultGroupPermissionPropertiesConfig(): IGroupPermissionPropertiesConfig { return { properties: {}, relationProperties: defaultGroupPermissionRelationProperties(), }; }