mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	
		
			
	
	
		
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								package accounts
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils"
							 | 
						||
| 
								 | 
							
									"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
							 | 
						||
| 
								 | 
							
									"github.com/iwind/TeaGo/maps"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type IndexAction struct {
							 | 
						||
| 
								 | 
							
									actionutils.ParentAction
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func (this *IndexAction) Init() {
							 | 
						||
| 
								 | 
							
									this.Nav("", "", "account")
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func (this *IndexAction) RunGet(params struct{}) {
							 | 
						||
| 
								 | 
							
									countResp, err := this.RPC().ACMEProviderAccountRPC().CountAllEnabledACMEProviderAccounts(this.AdminContext(), &pb.CountAllEnabledACMEProviderAccountsRequest{})
							 | 
						||
| 
								 | 
							
									if err != nil {
							 | 
						||
| 
								 | 
							
										this.ErrorPage(err)
							 | 
						||
| 
								 | 
							
										return
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									var count = countResp.Count
							 | 
						||
| 
								 | 
							
									var page = this.NewPage(count)
							 | 
						||
| 
								 | 
							
									this.Data["page"] = page.AsHTML()
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									accountsResp, err := this.RPC().ACMEProviderAccountRPC().ListEnabledACMEProviderAccounts(this.AdminContext(), &pb.ListEnabledACMEProviderAccountsRequest{
							 | 
						||
| 
								 | 
							
										Offset: page.Offset,
							 | 
						||
| 
								 | 
							
										Size:   page.Size,
							 | 
						||
| 
								 | 
							
									})
							 | 
						||
| 
								 | 
							
									if err != nil {
							 | 
						||
| 
								 | 
							
										this.ErrorPage(err)
							 | 
						||
| 
								 | 
							
										return
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									var accountMaps = []maps.Map{}
							 | 
						||
| 
								 | 
							
									for _, account := range accountsResp.AcmeProviderAccounts {
							 | 
						||
| 
								 | 
							
										var providerMap maps.Map
							 | 
						||
| 
								 | 
							
										if account.AcmeProvider != nil {
							 | 
						||
| 
								 | 
							
											providerMap = maps.Map{
							 | 
						||
| 
								 | 
							
												"name":       account.AcmeProvider.Name,
							 | 
						||
| 
								 | 
							
												"code":       account.AcmeProvider.Code,
							 | 
						||
| 
								 | 
							
												"requireEAB": account.AcmeProvider.RequireEAB,
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										accountMaps = append(accountMaps, maps.Map{
							 | 
						||
| 
								 | 
							
											"id":       account.Id,
							 | 
						||
| 
								 | 
							
											"isOn":     account.IsOn,
							 | 
						||
| 
								 | 
							
											"name":     account.Name,
							 | 
						||
| 
								 | 
							
											"eabKid":   account.EabKid,
							 | 
						||
| 
								 | 
							
											"eabKey":   account.EabKey,
							 | 
						||
| 
								 | 
							
											"provider": providerMap,
							 | 
						||
| 
								 | 
							
										})
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
									this.Data["accounts"] = accountMaps
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									this.Show()
							 | 
						||
| 
								 | 
							
								}
							 |