giteabot backport / giteabot (push) Canceled after 0s
giteabot / giteabot (push) Canceled after 0s
release-nightly / nightly-binary (push) Canceled after 0s
release-nightly / nightly-container (push) Canceled after 0s
cache-seeder / gobuild (push) Canceled after 0s
cache-seeder / lint (bindata, lint-backend) (push) Canceled after 0s
release-nightly-snapcraft / build-and-publish (push) Canceled after 0s
Includes direct password setup links in registration emails. Assisted-by: Codex:GPT-5
36 lines
708 B
Go
36 lines
708 B
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package templates
|
|
|
|
import (
|
|
"bytes"
|
|
|
|
"gitea.dev/modules/json"
|
|
)
|
|
|
|
type JsonUtils struct{} //nolint:revive // variable naming triggers on Json, wants JSON
|
|
|
|
var jsonUtils = JsonUtils{}
|
|
|
|
func NewJsonUtils() *JsonUtils { //nolint:revive // variable naming triggers on Json, wants JSON
|
|
return &jsonUtils
|
|
}
|
|
|
|
func (su *JsonUtils) EncodeToString(v any) string {
|
|
out, err := json.Marshal(v)
|
|
if err != nil {
|
|
return ""
|
|
}
|
|
return string(out)
|
|
}
|
|
|
|
func (su *JsonUtils) PrettyIndent(s string) string {
|
|
var out bytes.Buffer
|
|
err := json.Indent(&out, []byte(s), "", " ")
|
|
if err != nil {
|
|
return ""
|
|
}
|
|
return out.String()
|
|
}
|