Skip to content

Commit 0e04f8d

Browse files
committed
updates to models and label endpoints
1 parent e149563 commit 0e04f8d

19 files changed

+4467
-52
lines changed

t3api/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
from t3api.models.pagination import Pagination
143143
from t3api.models.search_response import SearchResponse
144144
from t3api.models.t3_generate_labels_payload import T3GenerateLabelsPayload
145+
from t3api.models.t3_generate_labels_payload_deprecated import T3GenerateLabelsPayloadDEPRECATED
145146
from t3api.models.t3_incoming_transfer_manifest import T3IncomingTransferManifest
146147
from t3api.models.t3_label_content_data import T3LabelContentData
147148
from t3api.models.t3_label_content_data_list_response import T3LabelContentDataListResponse
@@ -150,9 +151,11 @@
150151
from t3api.models.t3_label_content_layout_element_text_resize_strategy import T3LabelContentLayoutElementTextResizeStrategy
151152
from t3api.models.t3_label_content_layout_element_type import T3LabelContentLayoutElementType
152153
from t3api.models.t3_label_content_layouts_response import T3LabelContentLayoutsResponse
154+
from t3api.models.t3_label_template_layout_config import T3LabelTemplateLayoutConfig
153155
from t3api.models.t3_label_template_layouts_response import T3LabelTemplateLayoutsResponse
154156
from t3api.models.t3_outgoing_transfer_manifest import T3OutgoingTransferManifest
155157
from t3api.models.t3_package_labels_payload import T3PackageLabelsPayload
158+
from t3api.models.t3_package_labels_payload_deprecated import T3PackageLabelsPayloadDEPRECATED
156159
from t3api.models.unit_of_measure import UnitOfMeasure
157160
from t3api.models.unit_of_measure_abbreviation import UnitOfMeasureAbbreviation
158161
from t3api.models.v2_auth_apikey_post_request import V2AuthApikeyPostRequest
@@ -189,6 +192,7 @@
189192
from t3api.models.v2_items_get200_response import V2ItemsGet200Response
190193
from t3api.models.v2_items_history_get200_response import V2ItemsHistoryGet200Response
191194
from t3api.models.v2_items_report_get200_response import V2ItemsReportGet200Response
195+
from t3api.models.v2_labels_generate_post_request import V2LabelsGeneratePostRequest
192196
from t3api.models.v2_licenses_get200_response_inner import V2LicensesGet200ResponseInner
193197
from t3api.models.v2_packages_active_get200_response import V2PackagesActiveGet200Response
194198
from t3api.models.v2_packages_active_report_get200_response import V2PackagesActiveReportGet200Response

t3api/api/free_api.py

Lines changed: 1309 additions & 0 deletions
Large diffs are not rendered by default.

t3api/api/labels_api.py

Lines changed: 1309 additions & 0 deletions
Large diffs are not rendered by default.

t3api/api/packages_api.py

Lines changed: 548 additions & 0 deletions
Large diffs are not rendered by default.

t3api/api/pdf_api.py

Lines changed: 761 additions & 0 deletions
Large diffs are not rendered by default.

t3api/models/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
from t3api.models.pagination import Pagination
9191
from t3api.models.search_response import SearchResponse
9292
from t3api.models.t3_generate_labels_payload import T3GenerateLabelsPayload
93+
from t3api.models.t3_generate_labels_payload_deprecated import T3GenerateLabelsPayloadDEPRECATED
9394
from t3api.models.t3_incoming_transfer_manifest import T3IncomingTransferManifest
9495
from t3api.models.t3_label_content_data import T3LabelContentData
9596
from t3api.models.t3_label_content_data_list_response import T3LabelContentDataListResponse
@@ -98,9 +99,11 @@
9899
from t3api.models.t3_label_content_layout_element_text_resize_strategy import T3LabelContentLayoutElementTextResizeStrategy
99100
from t3api.models.t3_label_content_layout_element_type import T3LabelContentLayoutElementType
100101
from t3api.models.t3_label_content_layouts_response import T3LabelContentLayoutsResponse
102+
from t3api.models.t3_label_template_layout_config import T3LabelTemplateLayoutConfig
101103
from t3api.models.t3_label_template_layouts_response import T3LabelTemplateLayoutsResponse
102104
from t3api.models.t3_outgoing_transfer_manifest import T3OutgoingTransferManifest
103105
from t3api.models.t3_package_labels_payload import T3PackageLabelsPayload
106+
from t3api.models.t3_package_labels_payload_deprecated import T3PackageLabelsPayloadDEPRECATED
104107
from t3api.models.unit_of_measure import UnitOfMeasure
105108
from t3api.models.unit_of_measure_abbreviation import UnitOfMeasureAbbreviation
106109
from t3api.models.v2_auth_apikey_post_request import V2AuthApikeyPostRequest
@@ -137,6 +140,7 @@
137140
from t3api.models.v2_items_get200_response import V2ItemsGet200Response
138141
from t3api.models.v2_items_history_get200_response import V2ItemsHistoryGet200Response
139142
from t3api.models.v2_items_report_get200_response import V2ItemsReportGet200Response
143+
from t3api.models.v2_labels_generate_post_request import V2LabelsGeneratePostRequest
140144
from t3api.models.v2_licenses_get200_response_inner import V2LicensesGet200ResponseInner
141145
from t3api.models.v2_packages_active_get200_response import V2PackagesActiveGet200Response
142146
from t3api.models.v2_packages_active_report_get200_response import V2PackagesActiveReportGet200Response

