forked from mirrors/homebox
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:
parent
dd349aa98e
commit
efd7069fe4
7 changed files with 27 additions and 14 deletions
|
@ -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:
|
||||
|
|
|
@ -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,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2425,6 +2425,9 @@ const docTemplate = `{
|
|||
"v1.ApiSummary": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allowRegistration": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"build": {
|
||||
"$ref": "#/definitions/v1.Build"
|
||||
},
|
||||
|
|
|
@ -2417,6 +2417,9 @@
|
|||
"v1.ApiSummary": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"allowRegistration": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"build": {
|
||||
"$ref": "#/definitions/v1.Build"
|
||||
},
|
||||
|
|
|
@ -564,6 +564,8 @@ definitions:
|
|||
type: object
|
||||
v1.ApiSummary:
|
||||
properties:
|
||||
allowRegistration:
|
||||
type: boolean
|
||||
build:
|
||||
$ref: '#/definitions/v1.Build'
|
||||
demo:
|
||||
|
|
|
@ -335,6 +335,7 @@ export interface ActionAmountResult {
|
|||
}
|
||||
|
||||
export interface ApiSummary {
|
||||
allowRegistration: boolean;
|
||||
build: Build;
|
||||
demo: boolean;
|
||||
health: boolean;
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in a new issue