mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-28 22:37:54 -04: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"`
 | |
| }
 |