Example #1
0
        public async Task Init()
        {
            if (_initiated)
            {
                return;
            }
            _initiated = true;

            var configGroups = (_alfrescoConfig?.Groups != null
                ? JsonConvert.DeserializeObject <List <GroupModel> >(File.ReadAllText(_alfrescoConfig.Groups))
                : new List <GroupModel>()).Select(x => x.Body).ToList();

            var configUsers = _alfrescoConfig?.Users != null
                ? JsonConvert.DeserializeObject <List <UserARM> >(File.ReadAllText(_alfrescoConfig.Users))
                : new List <UserARM>();

            configUsers.Insert(0, SpisumAdmin);
            configUsers.Insert(0, EmailboxAdmin);
            configUsers.Insert(0, DataboxAdmin);
            configUsers.Insert(0, SpisumSuperuser);

            foreach (var user in configUsers)
            {
                await CheckCreateUser(user);
            }

            // add system user to all groups
            configGroups.Add(new GroupBodyCreate {
                Id = SpisumNames.Groups.RepositoryGroup
            });
            configGroups.Add(new GroupBodyCreate {
                Id = SpisumNames.Groups.MailroomGroup
            });

            foreach (var group in configGroups)
            {
                await _initialUser.CheckCreateGroupAndAddPerson(SpisumNames.SystemUsers.Spisum, group.Id);
            }

            // delete alfresco default users
            var deleteUsers = new[] { "abeecher", "mjackson" };

            foreach (var user in deleteUsers)
            {
                try
                {
                    var userInfo = await _alfrescoHttpClient.GetPerson(user);

                    await _alfrescoHttpClient.DeletePerson(user);
                }
                catch
                {
                }
            }
        }