github.com/ravendb/ravendb-go-client@v0.0.0-20240229102137-4474ee7aa0fa/json_extensions.go (about) 1 package ravendb 2 3 func jsonExtensionsWriteIndexQuery(conventions *DocumentConventions, query *IndexQuery) map[string]interface{} { 4 res := map[string]interface{}{} 5 res["Query"] = query.query 6 if query.pageSize > 0 { 7 res["PageSize"] = query.pageSize 8 } 9 10 if query.waitForNonStaleResults { 11 res["WaitForNonStaleResults"] = query.waitForNonStaleResults 12 } 13 14 if query.start > 0 { 15 res["Start"] = query.start 16 } 17 18 if query.waitForNonStaleResultsTimeout != 0 { 19 s := durationToTimeSpan(query.waitForNonStaleResultsTimeout) 20 res["WaitForNonStaleResultsTimeout"] = s 21 } 22 23 if query.disableCaching { 24 res["DisableCaching"] = query.disableCaching 25 } 26 27 if query.skipDuplicateChecking { 28 res["SkipDuplicateChecking"] = query.skipDuplicateChecking 29 } 30 params := query.queryParameters 31 if params != nil { 32 res["QueryParameters"] = convertEntityToJSON(params, nil) 33 } else { 34 res["QueryParameters"] = nil 35 } 36 return res 37 } 38 39 func tryGetConflict(metadata map[string]interface{}) bool { 40 v, ok := metadata[MetadataConflict] 41 if !ok { 42 return false 43 } 44 b, ok := v.(bool) 45 if !ok { 46 return false 47 } 48 return b 49 }