mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 13:34:43 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2017 Gitea Authors. All rights reserved.
 | 
						|
// SPDX-License-Identifier: MIT
 | 
						|
 | 
						|
package structs
 | 
						|
 | 
						|
import (
 | 
						|
	"time"
 | 
						|
)
 | 
						|
 | 
						|
// GPGKey a user GPG key to sign commit and tag in repository
 | 
						|
type GPGKey struct {
 | 
						|
	// The unique identifier of the GPG key
 | 
						|
	ID int64 `json:"id"`
 | 
						|
	// The primary key ID of the GPG key
 | 
						|
	PrimaryKeyID string `json:"primary_key_id"`
 | 
						|
	// The key ID of the GPG key
 | 
						|
	KeyID string `json:"key_id"`
 | 
						|
	// The public key content in armored format
 | 
						|
	PublicKey string `json:"public_key"`
 | 
						|
	// List of email addresses associated with this GPG key
 | 
						|
	Emails []*GPGKeyEmail `json:"emails"`
 | 
						|
	// List of subkeys of this GPG key
 | 
						|
	SubsKey []*GPGKey `json:"subkeys"`
 | 
						|
	// Whether the key can be used for signing
 | 
						|
	CanSign bool `json:"can_sign"`
 | 
						|
	// Whether the key can be used for encrypting communications
 | 
						|
	CanEncryptComms bool `json:"can_encrypt_comms"`
 | 
						|
	// Whether the key can be used for encrypting storage
 | 
						|
	CanEncryptStorage bool `json:"can_encrypt_storage"`
 | 
						|
	// Whether the key can be used for certification
 | 
						|
	CanCertify bool `json:"can_certify"`
 | 
						|
	// Whether the GPG key has been verified
 | 
						|
	Verified bool `json:"verified"`
 | 
						|
	// swagger:strfmt date-time
 | 
						|
	// The date and time when the GPG key was created
 | 
						|
	Created time.Time `json:"created_at"`
 | 
						|
	// swagger:strfmt date-time
 | 
						|
	// The date and time when the GPG key expires
 | 
						|
	Expires time.Time `json:"expires_at"`
 | 
						|
}
 | 
						|
 | 
						|
// GPGKeyEmail an email attached to a GPGKey
 | 
						|
// swagger:model GPGKeyEmail
 | 
						|
type GPGKeyEmail struct {
 | 
						|
	// The email address associated with the GPG key
 | 
						|
	Email string `json:"email"`
 | 
						|
	// Whether the email address has been verified
 | 
						|
	Verified bool `json:"verified"`
 | 
						|
}
 | 
						|
 | 
						|
// CreateGPGKeyOption options create user GPG key
 | 
						|
type CreateGPGKeyOption struct {
 | 
						|
	// An armored GPG key to add
 | 
						|
	//
 | 
						|
	// required: true
 | 
						|
	// unique: true
 | 
						|
	ArmoredKey string `json:"armored_public_key" binding:"Required"`
 | 
						|
	// An optional armored signature for the GPG key
 | 
						|
	Signature string `json:"armored_signature,omitempty"`
 | 
						|
}
 | 
						|
 | 
						|
// VerifyGPGKeyOption options verifies user GPG key
 | 
						|
type VerifyGPGKeyOption struct {
 | 
						|
	// An Signature for a GPG key token
 | 
						|
	//
 | 
						|
	// required: true
 | 
						|
	// The key ID of the GPG key to verify
 | 
						|
	KeyID string `json:"key_id" binding:"Required"`
 | 
						|
	// The armored signature to verify the GPG key
 | 
						|
	Signature string `json:"armored_signature" binding:"Required"`
 | 
						|
}
 |