@@ -917,16 +917,26 @@ private string FindAllFromTypeEndPoint(bool includePrerelease, bool isSearchingM
917
917
}
918
918
919
919
// JFrog/Artifactory requires an empty search term to enumerate all packages in the feed
920
+ // It also deems 'IsLatestVersion eq true' and 'IsAbsoluteLatestVersion eq true' in the filter to be a bad request, so we use 'IsLatestVersion' or 'IsAbsoluteLatestVersion' only
920
921
if ( _isJFrogRepo ) {
921
922
queryBuilder . SearchTerm = "''" ;
922
- }
923
923
924
- if ( includePrerelease ) {
925
- queryBuilder . AdditionalParameters [ "includePrerelease" ] = "true" ;
926
- filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true" ) ;
927
- } else {
928
- filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
924
+ if ( includePrerelease ) {
925
+ queryBuilder . AdditionalParameters [ "includePrerelease" ] = "true" ;
926
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true" ) ;
927
+ } else {
928
+ filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
929
+ }
930
+ }
931
+ else {
932
+ if ( includePrerelease ) {
933
+ queryBuilder . AdditionalParameters [ "includePrerelease" ] = "true" ;
934
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion" ) ;
935
+ } else {
936
+ filterBuilder . AddCriterion ( "IsLatestVersion" ) ;
937
+ }
929
938
}
939
+
930
940
var requestUrlV2 = $ "{ Repository . Uri } { typeEndpoint } /Search()?{ queryBuilder . BuildQueryString ( ) } ";
931
941
return HttpRequestCall ( requestUrlV2 , out errRecord ) ;
932
942
}
@@ -956,17 +966,33 @@ private string FindTagFromEndpoint(string[] tags, bool includePrerelease, bool i
956
966
queryBuilder . AdditionalParameters [ "$orderby" ] = "Id desc" ;
957
967
}
958
968
959
- // JFrog/Artifactory requires an empty search term to enumerate all packages in the feed
960
- if ( _isJFrogRepo ) {
961
- queryBuilder . SearchTerm = "''" ;
962
- }
963
-
964
969
if ( includePrerelease ) {
965
970
queryBuilder . AdditionalParameters [ "includePrerelease" ] = "true" ;
966
- filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true " ) ;
971
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion" ) ;
967
972
} else {
968
- filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
969
- }
973
+ filterBuilder . AddCriterion ( "IsLatestVersion" ) ;
974
+ }
975
+
976
+ // // JFrog/Artifactory requires an empty search term to enumerate all packages in the feed
977
+ // // It also deems 'IsLatestVersion eq true' and 'IsAbsoluteLatestVersion eq true' in the filter to be a bad request, so we use 'IsLatestVersion' or 'IsAbsoluteLatestVersion' only
978
+ // if (_isJFrogRepo) {
979
+ // queryBuilder.SearchTerm = "''";
980
+
981
+ // if (includePrerelease) {
982
+ // queryBuilder.AdditionalParameters["includePrerelease"] = "true";
983
+ // filterBuilder.AddCriterion("IsAbsoluteLatestVersion eq true");
984
+ // } else {
985
+ // filterBuilder.AddCriterion("IsLatestVersion eq true");
986
+ // }
987
+ // }
988
+ // else {
989
+ // if (includePrerelease) {
990
+ // queryBuilder.AdditionalParameters["includePrerelease"] = "true";
991
+ // filterBuilder.AddCriterion("IsAbsoluteLatestVersion");
992
+ // } else {
993
+ // filterBuilder.AddCriterion("IsLatestVersion");
994
+ // }
995
+ // }
970
996
971
997
filterBuilder . AddCriterion ( $ "substringof('PS{ ( isSearchingModule ? "Module" : "Script" ) } ', Tags) eq true") ;
972
998
@@ -1040,11 +1066,23 @@ private string FindNameGlobbing(string packageName, ResourceType type, bool incl
1040
1066
queryBuilder . AdditionalParameters [ "$orderby" ] = "Id desc" ;
1041
1067
}
1042
1068
1069
+ // JFrog/Artifactory requires an empty search term to enumerate all packages in the feed
1070
+ // It also deems 'IsLatestVersion eq true' and 'IsAbsoluteLatestVersion eq true' in the filter to be a bad request, so we use 'IsLatestVersion' or 'IsAbsoluteLatestVersion' only
1043
1071
if ( includePrerelease ) {
1044
1072
queryBuilder . AdditionalParameters [ "includePrerelease" ] = "true" ;
1045
- filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true" ) ;
1073
+ if ( _isJFrogRepo ) {
1074
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true" ) ;
1075
+ }
1076
+ else {
1077
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion" ) ;
1078
+ }
1046
1079
} else {
1047
- filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
1080
+ if ( _isJFrogRepo ) {
1081
+ filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
1082
+ }
1083
+ else {
1084
+ filterBuilder . AddCriterion ( "IsLatestVersion" ) ;
1085
+ }
1048
1086
}
1049
1087
1050
1088
var names = packageName . Split ( new char [ ] { '*' } , StringSplitOptions . RemoveEmptyEntries ) ;
@@ -1134,11 +1172,23 @@ private string FindNameGlobbingWithTag(string packageName, string[] tags, Resour
1134
1172
queryBuilder . AdditionalParameters [ "$orderby" ] = "Id desc" ;
1135
1173
}
1136
1174
1175
+ // JFrog/Artifactory requires an empty search term to enumerate all packages in the feed
1176
+ // It also deems 'IsLatestVersion eq true' and 'IsAbsoluteLatestVersion eq true' in the filter to be a bad request, so we use 'IsLatestVersion' or 'IsAbsoluteLatestVersion' only
1137
1177
if ( includePrerelease ) {
1138
1178
queryBuilder . AdditionalParameters [ "includePrerelease" ] = "true" ;
1139
- filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true" ) ;
1179
+ if ( _isJFrogRepo ) {
1180
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion eq true" ) ;
1181
+ }
1182
+ else {
1183
+ filterBuilder . AddCriterion ( "IsAbsoluteLatestVersion" ) ;
1184
+ }
1140
1185
} else {
1141
- filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
1186
+ if ( _isJFrogRepo ) {
1187
+ filterBuilder . AddCriterion ( "IsLatestVersion eq true" ) ;
1188
+ }
1189
+ else {
1190
+ filterBuilder . AddCriterion ( "IsLatestVersion" ) ;
1191
+ }
1142
1192
}
1143
1193
1144
1194
var names = packageName . Split ( new char [ ] { '*' } , StringSplitOptions . RemoveEmptyEntries ) ;
0 commit comments