| |
@@ -12478,7 +12478,8 @@
|
| |
def listBuilds(self, packageID=None, userID=None, taskID=None, prefix=None, state=None,
|
| |
volumeID=None, source=None, createdBefore=None, createdAfter=None,
|
| |
completeBefore=None, completeAfter=None, type=None, typeInfo=None,
|
| |
- queryOpts=None, pattern=None, cgID=None, draft=None):
|
| |
+ queryOpts=None, pattern=None, cgID=None, draft=None,
|
| |
+ promotedBefore=None, promotedAfter=None, promoter=None):
|
| |
"""
|
| |
Return a list of builds that match the given parameters
|
| |
|
| |
@@ -12605,6 +12606,12 @@
|
| |
return []
|
| |
userID = userinfo['id']
|
| |
clauses.append('users.id = %(userID)i')
|
| |
+ if promoter is not None:
|
| |
+ promoter = get_user(promoter)
|
| |
+ if not promoter:
|
| |
+ return []
|
| |
+ promoterID = promoter['id']
|
| |
+ clauses.append('build.promoter = %(promoterID)s')
|
| |
if volumeID is not None:
|
| |
clauses.append('volume.id = %(volumeID)i')
|
| |
if taskID is not None:
|
| |
@@ -12639,6 +12646,14 @@
|
| |
if not isinstance(completeAfter, str):
|
| |
completeAfter = convert_timestamp(completeAfter)
|
| |
clauses.append('build.completion_time > %(completeAfter)s')
|
| |
+ if promotedBefore:
|
| |
+ if not isinstance(promotedBefore, str):
|
| |
+ promotedBefore = convert_timestamp(promotedBefore)
|
| |
+ clauses.append('build.promotion_time < %(promotedBefore)s')
|
| |
+ if promotedAfter:
|
| |
+ if not isinstance(promotedAfter, str):
|
| |
+ promotedAfter = convert_timestamp(promotedAfter)
|
| |
+ clauses.append('build.promotion_time > %(promotedAfter)s')
|
| |
if cgID:
|
| |
cgID = lookup_name('content_generator', cgID, strict=False)
|
| |
if not cgID:
|
| |
This allows querying builds by promoter or promotion time