Пример #1
0
        public async Task SeedUserDataAsync(string actorId, string actorType, string?displayName, Dictionary <string, object?>?data = null)
        {
            if (string.IsNullOrEmpty(actorId))
            {
                throw new ArgumentException(nameof(actorId));
            }

            if (string.IsNullOrEmpty(actorType))
            {
                throw new ArgumentException(nameof(actorType));
            }

            var userData = await m_UserDataStore.GetUserDataAsync(actorId, actorType);

            if (userData != null)
            {
                return; // no seeding
            }

            var autoAssignRoles = new HashSet <string>(await m_PermissionRoleStore.GetAutoAssignedRolesAsync(actorId, actorType));

            userData = new UserData
            {
                Data            = data ?? new Dictionary <string, object?>(),
                Id              = actorId,
                Type            = actorType,
                LastSeen        = DateTime.Now,
                FirstSeen       = DateTime.Now,
                Permissions     = new HashSet <string>(),
                Roles           = autoAssignRoles,
                LastDisplayName = displayName
            };

            await m_UserDataStore.SetUserDataAsync(userData);
        }
Пример #2
0
        public async Task SeedUserDataAsync(string actorId, string actorType, string displayName, Dictionary <string, object> data = null)
        {
            var userData = await m_UserDataStore.GetUserDataAsync(actorId, actorType);

            if (userData != null)
            {
                return; // no seeding
            }

            var autoAssignRoles = new HashSet <string>(await m_PermissionRoleStore.GetAutoAssignedRolesAsync(actorId, actorType));

            userData = new UserData
            {
                Data            = data ?? new Dictionary <string, object>(),
                Id              = actorId,
                Type            = actorType,
                LastSeen        = DateTime.Now,
                FirstSeen       = DateTime.Now,
                Permissions     = new HashSet <string>(),
                Roles           = autoAssignRoles,
                LastDisplayName = displayName
            };

            await m_UserDataStore.SaveUserDataAsync(userData);
        }
        public async Task <IReadOnlyCollection <string> > GetAutoAssignedRolesAsync(string actorId, string actorType)
        {
            if (string.IsNullOrEmpty(actorId))
            {
                throw new ArgumentException(nameof(actorId));
            }

            if (string.IsNullOrEmpty(actorType))
            {
                throw new ArgumentException(nameof(actorType));
            }

            var list = new List <string>();

            list.AddRange(await m_BasePermissionRoleStore.GetAutoAssignedRolesAsync(actorId, actorType));

            if (RocketModIntegrationEnabled())
            {
                // todo: add default RocketMod group
            }

            return(list);
        }