mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-30 11:04:14 +01:00 
			
		
		
		
	Close #25037 Close #31037 This PR adds a Arch package registry usable with pacman.  Rewrite of #25396 and #31037. You can follow [this tutorial](https://wiki.archlinux.org/title/Creating_packages) to build a package for testing. Docs PR: https://gitea.com/gitea/docs/pulls/111 Co-authored-by: [d1nch8g@ion.lc](mailto:d1nch8g@ion.lc) Co-authored-by: @ExplodingDragon --------- Co-authored-by: dancheg97 <dancheg97@fmnx.su> Co-authored-by: dragon <ExplodingFKL@gmail.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
		
			
				
	
	
		
			39 lines
		
	
	
		
			1006 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1006 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2024 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package arch
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	packages_model "code.gitea.io/gitea/models/packages"
 | |
| 	arch_module "code.gitea.io/gitea/modules/packages/arch"
 | |
| )
 | |
| 
 | |
| // GetRepositories gets all available repositories
 | |
| func GetRepositories(ctx context.Context, ownerID int64) ([]string, error) {
 | |
| 	return packages_model.GetDistinctPropertyValues(
 | |
| 		ctx,
 | |
| 		packages_model.TypeArch,
 | |
| 		ownerID,
 | |
| 		packages_model.PropertyTypeFile,
 | |
| 		arch_module.PropertyRepository,
 | |
| 		nil,
 | |
| 	)
 | |
| }
 | |
| 
 | |
| // GetArchitectures gets all available architectures for the given repository
 | |
| func GetArchitectures(ctx context.Context, ownerID int64, repository string) ([]string, error) {
 | |
| 	return packages_model.GetDistinctPropertyValues(
 | |
| 		ctx,
 | |
| 		packages_model.TypeArch,
 | |
| 		ownerID,
 | |
| 		packages_model.PropertyTypeFile,
 | |
| 		arch_module.PropertyArchitecture,
 | |
| 		&packages_model.DistinctPropertyDependency{
 | |
| 			Name:  arch_module.PropertyRepository,
 | |
| 			Value: repository,
 | |
| 		},
 | |
| 	)
 | |
| }
 |