t3api/models/jwt_data.py

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import re # noqa: F401
1818
import json
1919

20-
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
20+
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
2121
from typing import Any, ClassVar, Dict, List, Optional
2222
from typing import Optional, Set
2323
from typing_extensions import Self
@@ -29,9 +29,20 @@ class JWTData(BaseModel):
2929
auth_mode: Optional[StrictStr] = Field(default=None, alias="authMode")
3030
credential_key: Optional[StrictStr] = Field(default=None, alias="credentialKey")
3131
has_t3plus: Optional[StrictBool] = Field(default=None, alias="hasT3plus")
32+
t3plus_subscription_tier: Optional[StrictStr] = Field(default=None, alias="t3plusSubscriptionTier")
3233
username: Optional[StrictStr] = None
3334
hostname: Optional[StrictStr] = None
34-
__properties: ClassVar[List[str]] = ["authMode", "credentialKey", "hasT3plus", "username", "hostname"]
35+
__properties: ClassVar[List[str]] = ["authMode", "credentialKey", "hasT3plus", "t3plusSubscriptionTier", "username", "hostname"]
36+
37+
@field_validator('t3plus_subscription_tier')
38+
def t3plus_subscription_tier_validate_enum(cls, value):
39+
"""Validates the enum"""
40+
if value is None:
41+
return value
42+
43+
if value not in set(['manual', 'basic', 'team', 'enterprise', 'unlimited']):
44+
raise ValueError("must be one of enum values ('manual', 'basic', 'team', 'enterprise', 'unlimited')")
45+
return value
3546

3647
model_config = ConfigDict(
3748
populate_by_name=True,
@@ -72,6 +83,11 @@ def to_dict(self) -> Dict[str, Any]:
7283
exclude=excluded_fields,
7384
exclude_none=True,
7485
)
86+
# set to None if t3plus_subscription_tier (nullable) is None
87+
# and model_fields_set contains the field
88+
if self.t3plus_subscription_tier is None and "t3plus_subscription_tier" in self.model_fields_set:
89+
_dict['t3plusSubscriptionTier'] = None
90+
7591
return _dict
7692

7793
@classmethod
@@ -87,6 +103,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87103
"authMode": obj.get("authMode"),
88104
"credentialKey": obj.get("credentialKey"),
89105
"hasT3plus": obj.get("hasT3plus"),
106+
"t3plusSubscriptionTier": obj.get("t3plusSubscriptionTier"),
90107
"username": obj.get("username"),
91108
"hostname": obj.get("hostname")
92109
})

