vectorize_client.models.github_config

Vectorize API

API for Vectorize services (Beta)

The version of the OpenAPI document: 0.1.2 Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.

  1# coding: utf-8
  2
  3"""
  4    Vectorize API
  5
  6    API for Vectorize services (Beta)
  7
  8    The version of the OpenAPI document: 0.1.2
  9    Generated by OpenAPI Generator (https://openapi-generator.tech)
 10
 11    Do not edit the class manually.
 12"""  # noqa: E501
 13
 14
 15from __future__ import annotations
 16import pprint
 17import re  # noqa: F401
 18import json
 19
 20from datetime import date
 21from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
 22from typing import Any, ClassVar, Dict, List, Optional, Union
 23from typing import Optional, Set
 24from typing_extensions import Self
 25
 26class GITHUBConfig(BaseModel):
 27    """
 28    Configuration for GitHub connector
 29    """ # noqa: E501
 30    repositories: List[StrictStr] = Field(description="Repositories. Example: Example: owner1/repo1")
 31    include_pull_requests: StrictBool = Field(description="Include Pull Requests", alias="include-pull-requests")
 32    pull_request_status: StrictStr = Field(description="Pull Request Status", alias="pull-request-status")
 33    pull_request_labels: Optional[List[StrictStr]] = Field(default=None, description="Pull Request Labels. Example: Optionally filter by label. E.g. fix", alias="pull-request-labels")
 34    include_issues: StrictBool = Field(description="Include Issues", alias="include-issues")
 35    issue_status: StrictStr = Field(description="Issue Status", alias="issue-status")
 36    issue_labels: Optional[List[StrictStr]] = Field(default=None, description="Issue Labels. Example: Optionally filter by label. E.g. bug", alias="issue-labels")
 37    max_items: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Max Items. Leave blank for no limit, or specify a maximum number. Example: Enter maximum number of items to fetch (leave blank for no limit)", alias="max-items")
 38    created_after: Optional[date] = Field(default=None, description="Created After. Filter for items created after this date. Example: Enter a date: Example 2012-12-31", alias="created-after")
 39    __properties: ClassVar[List[str]] = ["repositories", "include-pull-requests", "pull-request-status", "pull-request-labels", "include-issues", "issue-status", "issue-labels", "max-items", "created-after"]
 40
 41    @field_validator('pull_request_status')
 42    def pull_request_status_validate_enum(cls, value):
 43        """Validates the enum"""
 44        if value not in set(['all', 'open', 'closed', 'merged']):
 45            raise ValueError("must be one of enum values ('all', 'open', 'closed', 'merged')")
 46        return value
 47
 48    @field_validator('issue_status')
 49    def issue_status_validate_enum(cls, value):
 50        """Validates the enum"""
 51        if value not in set(['all', 'open', 'closed']):
 52            raise ValueError("must be one of enum values ('all', 'open', 'closed')")
 53        return value
 54
 55    model_config = ConfigDict(
 56        populate_by_name=True,
 57        validate_assignment=True,
 58        protected_namespaces=(),
 59    )
 60
 61
 62    def to_str(self) -> str:
 63        """Returns the string representation of the model using alias"""
 64        return pprint.pformat(self.model_dump(by_alias=True))
 65
 66    def to_json(self) -> str:
 67        """Returns the JSON representation of the model using alias"""
 68        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 69        return json.dumps(self.to_dict())
 70
 71    @classmethod
 72    def from_json(cls, json_str: str) -> Optional[Self]:
 73        """Create an instance of GITHUBConfig from a JSON string"""
 74        return cls.from_dict(json.loads(json_str))
 75
 76    def to_dict(self) -> Dict[str, Any]:
 77        """Return the dictionary representation of the model using alias.
 78
 79        This has the following differences from calling pydantic's
 80        `self.model_dump(by_alias=True)`:
 81
 82        * `None` is only added to the output dict for nullable fields that
 83          were set at model initialization. Other fields with value `None`
 84          are ignored.
 85        """
 86        excluded_fields: Set[str] = set([
 87        ])
 88
 89        _dict = self.model_dump(
 90            by_alias=True,
 91            exclude=excluded_fields,
 92            exclude_none=True,
 93        )
 94        return _dict
 95
 96    @classmethod
 97    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
 98        """Create an instance of GITHUBConfig from a dict"""
 99        if obj is None:
