mirror of
https://github.com/hanzoai/forge.git
synced 2026-10-30 15:00:39 +00:00
Source files keep their SPDX-License-Identifier and Hanzo copyright line; the Gitea, Gogs and LFS Test Server copyrights they used to repeat now live once in NOTICE, alongside LICENSE. The header lint accepts any copyright line above the SPDX line, so it no longer demands an upstream one. Co-authored-by: Hanzo Dev <[email protected]>
29 lines
1001 B
Go
29 lines
1001 B
Go
// Copyright 2026 Hanzo AI, Inc. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package private
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
)
|
|
|
|
// UpdatePublicKeyInRepo update public key and if necessary deploy key updates
|
|
func UpdatePublicKeyInRepo(ctx context.Context, keyID, repoID int64) error {
|
|
// Ask for running deliver hook and test pull request tasks.
|
|
reqURL := internalURL(fmt.Sprintf("ssh/%d/update/%d", keyID, repoID))
|
|
req := newInternalRequestAPI(ctx, reqURL, "POST")
|
|
_, extra := requestJSONResp(req, &ResponseText{})
|
|
return extra.Error
|
|
}
|
|
|
|
// AuthorizedPublicKeyByContent searches content as prefix (leak e-mail part)
|
|
// and returns public key found.
|
|
func AuthorizedPublicKeyByContent(ctx context.Context, content string) (*ResponseText, ResponseExtra) {
|
|
// Ask for running deliver hook and test pull request tasks.
|
|
reqURL := internalURL("ssh/authorized_keys")
|
|
req := newInternalRequestAPI(ctx, reqURL, "POST")
|
|
req.Param("content", content)
|
|
return requestJSONResp(req, &ResponseText{})
|
|
}
|