...

Заполнение в скрипте переменной типа роль

Тема в разделе "Примеры сценариев", создана пользователем novopashin, 1 фев 2023.

  1. novopashin

    novopashin Новичок

    Поскольку у Роли пока нет своего конструктора - создадим свой класс
    Код:
    
    class MyRole {
        
    group:UserGroupItem|UserItem[]| OrganisationStructureItem
        type
    'group' 'user' 'orgstruct'
        
    codestring
        constructor 
    (group:UserGroupItem|UserItem[]|OrganisationStructureItem,type:'group' 'user' 'orgstruct',code:string){
            
    this.code code;
            
    this.group group;
            
    this.type type;
        }
       
    getUsers(): Promise<UserItem[]> {
            if(
    this.type == "group"){
                return (<
    UserGroupItemthis.group).users();
            }
            else if (
    this.type == "orgstruct") {
                return 
    System.users.search().where(=> i.osIds.has((<OrganisationStructureItemthis.group))).size(10000).all()
            }
            else return new 
    Promise<UserItem[]>(()=><UserItem[]>this.group)
        }
        
    json():any {
            return{
                 
    code:this.code,
                
    type:this.type
            
    }
        }
    }
    Конструктор принимает либо Группу пользователей, либо пользователя(вернее массив из одного пользователя), либо элемент оргструктуры. Тип соответственно будет либо 'group', либо 'user' , либо 'orgstruct'. У Роли должен быть реализован метод getUsers и json. Второй просто возвращает код и тип. Первый же должен возвращать Промис, который после того как разрешится должен вернуть массив пользователей. В зависимости от type объекта реализовываем функцию getUsers

    Вложения:

    Последнее редактирование: 1 фев 2023