t3api/models/metrc_harvest.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,8 @@ class MetrcHarvest(BaseModel):
6262
finished_date: Optional[datetime] = Field(default=None, description="Date when the harvest was finished", alias="finishedDate")
6363
is_archived: Optional[StrictBool] = Field(default=None, description="Indicates if the harvest is archived", alias="isArchived")
6464
archived_date: Optional[datetime] = Field(default=None, description="Date when the harvest was archived", alias="archivedDate")
65-
is_on_trip: Optional[StrictBool] = Field(default=None, description="Indicates if the harvest is currently being transported", alias="isOnTrip")
6665
last_modified: Optional[datetime] = Field(default=None, description="Last modified date of the harvest", alias="lastModified")
67-
__properties: ClassVar[List[str]] = ["id", "hostname", "dataModel", "retrievedAt", "licenseNumber", "index", "facilityLicenseNumber", "facilityName", "name", "harvestType", "harvestTypeName", "sourceStrainCount", "sourceStrainNames", "multiStrain", "dryingLocationName", "dryingSublocationName", "dryingLocationTypeName", "patientLicenseNumber", "currentWeight", "totalWasteWeight", "plantCount", "totalWetWeight", "totalRestoredWeight", "packageCount", "totalPackagedWeight", "unitOfWeightId", "unitOfWeightAbbreviation", "labTestingStateName", "labTestingStateDate", "isOnHold", "harvestStartDate", "isFinished", "finishedDate", "isArchived", "archivedDate", "isOnTrip", "lastModified"]
66+
__properties: ClassVar[List[str]] = ["id", "hostname", "dataModel", "retrievedAt", "licenseNumber", "index", "facilityLicenseNumber", "facilityName", "name", "harvestType", "harvestTypeName", "sourceStrainCount", "sourceStrainNames", "multiStrain", "dryingLocationName", "dryingSublocationName", "dryingLocationTypeName", "patientLicenseNumber", "currentWeight", "totalWasteWeight", "plantCount", "totalWetWeight", "totalRestoredWeight", "packageCount", "totalPackagedWeight", "unitOfWeightId", "unitOfWeightAbbreviation", "labTestingStateName", "labTestingStateDate", "isOnHold", "harvestStartDate", "isFinished", "finishedDate", "isArchived", "archivedDate", "lastModified"]
6867

6968
@field_validator('index')
7069
def index_validate_enum(cls, value):
@@ -212,7 +211,6 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
212211
"finishedDate": obj.get("finishedDate"),
213212
"isArchived": obj.get("isArchived"),
214213
"archivedDate": obj.get("archivedDate"),
215-
"isOnTrip": obj.get("isOnTrip"),
216214
"lastModified": obj.get("lastModified")
217215
})
218216
return _obj

