Ejemplo n.º 1
0
        public IActionResult EditGitToken([FromBody] GitCredentialInputModel model,
                                          [FromServices] IGitRepository gitRepository)
        {
            //入力値チェック
            if (!ModelState.IsValid)
            {
                return(JsonBadRequest("Invalid inputs."));
            }

            var tenantId = CurrentUserInfo.SelectedTenant.Id;

            //まずは今の情報を取得
            var userGitMap = gitRepository.GetUserTenantGitMap(CurrentUserInfo.Id, tenantId, model.Id);

            if (userGitMap == null)
            {
                //今の値がないのはオカシイ。紐づけられていない情報を変更しようとしているとみなす。
                return(JsonBadRequest("Couldn't map the git to the current user & tenant. Please contact a user administrator."));
            }

            //変更
            userGitMap.GitToken = model.Token;

            unitOfWork.Commit();

            GitCredentialOutputModel result = new GitCredentialOutputModel(userGitMap);

            return(JsonOK(result));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// ログインユーザ&テナントに紐付くGitMap情報を取得する
        /// </summary>
        /// <param name="gitId">Git ID</param>
        /// <returns>Gitマップ情報</returns>
        private UserTenantGitMap GetCurrentGitMap(long gitId)
        {
            var tenant = CurrentUserInfo?.SelectedTenant;

            if (tenant == null)
            {
                return(null);
            }
            return(gitRepository.GetUserTenantGitMap(CurrentUserInfo.Id, tenant.Id, gitId));
        }
Ejemplo n.º 3
0
 private string UserGitToken(long?gitId)
 {
     return(gitId.HasValue ? gitRepository.GetUserTenantGitMap(CurrentUserInfo.Id, CurrentUserInfo.SelectedTenant.Id, gitId.Value).GitToken : "");
 }