import { CreativeWorkType } from '../creativeWorkType'; import { OrganizationType } from '../organizationType'; import { PersonType } from '../personType'; import { RoleType } from '../role'; import { SortType } from '../sortType'; export declare enum RoleName { /** * 注文取引クライアント */ Customer = "customer", POS = "pos", /** * publicリソース検索クライアント */ EventsViewer = "events.viewer", /** * プロジェクトオーナー */ Owner = "owner", User = "user", /** * 販売者管理 */ SellerAdmin = "sellerAdmin", /** * チケット管理 */ TicketClerk = "ticketClerk", /** * 在庫管理 */ InventoryManager = "inventoryManager", Accountant = "accountant", /** * チケット収集 */ TicketCollector = "ticketCollector", /** * 販売者メンバー管理(全販売者) */ IAMRoleAdmin = "iam.roleAdmin", /** * 決済サービス管理者 */ PaymentServiceAdmin = "paymentServiceAdmin", /** * プロジェクトメンバー管理者 */ MemberAdmin = "memberAdmin", /** * 販売者オーナー */ SellersOwner = "sellers.owner", SellersInventoryManager = "sellers.inventoryManager", SellersIAMRoleAdmin = "sellers.iam.roleAdmin", /** * adminapisの在庫管理ロール */ AdminInventoryManager = "admin.inventoryManager" } export type IMemberType = PersonType.Person | CreativeWorkType.WebApplication | CreativeWorkType.SoftwareApplication; /** * 組織ロール */ export interface IRole { typeOf: RoleType; permissions: string[]; roleName: RoleName; /** * ロール割り当て対象のアイデンティティタイプ */ member: { typeOf: IMemberType; }; /** * ロールの所属組織 */ memberOf: { typeOf: OrganizationType.Corporation | OrganizationType.Project; }; } /** * ロール検索条件 */ export interface ISearchConditions { limit?: number; page?: number; sort?: { roleName?: SortType; }; roleName?: { $eq?: string; $in?: string[]; }; permissions?: { $eq?: string; }; member?: { typeOf: { $eq?: string; }; }; memberOf?: { typeOf: { $eq?: string; }; }; }