t3api/models/metrc_package.py

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,8 @@ class MetrcPackage(BaseModel):
106106
sell_by_date: Optional[datetime] = Field(default=None, description="The sell-by date of the product in the package, if applicable.", alias="sellByDate")
107107
use_by_date: Optional[datetime] = Field(default=None, description="The use-by date of the product in the package, if applicable.", alias="useByDate")
108108
lab_test_result_document_file_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="The file ID of the lab test result document, if available.", alias="labTestResultDocumentFileId")
109-
is_on_trip: Optional[StrictBool] = Field(default=None, description="Indicates if the package is part of an ongoing trip.", alias="isOnTrip")
110109
is_on_retailer_delivery: Optional[StrictBool] = Field(default=None, description="Indicates if the package is on a retailer delivery.", alias="isOnRetailerDelivery")
111110
package_for_product_destruction: Optional[StrictBool] = Field(default=None, description="Indicates if the package is intended for product destruction.", alias="packageForProductDestruction")
112-
trip: Optional[StrictStr] = Field(default=None, description="Information about the trip associated with the package, if applicable.")
113111
has_partial: Optional[StrictBool] = Field(default=None, description="Indicates if the package has partial status.", alias="hasPartial")
114112
is_partial: Optional[StrictBool] = Field(default=None, description="Indicates if the package is a partial package.", alias="isPartial")
115113
in_transit_status: Optional[StrictStr] = Field(default=None, description="The current transit status of the package.", alias="inTransitStatus")
@@ -121,7 +119,7 @@ class MetrcPackage(BaseModel):
121119
product_label: Optional[StrictStr] = Field(default=None, alias="productLabel")
122120
lab_test_stage: Optional[StrictStr] = Field(default=None, alias="labTestStage")
123121
external_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="externalId")
124-
__properties: ClassVar[List[str]] = ["id", "hostname", "dataModel", "retrievedAt", "licenseNumber", "index", "archivedDate", "containsRemediatedProduct", "donationFacilityLicenseNumber", "donationFacilityName", "facilityLicenseNumber", "facilityName", "finishedDate", "initialLabTestingState", "isArchived", "isDonation", "isDonationPersistent", "isFinished", "isInTransit", "isOnHold", "isProcessValidationTestingSample", "isProductionBatch", "isTestingSample", "isTradeSample", "isTradeSamplePersistent", "item", "itemFromFacilityLicenseNumber", "itemFromFacilityName", "labTestingStateDate", "labTestingStateName", "labTestingRecordedDate", "labTestingPerformedDate", "labTestStageId", "labTestResultExpirationDateTime", "label", "lastModified", "locationName", "sublocationName", "locationTypeName", "multiHarvest", "multiPackage", "multiProductionBatch", "note", "packageType", "packagedByFacilityLicenseNumber", "packagedByFacilityName", "packagedDate", "patientLicenseNumber", "productRequiresRemediation", "productionBatchNumber", "quantity", "receivedDateTime", "receivedFromFacilityLicenseNumber", "receivedFromFacilityName", "receivedFromManifestNumber", "remediationDate", "sourceHarvestNames", "sourcePackageIsDonation", "sourcePackageIsTradeSample", "sourcePackageLabels", "sourceProductionBatchNumbers", "tradeSampleFacilityName", "tradeSampleFacilityLicenseNumber", "transferManifestNumber", "unitOfMeasureAbbreviation", "unitOfMeasureId", "unitOfMeasureQuantityType", "sourceHarvestCount", "sourcePackageCount", "sourceProcessingJobCount", "sourceProcessingJobNumbers", "sourceProcessingJobNames", "multiProcessingJob", "expirationDate", "sellByDate", "useByDate", "labTestResultDocumentFileId", "isOnTrip", "isOnRetailerDelivery", "packageForProductDestruction", "trip", "hasPartial", "isPartial", "inTransitStatus", "processingJobTypeId", "isOnRecall", "decontaminationDate", "containsDecontaminatedProduct", "productRequiresDecontamination", "productLabel", "labTestStage", "externalId"]
122+
__properties: ClassVar[List[str]] = ["id", "hostname", "dataModel", "retrievedAt", "licenseNumber", "index", "archivedDate", "containsRemediatedProduct", "donationFacilityLicenseNumber", "donationFacilityName", "facilityLicenseNumber", "facilityName", "finishedDate", "initialLabTestingState", "isArchived", "isDonation", "isDonationPersistent", "isFinished", "isInTransit", "isOnHold", "isProcessValidationTestingSample", "isProductionBatch", "isTestingSample", "isTradeSample", "isTradeSamplePersistent", "item", "itemFromFacilityLicenseNumber", "itemFromFacilityName", "labTestingStateDate", "labTestingStateName", "labTestingRecordedDate", "labTestingPerformedDate", "labTestStageId", "labTestResultExpirationDateTime", "label", "lastModified", "locationName", "sublocationName", "locationTypeName", "multiHarvest", "multiPackage", "multiProductionBatch", "note", "packageType", "packagedByFacilityLicenseNumber", "packagedByFacilityName", "packagedDate", "patientLicenseNumber", "productRequiresRemediation", "productionBatchNumber", "quantity", "receivedDateTime", "receivedFromFacilityLicenseNumber", "receivedFromFacilityName", "receivedFromManifestNumber", "remediationDate", "sourceHarvestNames", "sourcePackageIsDonation", "sourcePackageIsTradeSample", "sourcePackageLabels", "sourceProductionBatchNumbers", "tradeSampleFacilityName", "tradeSampleFacilityLicenseNumber", "transferManifestNumber", "unitOfMeasureAbbreviation", "unitOfMeasureId", "unitOfMeasureQuantityType", "sourceHarvestCount", "sourcePackageCount", "sourceProcessingJobCount", "sourceProcessingJobNumbers", "sourceProcessingJobNames", "multiProcessingJob", "expirationDate", "sellByDate", "useByDate", "labTestResultDocumentFileId", "isOnRetailerDelivery", "packageForProductDestruction", "hasPartial", "isPartial", "inTransitStatus", "processingJobTypeId", "isOnRecall", "decontaminationDate", "containsDecontaminatedProduct", "productRequiresDecontamination", "productLabel", "labTestStage", "externalId"]
125123

126124
@field_validator('index')
127125
def index_validate_enum(cls, value):
@@ -325,11 +323,6 @@ def to_dict(self) -> Dict[str, Any]:
325323
if self.package_for_product_destruction is None and "package_for_product_destruction" in self.model_fields_set:
326324
_dict['packageForProductDestruction'] = None
327325

