forked from vieter-v/vieter
				
			Merge pull request 'fix(cron): retrieve all GitRepo's instead of first 25' (#198) from Chewing_Bever/vieter:cron-25-bug into dev
Reviewed-on: vieter/vieter#198hash-on-upload
						commit
						c0b739035b
					
				|  | @ -4,7 +4,7 @@ import models { GitRepo, GitRepoFilter } | |||
| import net.http { Method } | ||||
| 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 { | ||||
| 	params := models.params_from(filter) | ||||
| 	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 | ||||
| } | ||||
| 
 | ||||
| // 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. | ||||
| pub fn (c &Client) get_git_repo(id int) ?GitRepo { | ||||
| 	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() { | ||||
| 	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.api_update_timestamp = time.now().add_seconds(daemon.api_update_retry_timeout) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue