Example #1
0
        public IActionResult AuthWithTelegram([FromBody] TelegramAuthModel model)
        {
            // todo Validate telegram request
            var group = _repository.GetGroupByName(model.Group);

            if (group == null)
            {
                return(BadRequest(new { message = "Group not exist!" }));
            }
            var authReuqest = new AuthenticateRequestTelegram
            {
                GroupId      = group.Id,
                TelegramUser = model.TelegramUser
            };
            var authResult = _userSerice.AuthenticateWithTelegram(authReuqest, ipAddress());

            if (authResult == null)
            {
                return(BadRequest("Group is not match user group!"));
            }

            setTokenCookie(authResult.RefreshToken);

            return(Ok(new AuthentificateDto
            {
                Id = authResult.Student.Id,
                Group = authResult.Student.Group.Group_Name,
                Username = authResult.Student.Username,
                FirstName = authResult.Student.FirstName,
                LastName = authResult.Student.LastName,
                Token = authResult.JwtToken,
                RefreshToken = authResult.RefreshToken
            }));
        }
        public async Task <ActionResult <IEnumerable <SubjectDto> > > GetTimeTableGroupAsync(string groupName)
        {
            var group = _rozkladRepository.GetGroupByName(groupName);

            if (group == null)
            {
                return(NotFound());
            }

            var lessons = await _rozkladRepository.GetLessonsForGroupAsync(group.Id);

            return(Ok(lessons));
        }