fix(cron): retrieve all GitRepo's instead of first 25
							parent
							
								
									d1979ab05f
								
							
						
					
					
						commit
						0bff91c15f
					
				| 
						 | 
					@ -4,7 +4,7 @@ import models { GitRepo, GitRepoFilter }
 | 
				
			||||||
import net.http { Method }
 | 
					import net.http { Method }
 | 
				
			||||||
import response { Response }
 | 
					import response { Response }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// get_git_repos returns the current list of repos.
 | 
					// get_git_repos returns a list of GitRepo's, given a filter object.
 | 
				
			||||||
pub fn (c &Client) get_git_repos(filter GitRepoFilter) ?[]GitRepo {
 | 
					pub fn (c &Client) get_git_repos(filter GitRepoFilter) ?[]GitRepo {
 | 
				
			||||||
	params := models.params_from(filter)
 | 
						params := models.params_from(filter)
 | 
				
			||||||
	data := c.send_request<[]GitRepo>(Method.get, '/api/repos', params)?
 | 
						data := c.send_request<[]GitRepo>(Method.get, '/api/repos', params)?
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,27 @@ pub fn (c &Client) get_git_repos(filter GitRepoFilter) ?[]GitRepo {
 | 
				
			||||||
	return data.data
 | 
						return data.data
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// get_all_git_repos retrieves *all* GitRepo's from the API using the default
 | 
				
			||||||
 | 
					// limit.
 | 
				
			||||||
 | 
					pub fn (c &Client) get_all_git_repos() ?[]GitRepo {
 | 
				
			||||||
 | 
						mut repos := []GitRepo{}
 | 
				
			||||||
 | 
						mut offset := u64(0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for {
 | 
				
			||||||
 | 
							sub_repos := c.get_git_repos(offset: offset)?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if sub_repos.len == 0 {
 | 
				
			||||||
 | 
								break
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							repos << sub_repos
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							offset += u64(sub_repos.len)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return repos
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// get_git_repo returns the repo for a specific ID.
 | 
					// get_git_repo returns the repo for a specific ID.
 | 
				
			||||||
pub fn (c &Client) get_git_repo(id int) ?GitRepo {
 | 
					pub fn (c &Client) get_git_repo(id int) ?GitRepo {
 | 
				
			||||||
	data := c.send_request<GitRepo>(Method.get, '/api/repos/$id', {})?
 | 
						data := c.send_request<GitRepo>(Method.get, '/api/repos/$id', {})?
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -178,7 +178,7 @@ fn (mut d Daemon) schedule_build(repo GitRepo) {
 | 
				
			||||||
fn (mut d Daemon) renew_repos() {
 | 
					fn (mut d Daemon) renew_repos() {
 | 
				
			||||||
	d.linfo('Renewing repos...')
 | 
						d.linfo('Renewing repos...')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mut new_repos := d.client.get_git_repos() or {
 | 
						mut new_repos := d.client.get_all_git_repos() or {
 | 
				
			||||||
		d.lerror('Failed to renew repos. Retrying in ${daemon.api_update_retry_timeout}s...')
 | 
							d.lerror('Failed to renew repos. Retrying in ${daemon.api_update_retry_timeout}s...')
 | 
				
			||||||
		d.api_update_timestamp = time.now().add_seconds(daemon.api_update_retry_timeout)
 | 
							d.api_update_timestamp = time.now().add_seconds(daemon.api_update_retry_timeout)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue