Ejemplo n.º 1
0
        public void GlobalUserDataProviderTest_DataExists()
        {
            const ulong userId  = 2;
            var         consent = new DataConsent
            {
                Date = DateTime.UtcNow
            };

            var udp = TestUnity.Resolve <GlobalUserDataProvider>();

            Assert.False(udp.GlobalDataExists(userId));

            udp.AddNewGlobalData(userId, consent);

            Assert.True(udp.GlobalDataExists(userId));
        }
        public void AddNewGlobalData(ulong userId, DataConsent consent)
        {
            if (GlobalDataExists(userId))
            {
                return;
            }

            var newUserData = new GlobalUserData
            {
                DiscordId         = userId,
                CollectionConsent = consent
            };

            var key = string.Format(GlobalDataKeyFormat, userId);

            _dataStorage.Store(newUserData, GlobalDataGroup, key);

            _globalUserDatas.Add(newUserData);
        }
Ejemplo n.º 3
0
        public async Task GiveConsent()
        {
            var userId = Context.User.Id;

            if (_gudp.GlobalDataExists(userId))
            {
                return;
            }

            var consent = new DataConsent
            {
                Date      = DateTime.UtcNow,
                MessageId = Context.Message.Id
            };

            _gudp.AddNewGlobalData(userId, consent);

            await ReplyAsync(_lang.Resolve("[PRIVACY_MESSAGE_HEADER]\n\n[PRIVACY_AGREE_RESPONSE]\n\n[PRIVACY_CMD_HINT]"));
        }
Ejemplo n.º 4
0
        public void GlobalUserDataProviderTest_DataDeleting()
        {
            const ulong userId  = 3;
            var         consent = new DataConsent
            {
                Date = DateTime.UtcNow
            };

            var udp = TestUnity.Resolve <GlobalUserDataProvider>();

            Assert.False(udp.GlobalDataExists(userId));

            udp.AddNewGlobalData(userId, consent);

            Assert.True(udp.GlobalDataExists(userId));

            udp.DeleteUserGlobalData(userId);

            Assert.False(udp.GlobalDataExists(userId));

            // double delete should do nothing.
            udp.DeleteUserGlobalData(userId);
        }