44from pinecone .utils import parse_non_empty_args , convert_enum_to_string
55
66from pinecone .core .openapi .repository_control .model .create_repository_request import (
7- CreateRepositoryRequest ,
7+ CreateRepositoryRequest as OpenAPICreateRepositoryRequest ,
8+ )
9+ from pinecone .core .openapi .repository_control .model .repository_spec import (
10+ RepositorySpec as OpenAPIRepositorySpec ,
811)
9- from pinecone .core .openapi .repository_control .model .repository_spec import RepositorySpec
1012from pinecone .core .openapi .repository_control .model .serverless_spec import (
11- ServerlessSpec as ServerlessSpecModel ,
13+ ServerlessSpec as OpenAPIServerlessSpec ,
14+ )
15+ from pinecone .core .openapi .repository_control .model .document_schema import (
16+ DocumentSchema as OpenAPIDocumentSchema ,
1217)
13- from pinecone .core .openapi .repository_control .model .serverless_spec import ServerlessSpec
14- from pinecone .core .openapi .repository_control .model .document_schema import DocumentSchema
1518from pinecone .core .openapi .repository_control .model .document_schema_field_map import (
16- DocumentSchemaFieldMap ,
19+ DocumentSchemaFieldMap as OpenAPIDocumentSchemaFieldMap ,
1720)
21+ from pinecone .repository_control .models .serverless_spec import ServerlessSpec
22+ from pinecone .repository_control .models .document_schema import DocumentSchema
1823
1924
2025logger = logging .getLogger (__name__ )
@@ -29,20 +34,20 @@ class PineconeRepositoryControlRequestFactory:
2934 """
3035
3136 @staticmethod
32- def __parse_repository_spec (spec : Union [Dict , ServerlessSpec ]) -> RepositorySpec :
37+ def __parse_repository_spec (spec : Union [Dict , ServerlessSpec ]) -> OpenAPIRepositorySpec :
3338 if isinstance (spec , dict ):
3439 if "serverless" in spec :
3540 spec ["serverless" ]["cloud" ] = convert_enum_to_string (spec ["serverless" ]["cloud" ])
3641 spec ["serverless" ]["region" ] = convert_enum_to_string (spec ["serverless" ]["region" ])
3742
38- repository_spec = RepositorySpec (
39- serverless = ServerlessSpecModel (** spec ["serverless" ])
43+ repository_spec = OpenAPIRepositorySpec (
44+ serverless = OpenAPIServerlessSpec (** spec ["serverless" ])
4045 )
4146 else :
4247 raise ValueError ("spec must contain a 'serverless' key" )
4348 elif isinstance (spec , ServerlessSpec ):
44- repository_spec = RepositorySpec (
45- serverless = ServerlessSpecModel (cloud = spec .cloud , region = spec .region )
49+ repository_spec = OpenAPIRepositorySpec (
50+ serverless = OpenAPIServerlessSpec (cloud = spec .cloud , region = spec .region )
4651 )
4752 else :
4853 raise TypeError ("spec must be of type dict or ServerlessSpec" )
@@ -53,9 +58,10 @@ def __parse_repository_spec(spec: Union[Dict, ServerlessSpec]) -> RepositorySpec
5358 def __parse_repository_schema (schema : Union [Dict , DocumentSchema ]) -> DocumentSchema :
5459 if isinstance (schema , dict ):
5560 if "fields" in schema :
56- repository_schema = DocumentSchema (
57- fields = DocumentSchemaFieldMap (** schema ["fields" ])
61+ openapi_schema = OpenAPIDocumentSchema (
62+ fields = OpenAPIDocumentSchemaFieldMap (** schema ["fields" ])
5863 )
64+ repository_schema = DocumentSchema (openapi_schema )
5965 else :
6066 raise ValueError ("schema must contain a 'fields' key" )
6167 elif isinstance (schema , DocumentSchema ):
@@ -68,10 +74,10 @@ def __parse_repository_schema(schema: Union[Dict, DocumentSchema]) -> DocumentSc
6874 @staticmethod
6975 def create_repository_request (
7076 name : str , spec : Union [Dict , ServerlessSpec ], schema : Union [Dict , DocumentSchema ]
71- ) -> CreateRepositoryRequest :
72- spec = PineconeRepositoryControlRequestFactory .__parse_repository_spec (spec )
73- schema = PineconeRepositoryControlRequestFactory .__parse_repository_schema (schema )
77+ ) -> OpenAPICreateRepositoryRequest :
78+ parsed_spec = PineconeRepositoryControlRequestFactory .__parse_repository_spec (spec )
79+ parsed_schema = PineconeRepositoryControlRequestFactory .__parse_repository_schema (schema )
7480
75- args = parse_non_empty_args ([("name" , name ), ("spec" , spec ), ("schema" , schema )])
81+ args = parse_non_empty_args ([("name" , name ), ("spec" , parsed_spec ), ("schema" , parsed_schema )])
7682
77- return CreateRepositoryRequest (** args )
83+ return OpenAPICreateRepositoryRequest (** args )
0 commit comments