Entitites for security RESTful API

Former-commit-id: 8e1dd0ae99
restapi
Jens Pelzetter 2020-07-29 20:42:13 +02:00
parent d8c02b8917
commit bc6ddd90a2
2 changed files with 105 additions and 0 deletions

View File

@ -0,0 +1,95 @@
import {
assertProperties,
LocalizedString,
} from "@libreccm/ccm-apiclient-commons";
import { CcmObjectId } from "./core";
import { TaskId } from "./workflow";
export interface EmailAddressData {
address: string;
bouncing: boolean;
verified: boolean;
}
export interface GroupData {
partyId: number;
uuid: string;
name: string;
memberships: GroupUserMembership[];
roleMemberships: PartyRoleMembership[];
}
export interface GroupUserMembership {
membershipId: number;
uuid: string;
user: PartyId;
}
export interface PartyId {
partyId: number;
uuid: string;
name: string;
}
export interface PartyRoleMembership {
membershipId: number;
uuid: string;
role: RoleId;
}
export interface RoleAssignedTask {
taskAssignmentId: number;
uuid: string;
task: TaskId;
}
export interface RoleData {
roleId: number;
uuid: string;
name: string;
description: LocalizedString;
permissions: RolePermission[];
}
export interface RoleId {
roleId: number;
uuid: string;
name: string;
}
export interface RolePartyMember {
membershipId: number;
uuid: string;
party: PartyId;
}
export interface RolePermission {
permissionId: number;
uuid: string;
grantedPrivilege: string;
object: CcmObjectId;
creationUser: PartyId;
creationDate: Date;
creationIp: string;
inheritedFrom: CcmObjectId;
}
export interface UserData {
partyId: number;
uuid: string;
name: string;
givenName: string;
familyName: string;
primaryEmailAddress: EmailAddressData;
emailAddresses: EmailAddressData[];
banned: boolean;
passwordResetRequired: boolean;
groupMemberships: UserGroupMembership[];
roleMemberships: PartyRoleMembership[];
}
export interface UserGroupMembership {
membershipId: number;
uuid: string;
group: PartyId;
}

View File

@ -0,0 +1,10 @@
import {
LocalizedString,
assertProperties,
} from "@libreccm/ccm-apiclient-commons";
export interface TaskId {
taskId: number;
uuid: string;
label: LocalizedString;
}