コード例 #1
0
            public async Task <ResponseBase> Handle(Request request, CancellationToken cancellationToken)
            {
                var user = await _context.Users.FindAsync(request.UserId);

                _context.Users.Remove(user);

                await _context.SaveChangesAsync(cancellationToken);

                return(new()
                {
                });
            }
コード例 #2
0
ファイル: UpdateUser.cs プロジェクト: QuinntyneBrown/Crates
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var user = await _context.Users.FindAsync(request.User.UserId);

                user.Username = request.User.Username;

                await _context.SaveChangesAsync(cancellationToken);

                return(new()
                {
                    User = user.ToDto()
                });
            }
コード例 #3
0
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var user = await _context.Users.FindAsync(request.UserId);

                user.UpdateAvatar(request.AvatarDigitalAssetId);

                await _context.SaveChangesAsync(cancellationToken);

                return(new()
                {
                    User = user.ToDto()
                });
            }
コード例 #4
0
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var playlist = await _context.Playlists
                               .FindAsync(request.Playlist.PlaylistId);

                playlist.Release(_clock.UtcNow);

                await _context.SaveChangesAsync(cancellationToken);

                return(new () {
                    Playlist = playlist.ToDto()
                });
            }
コード例 #5
0
ファイル: CreateAlbum.cs プロジェクト: QuinntyneBrown/Crates
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var album = new Album(request.Album.Name);

                _context.Albums.Add(album);

                await _context.SaveChangesAsync(cancellationToken);

                return(new ()
                {
                    Album = album.ToDto()
                });
            }
コード例 #6
0
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var playlist = new Playlist(_clock.UtcNow, request.Playlist.CoverArtDigitalAssetId);

                _context.Playlists.Add(playlist);

                await _context.SaveChangesAsync(cancellationToken);

                return(new ()
                {
                    Playlist = playlist.ToDto()
                });
            }
コード例 #7
0
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var playlist = await _context.Playlists
                               .Include(x => x.Tracks)
                               .SingleAsync(x => x.PlaylistId == request.PlaylistId);

                var track = await _context.Tracks.FindAsync(request.TrackId);

                playlist.AddTrack(track);

                await _context.SaveChangesAsync(cancellationToken);

                return(new () {
                    Playlist = playlist.ToDto()
                });
            }
コード例 #8
0
ファイル: Refresh.cs プロジェクト: QuinntyneBrown/Crates
            public async Task <Response> Handle(Request request, CancellationToken cancellationToken)
            {
                var principal = _tokenProvider.GetPrincipalFromExpiredToken(request.AccessToken);
                var username  = principal.Identity.Name;
                var user      = await _context.Users.SingleAsync(x => x.Username == username, cancellationToken);

                var refreshToken = user.RefreshToken;

                if (refreshToken != request.RefreshToken)
                {
                    return(null);
                }

                var accessToken = _tokenProvider.Get(username);

                user.AddRefreshToken(_tokenProvider.GenerateRefreshToken());

                await _context.SaveChangesAsync(cancellationToken);

                return(new(accessToken, user.RefreshToken));
            }