100            return None
101
102        if not isinstance(obj, dict):
103            return cls.model_validate(obj)
104
105        _obj = cls.model_validate({
106            "repositories": obj.get("repositories"),
107            "include-pull-requests": obj.get("include-pull-requests") if obj.get("include-pull-requests") is not None else True,
108            "pull-request-status": obj.get("pull-request-status") if obj.get("pull-request-status") is not None else 'all',
109            "pull-request-labels": obj.get("pull-request-labels"),
110            "include-issues": obj.get("include-issues") if obj.get("include-issues") is not None else True,
111            "issue-status": obj.get("issue-status") if obj.get("issue-status") is not None else 'all',
112            "issue-labels": obj.get("issue-labels"),
113            "max-items": obj.get("max-items"),
114            "created-after": obj.get("created-after")
115        })
116        return _obj
class GITHUBConfig(pydantic.main.BaseModel):
 27class GITHUBConfig(BaseModel):
 28    """
 29    Configuration for GitHub connector
 30    """ # noqa: E501
 31    repositories: List[StrictStr] = Field(description="Repositories. Example: Example: owner1/repo1")
 32    include_pull_requests: StrictBool = Field(description="Include Pull Requests", alias="include-pull-requests")
 33    pull_request_status: StrictStr = Field(description="Pull Request Status", alias="pull-request-status")
 34    pull_request_labels: Optional[List[StrictStr]] = Field(default=None, description="Pull Request Labels. Example: Optionally filter by label. E.g. fix", alias="pull-request-labels")
 35    include_issues: StrictBool = Field(description="Include Issues", alias="include-issues")
 36    issue_status: StrictStr = Field(description="Issue Status", alias="issue-status")
 37    issue_labels: Optional[List[StrictStr]] = Field(default=None, description="Issue Labels. Example: Optionally filter by label. E.g. bug", alias="issue-labels")
 38    max_items: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Max Items. Leave blank for no limit, or specify a maximum number. Example: Enter maximum number of items to fetch (leave blank for no limit)", alias="max-items")
 39    created_after: Optional[date] = Field(default=None, description="Created After. Filter for items created after this date. Example: Enter a date: Example 2012-12-31", alias="created-after")
 40    __properties: ClassVar[List[str]] = ["repositories", "include-pull-requests", "pull-request-status", "pull-request-labels", "include-issues", "issue-status", "issue-labels", "max-items", "created-after"]
 41
 42    @field_validator('pull_request_status')
 43    def pull_request_status_validate_enum(cls, value):
 44        """Validates the enum"""
 45        if value not in set(['all', 'open', 'closed', 'merged']):
 46            raise ValueError("must be one of enum values ('all', 'open', 'closed', 'merged')")
 47        return value
 48
 49    @field_validator('issue_status')
 50    def issue_status_validate_enum(cls, value):
 51        """Validates the enum"""
 52        if value not in set(['all', 'open', 'closed']):
 53            raise ValueError("must be one of enum values ('all', 'open', 'closed')")
 54        return value
 55
 56    model_config = ConfigDict(
 57        populate_by_name=True,
 58        validate_assignment=True,
 59        protected_namespaces=(),
 60    )
 61
 62
 63    def to_str(self) -> str:
 64        """Returns the string representation of the model using alias"""
 65        return pprint.pformat(self.model_dump(by_alias=True))
 66
 67    def to_json(self) -> str:
 68        """Returns the JSON representation of the model using alias"""
 69        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
 70        return json.dumps(self.to_dict())
 71
 72    @classmethod
 73    def from_json(cls, json_str: str) -> Optional[Self]:
 74        """Create an instance of GITHUBConfig from a JSON string"""
 75        return cls.from_dict(json.loads(json_str))
 76
 77    def to_dict(self) -> Dict[str, Any]:
 78        """Return the dictionary representation of the model using alias.
 79
 80        This has the following differences from calling pydantic's
 81        `self.model_dump(by_alias=True)`:
 82
 83        * `None` is only added to the output dict for nullable fields that
 84          were set at model initialization. Other fields with value `None`
 85          are ignored.
 86        """
 87        excluded_fields: Set[str] = set([
 88        ])
 89
 90        _dict = self.model_dump(
 91            by_alias=True,
 92            exclude=excluded_fields,
 93            exclude_none=True,
 94        )
 95        return _dict
 96
 97    @classmethod
 98    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
 99        """Create an instance of GITHUBConfig from a dict"""
