Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
EnableCodeSignin offers sign-in by an emailed or texted one-time code beside the password. A POINTER for the same reason as IsShared: a plain bool reads as false on every reconcile that says nothing and would switch the method off for every app whose caller never mentioned it.
ExpireInHours and RefreshExpireInHours are the application's token lifetimes. They are the ONLY declarative way to say that a refresh token must OUTLIVE its access token: with neither stated, oidc.refreshTTL clamps the refresh lifetime to the access lifetime, so the refresh_token grant the registration advertises expires at the same instant as the token it was meant to renew and can never be exercised. hanzo-cli sat in exactly that state — a browser re-login every hour, and a live refresh returning 401. POINTERS, for the same reason as IsShared: a plain float would read as 0 on every reconcile that says nothing and reset a deliberate lifetime back to the default. Nil means "not stated, leave it".
IsShared declares that this application serves EVERY organization, not only the one named in Organization. It is the honest description of a brand app — hanzo-id, hanzo-chat, a brand console — whose customers each live in their own tenant: self-service onboarding moves a founder OUT of the brand org, so user.Owner != app.Organization is the steady state and the app really does serve every org. Application.ServesOrg reads it as one of the three ways to say yes. A POINTER because omission must PRESERVE. This upsert is the operator's steady-state reconcile and most callers say nothing about sharing; a plain bool would read as false on every one of them and silently un-share an app — the same shape of accident that de-secreted apps through update-application. Nil means "not stated, leave it"; only an explicit true or false moves it.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.
Public declares a client that CANNOT hold a credential — a browser SPA, a CLI, a desktop app. It proves itself with PKCE instead, and the token endpoint treats "no stored secret" as exactly that (token.go: a secret is verified only when one is stored). Without this flag every upsert minted a secret, so a public client could never be registered at all and its browser code->token exchange 401'd invalid_client forever.
Please note: This property should have been non-nullable! Since the specification file
does not include a default value (using the "default:" property), however, the generated
source code must fall back to having a nullable type.
Consider adding a "default:" property in the specification file to hide this note.