package routes import ( "errors" "net/http" "git.artlef.fr/PersonalLibraryManager/internal/appcontext" "git.artlef.fr/PersonalLibraryManager/internal/createuser" "git.artlef.fr/PersonalLibraryManager/internal/dto" "git.artlef.fr/PersonalLibraryManager/internal/i18nresource" "git.artlef.fr/PersonalLibraryManager/internal/myvalidator" ) func PostSignupHandler(ac appcontext.AppContext) { if ac.Config.DisableRegistration { myvalidator.ReturnErrorsAsJsonResponse(&ac, myvalidator.HttpError{ StatusCode: http.StatusForbidden, Err: errors.New(i18nresource.GetTranslatedMessage(&ac, "RegistrationDisabled")), }) return } var user dto.UserSignup err := ac.C.ShouldBindJSON(&user) if err != nil { myvalidator.ReturnErrorsAsJsonResponse(&ac, err) return } err = createuser.CreateUser(ac, user.Username, user.Password) if err != nil { myvalidator.ReturnErrorsAsJsonResponse(&ac, err) return } ac.C.String(200, "Success") }