func CommonAddTarget() { endPoint := os.Getenv("REGISTRY_URL") commonTarget := &models.RepTarget{ URL: endPoint, Name: TestTargetName, Username: adminName, Password: adminPwd, } _, _ = dao.AddRepTarget(*commonTarget) }
// Post ... func (t *TargetAPI) Post() { target := &models.RepTarget{} t.DecodeJSONReqAndValidate(target) ta, err := dao.GetRepTargetByName(target.Name) if err != nil { log.Errorf("failed to get target %s: %v", target.Name, err) t.CustomAbort(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError)) } if ta != nil { t.CustomAbort(http.StatusConflict, "name is already used") } ta, err = dao.GetRepTargetByEndpoint(target.URL) if err != nil { log.Errorf("failed to get target [ %s ]: %v", target.URL, err) t.CustomAbort(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError)) } if ta != nil { t.CustomAbort(http.StatusConflict, fmt.Sprintf("the target whose endpoint is %s already exists", target.URL)) } if len(target.Password) != 0 { target.Password, err = utils.ReversibleEncrypt(target.Password, t.secretKey) if err != nil { log.Errorf("failed to encrypt password: %v", err) t.CustomAbort(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError)) } } id, err := dao.AddRepTarget(*target) if err != nil { log.Errorf("failed to add target: %v", err) t.CustomAbort(http.StatusInternalServerError, http.StatusText(http.StatusInternalServerError)) } t.Redirect(http.StatusCreated, strconv.FormatInt(id, 10)) }