328-
# set to None if trip (nullable) is None
329-
# and model_fields_set contains the field
330-
if self.trip is None and "trip" in self.model_fields_set:
331-
_dict['trip'] = None
332-
333326
# set to None if processing_job_type_id (nullable) is None
334327
# and model_fields_set contains the field
335328
if self.processing_job_type_id is None and "processing_job_type_id" in self.model_fields_set:
@@ -444,10 +437,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
444437
"sellByDate": obj.get("sellByDate"),
445438
"useByDate": obj.get("useByDate"),
446439
"labTestResultDocumentFileId": obj.get("labTestResultDocumentFileId"),
447-
"isOnTrip": obj.get("isOnTrip"),
448440
"isOnRetailerDelivery": obj.get("isOnRetailerDelivery"),
449441
"packageForProductDestruction": obj.get("packageForProductDestruction"),
450-
"trip": obj.get("trip"),
451442
"hasPartial": obj.get("hasPartial"),
452443
"isPartial": obj.get("isPartial"),
453444
"inTransitStatus": obj.get("inTransitStatus"),

t3api/models/metrc_plant.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,14 @@ class MetrcPlant(BaseModel):
4949
patient_license_number: Optional[StrictStr] = Field(default=None, description="License number of the patient, if applicable.", alias="patientLicenseNumber")
5050
harvest_count: Optional[StrictInt] = Field(default=None, description="Number of times the plant has been harvested.", alias="harvestCount")
5151
is_on_hold: Optional[StrictBool] = Field(default=None, description="Indicates if the plant is on hold.", alias="isOnHold")
52-
is_on_trip: Optional[StrictBool] = Field(default=None, description="Indicates if the plant is on a trip.", alias="isOnTrip")
5352
planted_date: Optional[date] = Field(default=None, description="Date when the plant was planted.", alias="plantedDate")
5453
vegetative_date: Optional[date] = Field(default=None, description="Date when the plant entered the vegetative stage.", alias="vegetativeDate")
5554
flowering_date: Optional[date] = Field(default=None, description="Date when the plant entered the flowering stage.", alias="floweringDate")
5655
destroyed_date: Optional[date] = Field(default=None, description="Date when the plant was destroyed, if applicable.", alias="destroyedDate")
5756
destroyed_note: Optional[StrictStr] = Field(default=None, description="Note about the destruction of the plant, if applicable.", alias="destroyedNote")
5857
destroyed_by_user_name: Optional[StrictStr] = Field(default=None, description="Username of the person who destroyed the plant, if applicable.", alias="destroyedByUserName")
5958
last_modified: Optional[datetime] = Field(default=None, description="The last time the plant record was modified.", alias="lastModified")
60-
__properties: ClassVar[List[str]] = ["id", "hostname", "dataModel", "retrievedAt", "licenseNumber", "index", "label", "stateName", "growthPhaseName", "plantCount", "groupTagTypeMax", "tagTypeMax", "plantBatchName", "plantBatchTypeName", "strainId", "strainName", "locationName", "sublocationName", "locationTypeName", "patientLicenseNumber", "harvestCount", "isOnHold", "isOnTrip", "plantedDate", "vegetativeDate", "floweringDate", "destroyedDate", "destroyedNote", "destroyedByUserName", "lastModified"]
59+
__properties: ClassVar[List[str]] = ["id", "hostname", "dataModel", "retrievedAt", "licenseNumber", "index", "label", "stateName", "growthPhaseName", "plantCount", "groupTagTypeMax", "tagTypeMax", "plantBatchName", "plantBatchTypeName", "strainId", "strainName", "locationName", "sublocationName", "locationTypeName", "patientLicenseNumber", "harvestCount", "isOnHold", "plantedDate", "vegetativeDate", "floweringDate", "destroyedDate", "destroyedNote", "destroyedByUserName", "lastModified"]
6160

6261
@field_validator('index')
6362
def index_validate_enum(cls, value):
@@ -207,7 +206,6 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
207206
"patientLicenseNumber": obj.get("patientLicenseNumber"),
208207
"harvestCount": obj.get("harvestCount"),
209208
"isOnHold": obj.get("isOnHold"),
210-
"isOnTrip": obj.get("isOnTrip"),
211209
"plantedDate": obj.get("plantedDate"),
212210
"vegetativeDate": obj.get("vegetativeDate"),
213211
"floweringDate": obj.get("floweringDate"),

0 commit comments

Comments
 (0)