Spaces:
Sleeping
Sleeping
| // _ _ | |
| // __ _____ __ ___ ___ __ _| |_ ___ | |
| // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
| // \ V V / __/ (_| |\ V /| | (_| | || __/ | |
| // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
| // | |
| // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
| // | |
| // CONTACT: [email protected] | |
| // | |
| package objects | |
| import "strings" | |
| // determine which field values not to return | |
| func determineResponseFields(fields []*string) map[string]struct{} { | |
| fieldsToKeep := map[string]struct{}{ | |
| "class": {}, "properties": {}, "creationTimeUnix": {}, | |
| "lastUpdateTimeUnix": {}, "key": {}, "id": {}, | |
| } | |
| if len(fields) > 0 { | |
| // check if "ALL" option is provided | |
| for _, field := range fields { | |
| fieldToKeep := strings.ToLower(*field) | |
| if fieldToKeep == "all" { | |
| return fieldsToKeep | |
| } | |
| } | |
| fieldsToKeep = make(map[string]struct{}) | |
| // iterate over the provided fields | |
| for _, field := range fields { | |
| fieldToKeep := strings.ToLower(*field) | |
| fieldsToKeep[fieldToKeep] = struct{}{} | |
| } | |
| } | |
| return fieldsToKeep | |
| } | |