100        if obj is None:
101            return None
102
103        if not isinstance(obj, dict):
104            return cls.model_validate(obj)
105
106        _obj = cls.model_validate({
107            "repositories": obj.get("repositories"),
108            "include-pull-requests": obj.get("include-pull-requests") if obj.get("include-pull-requests") is not None else True,
109            "pull-request-status": obj.get("pull-request-status") if obj.get("pull-request-status") is not None else 'all',
110            "pull-request-labels": obj.get("pull-request-labels"),
111            "include-issues": obj.get("include-issues") if obj.get("include-issues") is not None else True,
112            "issue-status": obj.get("issue-status") if obj.get("issue-status") is not None else 'all',
113            "issue-labels": obj.get("issue-labels"),
114            "max-items": obj.get("max-items"),
115            "created-after": obj.get("created-after")
116        })
117        return _obj

Configuration for GitHub connector

repositories: List[Annotated[str, Strict(strict=True)]]
include_pull_requests: typing.Annotated[bool, Strict(strict=True)]
pull_request_status: typing.Annotated[str, Strict(strict=True)]
pull_request_labels: Optional[List[Annotated[str, Strict(strict=True)]]]
include_issues: typing.Annotated[bool, Strict(strict=True)]
issue_status: typing.Annotated[str, Strict(strict=True)]
issue_labels: Optional[List[Annotated[str, Strict(strict=True)]]]
max_items: Union[Annotated[float, Strict(strict=True)], Annotated[int, Strict(strict=True)], NoneType]
created_after: Optional[datetime.date]
@field_validator('pull_request_status')
def pull_request_status_validate_enum(cls, value):
42    @field_validator('pull_request_status')
43    def pull_request_status_validate_enum(cls, value):
44        """Validates the enum"""
45        if value not in set(['all', 'open', 'closed', 'merged']):
46            raise ValueError("must be one of enum values ('all', 'open', 'closed', 'merged')")
47        return value

Validates the enum

@field_validator('issue_status')
def issue_status_validate_enum(cls, value):
49    @field_validator('issue_status')
50    def issue_status_validate_enum(cls, value):
51        """Validates the enum"""
52        if value not in set(['all', 'open', 'closed']):
53            raise ValueError("must be one of enum values ('all', 'open', 'closed')")
54        return value

Validates the enum

model_config = {'populate_by_name': True, 'validate_assignment': True, 'protected_namespaces': (), 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

def to_str(self) -> str:
63    def to_str(self) -> str:
64        """Returns the string representation of the model using alias"""
65        return pprint.pformat(self.model_dump(by_alias=True))

Returns the string representation of the model using alias

def to_json(self) -> str:
67    def to_json(self) -> str:
68        """Returns the JSON representation of the model using alias"""
69        # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
70        return json.dumps(self.to_dict())

Returns the JSON representation of the model using alias

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
72    @classmethod
73    def from_json(cls, json_str: str) -> Optional[Self]:
74        """Create an instance of GITHUBConfig from a JSON string"""
75        return cls.from_dict(json.loads(json_str))

Create an instance of GITHUBConfig from a JSON string

def to_dict(self) -> Dict[str, Any]:
77    def to_dict(self) -> Dict[str, Any]:
78        """Return the dictionary representation of the model using alias.
79
80        This has the following differences from calling pydantic's
81        `self.model_dump(by_alias=True)`:
82
83        * `None` is only added to the output dict for nullable fields that
84          were set at model initialization. Other fields with value `None`
85          are ignored.
86        """
87        excluded_fields: Set[str] = set([
88        ])
89
90        _dict = self.model_dump(
91            by_alias=True,
92            exclude=excluded_fields,
93            exclude_none=True,
94        )
95        return _dict

Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's self.model_dump(by_alias=True):

  • None is only added to the output dict for nullable fields that were set at model initialization. Other fields with value None are ignored.
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
 97    @classmethod
 98    def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
 99        """Create an instance of GITHUBConfig from a dict"""
100        if obj is None:
101            return None
102
103        if not isinstance(obj, dict):
104            return cls.model_validate(obj)
105
106        _obj = cls.model_validate({
107            "repositories": obj.get("repositories"),
108            "include-pull-requests": obj.get("include-pull-requests") if obj.get("include-pull-requests") is not None else True,
109            "pull-request-status": obj.get("pull-request-status") if obj.get("pull-request-status") is not None else 'all',
110            "pull-request-labels": obj.get("pull-request-labels"),
111            "include-issues": obj.get("include-issues") if obj.get("include-issues") is not None else True,
112            "issue-status": obj.get("issue-status") if obj.get("issue-status") is not None else 'all',
113            "issue-labels": obj.get("issue-labels"),
114            "max-items": obj.get("max-items"),
115            "created-after": obj.get("created-after")
116        })
117        return _obj

Create an instance of GITHUBConfig from a dict