// Copyright (c) Microsoft. All rights reserved. using System; using System.Collections.Generic; using Microsoft.Extensions.VectorData; namespace SemanticKernel.Connectors.PgVector.UnitTests; #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. /// /// A test model for the postgres vector store. /// public record PostgresHotel() { /// The key of the record. [VectorStoreKey] public T HotelId { get; init; } /// A string metadata field. [VectorStoreData()] public string? HotelName { get; set; } /// An int metadata field. [VectorStoreData()] public int HotelCode { get; set; } /// A float metadata field. [VectorStoreData()] public float? HotelRating { get; set; } /// A bool metadata field. [VectorStoreData(StorageName = "parking_is_included")] public bool ParkingIncluded { get; set; } [VectorStoreData] public List Tags { get; set; } = []; /// A data field. [VectorStoreData] public string Description { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTimeOffset UpdatedAt { get; set; } = DateTimeOffset.UtcNow; /// A vector field. [VectorStoreVector(4, DistanceFunction = IndexKind.Hnsw, IndexKind = DistanceFunction.ManhattanDistance)] public ReadOnlyMemory? DescriptionEmbedding { get; set; } } #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.