feat: hide registration button when disabled (#287)

* add allow registration to API Summary

* code gen

* use env for troubleshooting

* disable registration toggle based on backend
This commit is contained in:
Hayden 2023-02-15 08:58:38 -09:00 committed by GitHub
parent dd349aa98e
commit efd7069fe4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 27 additions and 14 deletions

View file

@ -2,6 +2,7 @@ version: "3"
env:
HBOX_STORAGE_SQLITE_URL: .data/homebox.db?_fk=1
HBOX_OPTIONS_ALLOW_REGISTRATION: true
UNSAFE_DISABLE_PASSWORD_PROJECTION: "yes_i_am_sure"
tasks:
setup:

View file

@ -44,12 +44,13 @@ type (
}
ApiSummary struct {
Healthy bool `json:"health"`
Versions []string `json:"versions"`
Title string `json:"title"`
Message string `json:"message"`
Build Build `json:"build"`
Demo bool `json:"demo"`
Healthy bool `json:"health"`
Versions []string `json:"versions"`
Title string `json:"title"`
Message string `json:"message"`
Build Build `json:"build"`
Demo bool `json:"demo"`
AllowRegistration bool `json:"allowRegistration"`
}
)
@ -82,11 +83,12 @@ func NewControllerV1(svc *services.AllServices, repos *repo.AllRepos, options ..
func (ctrl *V1Controller) HandleBase(ready ReadyFunc, build Build) server.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) error {
return server.Respond(w, http.StatusOK, ApiSummary{
Healthy: ready(),
Title: "Go API Template",
Message: "Welcome to the Go API Template Application!",
Build: build,
Demo: ctrl.isDemo,
Healthy: ready(),
Title: "Go API Template",
Message: "Welcome to the Go API Template Application!",
Build: build,
Demo: ctrl.isDemo,
AllowRegistration: ctrl.allowRegistration,
})
}
}

View file

@ -2425,6 +2425,9 @@ const docTemplate = `{
"v1.ApiSummary": {
"type": "object",
"properties": {
"allowRegistration": {
"type": "boolean"
},
"build": {
"$ref": "#/definitions/v1.Build"
},

View file

@ -2417,6 +2417,9 @@
"v1.ApiSummary": {
"type": "object",
"properties": {
"allowRegistration": {
"type": "boolean"
},
"build": {
"$ref": "#/definitions/v1.Build"
},

View file

@ -564,6 +564,8 @@ definitions:
type: object
v1.ApiSummary:
properties:
allowRegistration:
type: boolean
build:
$ref: '#/definitions/v1.Build'
demo:

View file

@ -335,6 +335,7 @@ export interface ActionAmountResult {
}
export interface ApiSummary {
allowRegistration: boolean;
build: Build;
demo: boolean;
health: boolean;

View file

@ -101,7 +101,6 @@
toast.success("Logged in successfully");
// @ts-expect-error - expires is either a date or a string, need to figure out store typing
authStore.$patch({
token: data.token,
expires: data.expiresAt,
@ -214,11 +213,13 @@
</Transition>
<div class="text-center mt-6">
<button
class="text-base-content text-lg hover:bg-primary hover:text-primary-content px-3 py-1 rounded-xl transition-colors duration-200"
v-if="status && status.allowRegistration"
class="btn text-base-content text-lg hover:bg-primary hover:text-primary-content transition-colors duration-200"
@click="() => toggleLogin()"
>
{{ registerForm ? "Already a User? Login" : "Not a User? Register" }}
{{ registerForm ? "Login" : "Register" }}
</button>
<p v-else class="text-base-content italic text-sm">Registration Disabled</p>
</div>
</div>
</div>