@@ -24,22 +24,31 @@ class Projects extends AbstractApi
24
24
/**
25
25
* @param array $parameters {
26
26
*
27
- * @var bool $archived limit by archived status
28
- * @var string $visibility limit by visibility public, internal, or private
29
- * @var string $order_by Return projects ordered by id, name, path, created_at, updated_at,
30
- * last_activity_at, repository_size, storage_size, packages_size or
31
- * wiki_size fields (default is created_at)
32
- * @var string $sort Return projects sorted in asc or desc order (default is desc)
33
- * @var string $search return list of projects matching the search criteria
34
- * @var bool $search_namespaces Include ancestor namespaces when matching search criteria
35
- * @var bool $simple return only the ID, URL, name, and path of each project
36
- * @var bool $owned limit by projects owned by the current user
37
- * @var bool $membership limit by projects that the current user is a member of
38
- * @var bool $starred limit by projects starred by the current user
39
- * @var bool $statistics include project statistics
40
- * @var bool $with_issues_enabled limit by enabled issues feature
41
- * @var bool $with_merge_requests_enabled limit by enabled merge requests feature
42
- * @var int $min_access_level Limit by current user minimal access level
27
+ * @var bool $archived limit by archived status
28
+ * @var string $visibility limit by visibility public, internal, or private
29
+ * @var string $order_by Return projects ordered by id, name, path, created_at, updated_at,
30
+ * last_activity_at, repository_size, storage_size, packages_size or
31
+ * wiki_size fields (default is created_at)
32
+ * @var string $sort Return projects sorted in asc or desc order (default is desc)
33
+ * @var string $search return list of projects matching the search criteria
34
+ * @var bool $search_namespaces Include ancestor namespaces when matching search criteria
35
+ * @var bool $simple return only the ID, URL, name, and path of each project
36
+ * @var bool $owned limit by projects owned by the current user
37
+ * @var bool $membership limit by projects that the current user is a member of
38
+ * @var bool $starred limit by projects starred by the current user
39
+ * @var bool $statistics include project statistics
40
+ * @var bool $with_issues_enabled limit by enabled issues feature
41
+ * @var bool $with_merge_requests_enabled limit by enabled merge requests feature
42
+ * @var int $min_access_level Limit by current user minimal access level
43
+ * @var int $id_after Limit by project id's greater than the specified id
44
+ * @var int $id_before Limit by project id's less than the specified id
45
+ * @var \DateTimeInterface $last_activity_after Limit by last_activity after specified time
46
+ * @var \DateTimeInterface $last_activity_before Limit by last_activity before specified time
47
+ * @var bool $repository_checksum_failed Limit by failed repository checksum calculation
48
+ * @var string $repository_storage Limit by repository storage type
49
+ * @var bool $wiki_checksum_failed Limit by failed wiki checksum calculation
50
+ * @var bool $with_custom_attributes Include custom attributes in response
51
+ * @var string $with_programming_language Limit by programming language
43
52
* }
44
53
*
45
54
* @throws UndefinedOptionsException If an option name is undefined
@@ -54,6 +63,9 @@ public function all(array $parameters = [])
54
63
$ booleanNormalizer = function (Options $ resolver , $ value ): string {
55
64
return $ value ? 'true ' : 'false ' ;
56
65
};
66
+ $ datetimeNormalizer = function (Options $ resolver , \DateTimeInterface $ value ): string {
67
+ return $ value ->format ('c ' );
68
+ };
57
69
$ resolver ->setDefined ('archived ' )
58
70
->setAllowedTypes ('archived ' , 'bool ' )
59
71
->setNormalizer ('archived ' , $ booleanNormalizer )
@@ -107,6 +119,34 @@ public function all(array $parameters = [])
107
119
$ resolver ->setDefined ('min_access_level ' )
108
120
->setAllowedValues ('min_access_level ' , [null , 10 , 20 , 30 , 40 , 50 ])
109
121
;
122
+ $ resolver ->setDefined ('id_after ' )
123
+ ->setAllowedTypes ('id_after ' , 'integer ' )
124
+ ;
125
+ $ resolver ->setDefined ('id_before ' )
126
+ ->setAllowedTypes ('id_before ' , 'integer ' )
127
+ ;
128
+ $ resolver ->setDefined ('last_activity_after ' )
129
+ ->setAllowedTypes ('last_activity_after ' , \DateTimeInterface::class)
130
+ ->setNormalizer ('last_activity_after ' , $ datetimeNormalizer )
131
+ ;
132
+ $ resolver ->setDefined ('last_activity_before ' )
133
+ ->setAllowedTypes ('last_activity_before ' , \DateTimeInterface::class)
134
+ ->setNormalizer ('last_activity_before ' , $ datetimeNormalizer )
135
+ ;
136
+ $ resolver ->setDefined ('repository_checksum_failed ' )
137
+ ->setAllowedTypes ('repository_checksum_failed ' , 'bool ' )
138
+ ->setNormalizer ('repository_checksum_failed ' , $ booleanNormalizer )
139
+ ;
140
+ $ resolver ->setDefined ('repository_storage ' );
141
+ $ resolver ->setDefined ('wiki_checksum_failed ' )
142
+ ->setAllowedTypes ('wiki_checksum_failed ' , 'bool ' )
143
+ ->setNormalizer ('wiki_checksum_failed ' , $ booleanNormalizer )
144
+ ;
145
+ $ resolver ->setDefined ('with_custom_attributes ' )
146
+ ->setAllowedTypes ('with_custom_attributes ' , 'bool ' )
147
+ ->setNormalizer ('with_custom_attributes ' , $ booleanNormalizer )
148
+ ;
149
+ $ resolver ->setDefined ('with_programming_language ' );
110
150
111
151
return $ this ->get ('projects ' , $ resolver ->resolve ($ parameters ));
112
152
}
0 commit comments