| 
									
										
										
										
											2022-10-09 18:15:37 +02:00
										 |  |  | import { logger } from '../npmci.logging.js'; | 
					
						
							|  |  |  | import * as plugins from './mod.plugins.js'; | 
					
						
							| 
									
										
										
										
											2021-05-14 18:11:12 +00:00
										 |  |  | import { ObjectMap } from '@pushrocks/lik'; | 
					
						
							| 
									
										
										
										
											2017-08-28 01:03:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-10-09 18:15:37 +02:00
										 |  |  | import { DockerRegistry } from './mod.classes.dockerregistry.js'; | 
					
						
							| 
									
										
										
										
											2017-08-28 01:03:59 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | export class RegistryStorage { | 
					
						
							| 
									
										
										
										
											2021-05-14 18:11:12 +00:00
										 |  |  |   objectMap = new ObjectMap<DockerRegistry>(); | 
					
						
							| 
									
										
										
										
											2018-04-04 22:25:13 +02:00
										 |  |  |   constructor() { | 
					
						
							| 
									
										
										
										
											2017-08-28 01:03:59 +02:00
										 |  |  |     // Nothing here
 | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:25:13 +02:00
										 |  |  |   addRegistry(registryArg: DockerRegistry) { | 
					
						
							|  |  |  |     this.objectMap.add(registryArg); | 
					
						
							| 
									
										
										
										
											2017-08-28 01:03:59 +02:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:25:13 +02:00
										 |  |  |   getRegistryByUrl(registryUrlArg: string) { | 
					
						
							| 
									
										
										
										
											2021-10-19 03:09:50 +02:00
										 |  |  |     return this.objectMap.findSync((registryArg) => { | 
					
						
							| 
									
										
										
										
											2018-04-04 22:25:13 +02:00
										 |  |  |       return registryArg.registryUrl === registryUrlArg; | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2017-08-28 01:03:59 +02:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-04-04 22:25:13 +02:00
										 |  |  |   async loginAll() { | 
					
						
							| 
									
										
										
										
											2021-05-14 18:11:12 +00:00
										 |  |  |     await this.objectMap.forEach(async (registryArg) => { | 
					
						
							| 
									
										
										
										
											2018-04-04 22:25:13 +02:00
										 |  |  |       await registryArg.login(); | 
					
						
							|  |  |  |     }); | 
					
						
							| 
									
										
										
										
											2018-11-24 15:00:19 +01:00
										 |  |  |     logger.log('success', 'logged in successfully into all available DockerRegistries!'); | 
					
						
							| 
									
										
										
										
											2017-08-28 01:03:59 +02:00
										 |  |  |   } | 
					
						
							|  |  |  | } |