@d19n/youfibre-odin-sdk 1.0.202 → 1.0.204
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +602 -29
- package/dist/EntityRegistry.d.ts +138 -1303
- package/dist/EntityRegistry.js +141 -155
- package/dist/accessors-v2/AccountAccessor.d.ts +18 -0
- package/dist/accessors-v2/AccountAccessor.js +22 -0
- package/dist/accessors-v2/ActivityAccessor.d.ts +18 -0
- package/dist/accessors-v2/ActivityAccessor.js +22 -0
- package/dist/accessors-v2/ActivityLogAccessor.d.ts +18 -0
- package/dist/accessors-v2/ActivityLogAccessor.js +22 -0
- package/dist/accessors-v2/AddressAccessor.d.ts +18 -0
- package/dist/accessors-v2/AddressAccessor.js +22 -0
- package/dist/accessors-v2/BillingAdjustmentAccessor.d.ts +18 -0
- package/dist/accessors-v2/BillingAdjustmentAccessor.js +22 -0
- package/dist/accessors-v2/BillingRequestAccessor.d.ts +18 -0
- package/dist/accessors-v2/BillingRequestAccessor.js +22 -0
- package/dist/accessors-v2/CallLegAccessor.d.ts +18 -0
- package/dist/accessors-v2/CallLegAccessor.js +22 -0
- package/dist/accessors-v2/CaseAccessor.d.ts +18 -0
- package/dist/accessors-v2/CaseAccessor.js +22 -0
- package/dist/accessors-v2/ChangeReasonAccessor.d.ts +18 -0
- package/dist/accessors-v2/ChangeReasonAccessor.js +22 -0
- package/dist/accessors-v2/ChurnRequestAccessor.d.ts +18 -0
- package/dist/accessors-v2/ChurnRequestAccessor.js +22 -0
- package/dist/accessors-v2/ConfigAccessor.d.ts +18 -0
- package/dist/accessors-v2/ConfigAccessor.js +22 -0
- package/dist/accessors-v2/ContactAccessor.d.ts +18 -0
- package/dist/accessors-v2/ContactAccessor.js +22 -0
- package/dist/accessors-v2/ContractBuyOutAccessor.d.ts +18 -0
- package/dist/accessors-v2/ContractBuyOutAccessor.js +22 -0
- package/dist/accessors-v2/ConversationAccessor.d.ts +18 -0
- package/dist/accessors-v2/ConversationAccessor.js +22 -0
- package/dist/accessors-v2/CreditNoteAccessor.d.ts +18 -0
- package/dist/accessors-v2/CreditNoteAccessor.js +22 -0
- package/dist/accessors-v2/CrmDatasetAccessor.d.ts +18 -0
- package/dist/accessors-v2/CrmDatasetAccessor.js +22 -0
- package/dist/accessors-v2/CustomerDeviceAtaAccessor.d.ts +18 -0
- package/dist/accessors-v2/CustomerDeviceAtaAccessor.js +22 -0
- package/dist/accessors-v2/CustomerDeviceOntAccessor.d.ts +18 -0
- package/dist/accessors-v2/CustomerDeviceOntAccessor.js +22 -0
- package/dist/accessors-v2/CustomerDeviceRouterAccessor.d.ts +18 -0
- package/dist/accessors-v2/CustomerDeviceRouterAccessor.js +22 -0
- package/dist/accessors-v2/CustomerPhonePortingAccessor.d.ts +18 -0
- package/dist/accessors-v2/CustomerPhonePortingAccessor.js +22 -0
- package/dist/accessors-v2/DiscountAccessor.d.ts +18 -0
- package/dist/accessors-v2/DiscountAccessor.js +22 -0
- package/dist/accessors-v2/EmailAccessor.d.ts +18 -0
- package/dist/accessors-v2/EmailAccessor.js +22 -0
- package/dist/accessors-v2/EmailTemplateAccessor.d.ts +18 -0
- package/dist/accessors-v2/EmailTemplateAccessor.js +22 -0
- package/dist/accessors-v2/FieldServiceDispatchedProductAccessor.d.ts +18 -0
- package/dist/accessors-v2/FieldServiceDispatchedProductAccessor.js +22 -0
- package/dist/accessors-v2/FieldServiceProductAccessor.d.ts +18 -0
- package/dist/accessors-v2/FieldServiceProductAccessor.js +22 -0
- package/dist/accessors-v2/ImpersonationTrackerAccessor.d.ts +18 -0
- package/dist/accessors-v2/ImpersonationTrackerAccessor.js +22 -0
- package/dist/accessors-v2/InvoiceAccessor.d.ts +18 -0
- package/dist/accessors-v2/InvoiceAccessor.js +22 -0
- package/dist/accessors-v2/KnowledgeArticleAccessor.d.ts +18 -0
- package/dist/accessors-v2/KnowledgeArticleAccessor.js +22 -0
- package/dist/accessors-v2/LeadAccessor.d.ts +18 -0
- package/dist/accessors-v2/LeadAccessor.js +22 -0
- package/dist/accessors-v2/NetworkDeviceAccessor.d.ts +18 -0
- package/dist/accessors-v2/NetworkDeviceAccessor.js +22 -0
- package/dist/accessors-v2/NoteAccessor.d.ts +18 -0
- package/dist/accessors-v2/NoteAccessor.js +22 -0
- package/dist/accessors-v2/OfferAccessor.d.ts +18 -0
- package/dist/accessors-v2/OfferAccessor.js +22 -0
- package/dist/accessors-v2/OhExternalAuditAccessor.d.ts +18 -0
- package/dist/accessors-v2/OhExternalAuditAccessor.js +22 -0
- package/dist/accessors-v2/OneTouchSwitchAccessor.d.ts +18 -0
- package/dist/accessors-v2/OneTouchSwitchAccessor.js +22 -0
- package/dist/accessors-v2/OntReplacementApprovalAccessor.d.ts +18 -0
- package/dist/accessors-v2/OntReplacementApprovalAccessor.js +22 -0
- package/dist/accessors-v2/OrderAccessor.d.ts +18 -0
- package/dist/accessors-v2/OrderAccessor.js +22 -0
- package/dist/accessors-v2/OrderCheckAccessor.d.ts +18 -0
- package/dist/accessors-v2/OrderCheckAccessor.js +22 -0
- package/dist/accessors-v2/OrderItemAccessor.d.ts +18 -0
- package/dist/accessors-v2/OrderItemAccessor.js +22 -0
- package/dist/accessors-v2/OutageAccessor.d.ts +18 -0
- package/dist/accessors-v2/OutageAccessor.js +22 -0
- package/dist/accessors-v2/OverlayRealA55Accessor.d.ts +18 -0
- package/dist/accessors-v2/OverlayRealA55Accessor.js +22 -0
- package/dist/accessors-v2/PICRequestAccessor.d.ts +18 -0
- package/dist/accessors-v2/PICRequestAccessor.js +22 -0
- package/dist/accessors-v2/PaymentAccessor.d.ts +18 -0
- package/dist/accessors-v2/PaymentAccessor.js +22 -0
- package/dist/accessors-v2/PaymentMethodAccessor.d.ts +18 -0
- package/dist/accessors-v2/PaymentMethodAccessor.js +22 -0
- package/dist/accessors-v2/PaymentMethodRefundAccessor.d.ts +18 -0
- package/dist/accessors-v2/PaymentMethodRefundAccessor.js +22 -0
- package/dist/accessors-v2/PermissionToFailAccessor.d.ts +18 -0
- package/dist/accessors-v2/PermissionToFailAccessor.js +22 -0
- package/dist/accessors-v2/PriceBookAccessor.d.ts +18 -0
- package/dist/accessors-v2/PriceBookAccessor.js +22 -0
- package/dist/accessors-v2/ProductAccessor.d.ts +18 -0
- package/dist/accessors-v2/ProductAccessor.js +22 -0
- package/dist/accessors-v2/PushNotificationAccessor.d.ts +18 -0
- package/dist/accessors-v2/PushNotificationAccessor.js +22 -0
- package/dist/accessors-v2/RemediationOutcomeFormAccessor.d.ts +18 -0
- package/dist/accessors-v2/RemediationOutcomeFormAccessor.js +22 -0
- package/dist/accessors-v2/ReturnsAccessor.d.ts +18 -0
- package/dist/accessors-v2/ReturnsAccessor.js +22 -0
- package/dist/accessors-v2/ScheduleSlotAccessor.d.ts +18 -0
- package/dist/accessors-v2/ScheduleSlotAccessor.js +22 -0
- package/dist/accessors-v2/ServiceAccessor.d.ts +18 -0
- package/dist/accessors-v2/ServiceAccessor.js +22 -0
- package/dist/accessors-v2/ServiceAppointmentConfigAccessor.d.ts +18 -0
- package/dist/accessors-v2/ServiceAppointmentConfigAccessor.js +22 -0
- package/dist/accessors-v2/SiteSpecificRiskAssessmentOutcomeFormAccessor.d.ts +18 -0
- package/dist/accessors-v2/SiteSpecificRiskAssessmentOutcomeFormAccessor.js +22 -0
- package/dist/accessors-v2/TeamAccessor.d.ts +18 -0
- package/dist/accessors-v2/TeamAccessor.js +22 -0
- package/dist/accessors-v2/TimeSlotAccessor.d.ts +18 -0
- package/dist/accessors-v2/TimeSlotAccessor.js +22 -0
- package/dist/accessors-v2/TransactionAccessor.d.ts +18 -0
- package/dist/accessors-v2/TransactionAccessor.js +22 -0
- package/dist/accessors-v2/UgRetroAuditAccessor.d.ts +18 -0
- package/dist/accessors-v2/UgRetroAuditAccessor.js +22 -0
- package/dist/accessors-v2/UserAccessor.d.ts +18 -0
- package/dist/accessors-v2/UserAccessor.js +22 -0
- package/dist/accessors-v2/VisitAccessor.d.ts +18 -0
- package/dist/accessors-v2/VisitAccessor.js +22 -0
- package/dist/accessors-v2/VoiceConfigurationAccessor.d.ts +18 -0
- package/dist/accessors-v2/VoiceConfigurationAccessor.js +22 -0
- package/dist/accessors-v2/WayleaveAuditAccessor.d.ts +18 -0
- package/dist/accessors-v2/WayleaveAuditAccessor.js +22 -0
- package/dist/accessors-v2/WorkOrderAccessor.d.ts +18 -0
- package/dist/accessors-v2/WorkOrderAccessor.js +22 -0
- package/dist/accessors-v2/WorkOrderStatusUpdateAccessor.d.ts +18 -0
- package/dist/accessors-v2/WorkOrderStatusUpdateAccessor.js +22 -0
- package/dist/accessors-v2/YfFieldServiceVisitAccessor.d.ts +18 -0
- package/dist/accessors-v2/YfFieldServiceVisitAccessor.js +22 -0
- package/dist/api-sdk-v2/WorkOrderApi.d.ts +24 -24
- package/dist/api-sdk-v2/WorkOrderApi.js +68 -68
- package/dist/db-accessors-v2/AccountDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/AccountDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ActivityDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ActivityDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ActivityLogDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ActivityLogDbAccessor.js +22 -0
- package/dist/db-accessors-v2/AddressDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/AddressDbAccessor.js +22 -0
- package/dist/db-accessors-v2/BillingAdjustmentDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/BillingAdjustmentDbAccessor.js +22 -0
- package/dist/db-accessors-v2/BillingRequestDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/BillingRequestDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CallLegDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CallLegDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CaseDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CaseDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ChangeReasonDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ChangeReasonDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ChurnRequestDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ChurnRequestDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ConfigDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ConfigDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ContactDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ContactDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ContractBuyOutDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ContractBuyOutDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ConversationDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ConversationDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CreditNoteDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CreditNoteDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CrmDatasetDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CrmDatasetDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CustomerDeviceAtaDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CustomerDeviceAtaDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CustomerDeviceOntDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CustomerDeviceOntDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CustomerDeviceRouterDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CustomerDeviceRouterDbAccessor.js +22 -0
- package/dist/db-accessors-v2/CustomerPhonePortingDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/CustomerPhonePortingDbAccessor.js +22 -0
- package/dist/db-accessors-v2/DiscountDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/DiscountDbAccessor.js +22 -0
- package/dist/db-accessors-v2/EmailDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/EmailDbAccessor.js +22 -0
- package/dist/db-accessors-v2/EmailTemplateDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/EmailTemplateDbAccessor.js +22 -0
- package/dist/db-accessors-v2/FieldServiceDispatchedProductDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/FieldServiceDispatchedProductDbAccessor.js +22 -0
- package/dist/db-accessors-v2/FieldServiceProductDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/FieldServiceProductDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ImpersonationTrackerDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ImpersonationTrackerDbAccessor.js +22 -0
- package/dist/db-accessors-v2/InvoiceDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/InvoiceDbAccessor.js +22 -0
- package/dist/db-accessors-v2/KnowledgeArticleDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/KnowledgeArticleDbAccessor.js +22 -0
- package/dist/db-accessors-v2/LeadDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/LeadDbAccessor.js +22 -0
- package/dist/db-accessors-v2/NetworkDeviceDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/NetworkDeviceDbAccessor.js +22 -0
- package/dist/db-accessors-v2/NoteDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/NoteDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OfferDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OfferDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OhExternalAuditDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OhExternalAuditDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OneTouchSwitchDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OneTouchSwitchDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OntReplacementApprovalDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OntReplacementApprovalDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OrderCheckDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OrderCheckDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OrderDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OrderDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OrderItemDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OrderItemDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OutageDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OutageDbAccessor.js +22 -0
- package/dist/db-accessors-v2/OverlayRealA55DbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/OverlayRealA55DbAccessor.js +22 -0
- package/dist/db-accessors-v2/PICRequestDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PICRequestDbAccessor.js +22 -0
- package/dist/db-accessors-v2/PaymentDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PaymentDbAccessor.js +22 -0
- package/dist/db-accessors-v2/PaymentMethodDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PaymentMethodDbAccessor.js +22 -0
- package/dist/db-accessors-v2/PaymentMethodRefundDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PaymentMethodRefundDbAccessor.js +22 -0
- package/dist/db-accessors-v2/PermissionToFailDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PermissionToFailDbAccessor.js +22 -0
- package/dist/db-accessors-v2/PriceBookDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PriceBookDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ProductDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ProductDbAccessor.js +22 -0
- package/dist/db-accessors-v2/PushNotificationDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/PushNotificationDbAccessor.js +22 -0
- package/dist/db-accessors-v2/RemediationOutcomeFormDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/RemediationOutcomeFormDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ReturnsDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ReturnsDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ScheduleSlotDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ScheduleSlotDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ServiceAppointmentConfigDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ServiceAppointmentConfigDbAccessor.js +22 -0
- package/dist/db-accessors-v2/ServiceDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/ServiceDbAccessor.js +22 -0
- package/dist/db-accessors-v2/SiteSpecificRiskAssessmentOutcomeFormDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/SiteSpecificRiskAssessmentOutcomeFormDbAccessor.js +22 -0
- package/dist/db-accessors-v2/TeamDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/TeamDbAccessor.js +22 -0
- package/dist/db-accessors-v2/TimeSlotDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/TimeSlotDbAccessor.js +22 -0
- package/dist/db-accessors-v2/TransactionDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/TransactionDbAccessor.js +22 -0
- package/dist/db-accessors-v2/UgRetroAuditDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/UgRetroAuditDbAccessor.js +22 -0
- package/dist/db-accessors-v2/UserDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/UserDbAccessor.js +22 -0
- package/dist/db-accessors-v2/VisitDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/VisitDbAccessor.js +22 -0
- package/dist/db-accessors-v2/VoiceConfigurationDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/VoiceConfigurationDbAccessor.js +22 -0
- package/dist/db-accessors-v2/WayleaveAuditDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/WayleaveAuditDbAccessor.js +22 -0
- package/dist/db-accessors-v2/WorkOrderDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/WorkOrderDbAccessor.js +22 -0
- package/dist/db-accessors-v2/WorkOrderStatusUpdateDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/WorkOrderStatusUpdateDbAccessor.js +22 -0
- package/dist/db-accessors-v2/YfFieldServiceVisitDbAccessor.d.ts +18 -0
- package/dist/db-accessors-v2/YfFieldServiceVisitDbAccessor.js +22 -0
- package/dist/db-sdk-v2/WorkOrderDb.d.ts +24 -24
- package/dist/db-sdk-v2/WorkOrderDb.js +68 -68
- package/dist/entities-v2/RemediationRequiredReason.d.ts +102 -102
- package/dist/entities-v2/RemediationRequiredReason.js +100 -100
- package/dist/entities-v2/WorkOrder.d.ts +1 -3
- package/dist/entities-v2/WorkOrder.js +2 -4
- package/dist/records-v2/AccountRecord.d.ts +130 -0
- package/dist/records-v2/AccountRecord.js +233 -0
- package/dist/records-v2/ActivityLogRecord.d.ts +53 -0
- package/dist/records-v2/ActivityLogRecord.js +96 -0
- package/dist/records-v2/ActivityRecord.d.ts +118 -0
- package/dist/records-v2/ActivityRecord.js +211 -0
- package/dist/records-v2/AddressRecord.d.ts +195 -0
- package/dist/records-v2/AddressRecord.js +348 -0
- package/dist/records-v2/BillingAdjustmentRecord.d.ts +40 -0
- package/dist/records-v2/BillingAdjustmentRecord.js +73 -0
- package/dist/records-v2/BillingRequestRecord.d.ts +78 -0
- package/dist/records-v2/BillingRequestRecord.js +141 -0
- package/dist/records-v2/CaseRecord.d.ts +230 -0
- package/dist/records-v2/CaseRecord.js +413 -0
- package/dist/records-v2/ChangeReasonRecord.d.ts +53 -0
- package/dist/records-v2/ChangeReasonRecord.js +96 -0
- package/dist/records-v2/ChurnRequestRecord.d.ts +27 -0
- package/dist/records-v2/ChurnRequestRecord.js +50 -0
- package/dist/records-v2/ContactRecord.d.ts +233 -0
- package/dist/records-v2/ContactRecord.js +416 -0
- package/dist/records-v2/ContractBuyOutRecord.d.ts +79 -0
- package/dist/records-v2/ContractBuyOutRecord.js +142 -0
- package/dist/records-v2/ConversationRecord.d.ts +14 -0
- package/dist/records-v2/ConversationRecord.js +27 -0
- package/dist/records-v2/CreditNoteRecord.d.ts +40 -0
- package/dist/records-v2/CreditNoteRecord.js +73 -0
- package/dist/records-v2/CrmDatasetRecord.d.ts +66 -0
- package/dist/records-v2/CrmDatasetRecord.js +119 -0
- package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +14 -0
- package/dist/records-v2/CustomerDeviceAtaRecord.js +27 -0
- package/dist/records-v2/CustomerDeviceOntRecord.d.ts +105 -0
- package/dist/records-v2/CustomerDeviceOntRecord.js +188 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +79 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.js +142 -0
- package/dist/records-v2/CustomerPhonePortingRecord.d.ts +14 -0
- package/dist/records-v2/CustomerPhonePortingRecord.js +27 -0
- package/dist/records-v2/DiscountRecord.d.ts +66 -0
- package/dist/records-v2/DiscountRecord.js +119 -0
- package/dist/records-v2/EmailRecord.d.ts +52 -0
- package/dist/records-v2/EmailRecord.js +95 -0
- package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +53 -0
- package/dist/records-v2/FieldServiceDispatchedProductRecord.js +96 -0
- package/dist/records-v2/FieldServiceProductRecord.d.ts +76 -0
- package/dist/records-v2/FieldServiceProductRecord.js +139 -0
- package/dist/records-v2/ImpersonationTrackerRecord.d.ts +27 -0
- package/dist/records-v2/ImpersonationTrackerRecord.js +50 -0
- package/dist/records-v2/InvoiceRecord.d.ts +183 -0
- package/dist/records-v2/InvoiceRecord.js +326 -0
- package/dist/records-v2/KnowledgeArticleRecord.d.ts +26 -0
- package/dist/records-v2/KnowledgeArticleRecord.js +49 -0
- package/dist/records-v2/LeadRecord.d.ts +131 -0
- package/dist/records-v2/LeadRecord.js +234 -0
- package/dist/records-v2/NetworkDeviceRecord.d.ts +14 -0
- package/dist/records-v2/NetworkDeviceRecord.js +27 -0
- package/dist/records-v2/NoteRecord.d.ts +481 -0
- package/dist/records-v2/NoteRecord.js +854 -0
- package/dist/records-v2/OfferRecord.d.ts +65 -0
- package/dist/records-v2/OfferRecord.js +118 -0
- package/dist/records-v2/OhExternalAuditRecord.d.ts +27 -0
- package/dist/records-v2/OhExternalAuditRecord.js +50 -0
- package/dist/records-v2/OneTouchSwitchRecord.d.ts +118 -0
- package/dist/records-v2/OneTouchSwitchRecord.js +211 -0
- package/dist/records-v2/OntReplacementApprovalRecord.d.ts +27 -0
- package/dist/records-v2/OntReplacementApprovalRecord.js +50 -0
- package/dist/records-v2/OrderCheckRecord.d.ts +14 -0
- package/dist/records-v2/OrderCheckRecord.js +27 -0
- package/dist/records-v2/OrderItemRecord.d.ts +169 -0
- package/dist/records-v2/OrderItemRecord.js +302 -0
- package/dist/records-v2/OrderRecord.d.ts +312 -0
- package/dist/records-v2/OrderRecord.js +555 -0
- package/dist/records-v2/OutageRecord.d.ts +26 -0
- package/dist/records-v2/OutageRecord.js +49 -0
- package/dist/records-v2/OverlayRealA55Record.d.ts +27 -0
- package/dist/records-v2/OverlayRealA55Record.js +50 -0
- package/dist/records-v2/PICRequestRecord.d.ts +27 -0
- package/dist/records-v2/PICRequestRecord.js +50 -0
- package/dist/records-v2/PaymentMethodRecord.d.ts +66 -0
- package/dist/records-v2/PaymentMethodRecord.js +119 -0
- package/dist/records-v2/PaymentMethodRefundRecord.d.ts +92 -0
- package/dist/records-v2/PaymentMethodRefundRecord.js +165 -0
- package/dist/records-v2/PaymentRecord.d.ts +40 -0
- package/dist/records-v2/PaymentRecord.js +73 -0
- package/dist/records-v2/PermissionToFailRecord.d.ts +27 -0
- package/dist/records-v2/PermissionToFailRecord.js +50 -0
- package/dist/records-v2/PriceBookRecord.d.ts +14 -0
- package/dist/records-v2/PriceBookRecord.js +27 -0
- package/dist/records-v2/ProductRecord.d.ts +91 -0
- package/dist/records-v2/ProductRecord.js +164 -0
- package/dist/records-v2/PushNotificationRecord.d.ts +14 -0
- package/dist/records-v2/PushNotificationRecord.js +27 -0
- package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +27 -0
- package/dist/records-v2/RemediationOutcomeFormRecord.js +50 -0
- package/dist/records-v2/ReturnsRecord.d.ts +27 -0
- package/dist/records-v2/ReturnsRecord.js +50 -0
- package/dist/records-v2/ScheduleSlotRecord.d.ts +14 -0
- package/dist/records-v2/ScheduleSlotRecord.js +27 -0
- package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +90 -0
- package/dist/records-v2/ServiceAppointmentConfigRecord.js +163 -0
- package/dist/records-v2/ServiceRecord.d.ts +26 -0
- package/dist/records-v2/ServiceRecord.js +49 -0
- package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +27 -0
- package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +50 -0
- package/dist/records-v2/TeamRecord.d.ts +53 -0
- package/dist/records-v2/TeamRecord.js +96 -0
- package/dist/records-v2/TimeSlotRecord.d.ts +14 -0
- package/dist/records-v2/TimeSlotRecord.js +27 -0
- package/dist/records-v2/TransactionRecord.d.ts +91 -0
- package/dist/records-v2/TransactionRecord.js +164 -0
- package/dist/records-v2/UgRetroAuditRecord.d.ts +27 -0
- package/dist/records-v2/UgRetroAuditRecord.js +50 -0
- package/dist/records-v2/UserRecord.d.ts +242 -0
- package/dist/records-v2/UserRecord.js +435 -0
- package/dist/records-v2/VisitRecord.d.ts +53 -0
- package/dist/records-v2/VisitRecord.js +96 -0
- package/dist/records-v2/VoiceConfigurationRecord.d.ts +14 -0
- package/dist/records-v2/VoiceConfigurationRecord.js +27 -0
- package/dist/records-v2/WayleaveAuditRecord.d.ts +27 -0
- package/dist/records-v2/WayleaveAuditRecord.js +50 -0
- package/dist/records-v2/WorkOrderRecord.d.ts +491 -0
- package/dist/records-v2/WorkOrderRecord.js +884 -0
- package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +14 -0
- package/dist/records-v2/WorkOrderStatusUpdateRecord.js +27 -0
- package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +27 -0
- package/dist/records-v2/YfFieldServiceVisitRecord.js +50 -0
- package/dist/runner.js +43 -40
- package/package.json +2 -2
- package/src/EntityRegistry.ts +145 -156
- package/src/accessors-v2/AccountAccessor.ts +25 -1
- package/src/accessors-v2/ActivityAccessor.ts +25 -1
- package/src/accessors-v2/ActivityLogAccessor.ts +25 -1
- package/src/accessors-v2/AddressAccessor.ts +25 -1
- package/src/accessors-v2/BillingAdjustmentAccessor.ts +25 -1
- package/src/accessors-v2/BillingRequestAccessor.ts +25 -1
- package/src/accessors-v2/CallLegAccessor.ts +25 -1
- package/src/accessors-v2/CaseAccessor.ts +25 -1
- package/src/accessors-v2/ChangeReasonAccessor.ts +25 -1
- package/src/accessors-v2/ChurnRequestAccessor.ts +25 -1
- package/src/accessors-v2/ConfigAccessor.ts +25 -1
- package/src/accessors-v2/ContactAccessor.ts +25 -1
- package/src/accessors-v2/ContractBuyOutAccessor.ts +25 -1
- package/src/accessors-v2/ConversationAccessor.ts +25 -1
- package/src/accessors-v2/CreditNoteAccessor.ts +25 -1
- package/src/accessors-v2/CrmDatasetAccessor.ts +25 -1
- package/src/accessors-v2/CustomerDeviceAtaAccessor.ts +25 -1
- package/src/accessors-v2/CustomerDeviceOntAccessor.ts +25 -1
- package/src/accessors-v2/CustomerDeviceRouterAccessor.ts +25 -1
- package/src/accessors-v2/CustomerPhonePortingAccessor.ts +25 -1
- package/src/accessors-v2/DiscountAccessor.ts +25 -1
- package/src/accessors-v2/EmailAccessor.ts +25 -1
- package/src/accessors-v2/EmailTemplateAccessor.ts +25 -1
- package/src/accessors-v2/FieldServiceDispatchedProductAccessor.ts +25 -1
- package/src/accessors-v2/FieldServiceProductAccessor.ts +25 -1
- package/src/accessors-v2/ImpersonationTrackerAccessor.ts +25 -1
- package/src/accessors-v2/InvoiceAccessor.ts +25 -1
- package/src/accessors-v2/KnowledgeArticleAccessor.ts +25 -1
- package/src/accessors-v2/LeadAccessor.ts +25 -1
- package/src/accessors-v2/NetworkDeviceAccessor.ts +25 -1
- package/src/accessors-v2/NoteAccessor.ts +25 -1
- package/src/accessors-v2/OfferAccessor.ts +25 -1
- package/src/accessors-v2/OhExternalAuditAccessor.ts +25 -1
- package/src/accessors-v2/OneTouchSwitchAccessor.ts +25 -1
- package/src/accessors-v2/OntReplacementApprovalAccessor.ts +25 -1
- package/src/accessors-v2/OrderAccessor.ts +25 -1
- package/src/accessors-v2/OrderCheckAccessor.ts +25 -1
- package/src/accessors-v2/OrderItemAccessor.ts +25 -1
- package/src/accessors-v2/OutageAccessor.ts +25 -1
- package/src/accessors-v2/OverlayRealA55Accessor.ts +25 -1
- package/src/accessors-v2/PICRequestAccessor.ts +25 -1
- package/src/accessors-v2/PaymentAccessor.ts +25 -1
- package/src/accessors-v2/PaymentMethodAccessor.ts +25 -1
- package/src/accessors-v2/PaymentMethodRefundAccessor.ts +25 -1
- package/src/accessors-v2/PermissionToFailAccessor.ts +25 -1
- package/src/accessors-v2/PriceBookAccessor.ts +25 -1
- package/src/accessors-v2/ProductAccessor.ts +25 -1
- package/src/accessors-v2/PushNotificationAccessor.ts +25 -1
- package/src/accessors-v2/RemediationOutcomeFormAccessor.ts +25 -1
- package/src/accessors-v2/ReturnsAccessor.ts +25 -1
- package/src/accessors-v2/ScheduleSlotAccessor.ts +25 -1
- package/src/accessors-v2/ServiceAccessor.ts +25 -1
- package/src/accessors-v2/ServiceAppointmentConfigAccessor.ts +25 -1
- package/src/accessors-v2/SiteSpecificRiskAssessmentOutcomeFormAccessor.ts +25 -1
- package/src/accessors-v2/TeamAccessor.ts +25 -1
- package/src/accessors-v2/TimeSlotAccessor.ts +25 -1
- package/src/accessors-v2/TransactionAccessor.ts +25 -1
- package/src/accessors-v2/UgRetroAuditAccessor.ts +25 -1
- package/src/accessors-v2/UserAccessor.ts +25 -1
- package/src/accessors-v2/VisitAccessor.ts +25 -1
- package/src/accessors-v2/VoiceConfigurationAccessor.ts +25 -1
- package/src/accessors-v2/WayleaveAuditAccessor.ts +25 -1
- package/src/accessors-v2/WorkOrderAccessor.ts +25 -1
- package/src/accessors-v2/WorkOrderStatusUpdateAccessor.ts +25 -1
- package/src/accessors-v2/YfFieldServiceVisitAccessor.ts +25 -1
- package/src/api-sdk-v2/WorkOrderApi.ts +141 -141
- package/src/db-accessors-v2/AccountDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ActivityDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ActivityLogDbAccessor.ts +24 -0
- package/src/db-accessors-v2/AddressDbAccessor.ts +24 -0
- package/src/db-accessors-v2/BillingAdjustmentDbAccessor.ts +24 -0
- package/src/db-accessors-v2/BillingRequestDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CallLegDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CaseDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ChangeReasonDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ChurnRequestDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ConfigDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ContactDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ContractBuyOutDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ConversationDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CreditNoteDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CrmDatasetDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CustomerDeviceAtaDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CustomerDeviceOntDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CustomerDeviceRouterDbAccessor.ts +24 -0
- package/src/db-accessors-v2/CustomerPhonePortingDbAccessor.ts +24 -0
- package/src/db-accessors-v2/DiscountDbAccessor.ts +24 -0
- package/src/db-accessors-v2/EmailDbAccessor.ts +24 -0
- package/src/db-accessors-v2/EmailTemplateDbAccessor.ts +24 -0
- package/src/db-accessors-v2/FieldServiceDispatchedProductDbAccessor.ts +24 -0
- package/src/db-accessors-v2/FieldServiceProductDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ImpersonationTrackerDbAccessor.ts +24 -0
- package/src/db-accessors-v2/InvoiceDbAccessor.ts +24 -0
- package/src/db-accessors-v2/KnowledgeArticleDbAccessor.ts +24 -0
- package/src/db-accessors-v2/LeadDbAccessor.ts +24 -0
- package/src/db-accessors-v2/NetworkDeviceDbAccessor.ts +24 -0
- package/src/db-accessors-v2/NoteDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OfferDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OhExternalAuditDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OneTouchSwitchDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OntReplacementApprovalDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OrderCheckDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OrderDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OrderItemDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OutageDbAccessor.ts +24 -0
- package/src/db-accessors-v2/OverlayRealA55DbAccessor.ts +24 -0
- package/src/db-accessors-v2/PICRequestDbAccessor.ts +24 -0
- package/src/db-accessors-v2/PaymentDbAccessor.ts +24 -0
- package/src/db-accessors-v2/PaymentMethodDbAccessor.ts +24 -0
- package/src/db-accessors-v2/PaymentMethodRefundDbAccessor.ts +24 -0
- package/src/db-accessors-v2/PermissionToFailDbAccessor.ts +24 -0
- package/src/db-accessors-v2/PriceBookDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ProductDbAccessor.ts +24 -0
- package/src/db-accessors-v2/PushNotificationDbAccessor.ts +24 -0
- package/src/db-accessors-v2/RemediationOutcomeFormDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ReturnsDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ScheduleSlotDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ServiceAppointmentConfigDbAccessor.ts +24 -0
- package/src/db-accessors-v2/ServiceDbAccessor.ts +24 -0
- package/src/db-accessors-v2/SiteSpecificRiskAssessmentOutcomeFormDbAccessor.ts +24 -0
- package/src/db-accessors-v2/TeamDbAccessor.ts +24 -0
- package/src/db-accessors-v2/TimeSlotDbAccessor.ts +24 -0
- package/src/db-accessors-v2/TransactionDbAccessor.ts +24 -0
- package/src/db-accessors-v2/UgRetroAuditDbAccessor.ts +24 -0
- package/src/db-accessors-v2/UserDbAccessor.ts +24 -0
- package/src/db-accessors-v2/VisitDbAccessor.ts +24 -0
- package/src/db-accessors-v2/VoiceConfigurationDbAccessor.ts +24 -0
- package/src/db-accessors-v2/WayleaveAuditDbAccessor.ts +24 -0
- package/src/db-accessors-v2/WorkOrderDbAccessor.ts +24 -0
- package/src/db-accessors-v2/WorkOrderStatusUpdateDbAccessor.ts +24 -0
- package/src/db-accessors-v2/YfFieldServiceVisitDbAccessor.ts +24 -0
- package/src/db-sdk-v2/WorkOrderDb.ts +151 -151
- package/src/entities-v2/RemediationRequiredReason.ts +105 -105
- package/src/entities-v2/WorkOrder.ts +1 -3
- package/src/records-v2/AccountRecord.ts +304 -0
- package/src/records-v2/ActivityLogRecord.ts +125 -0
- package/src/records-v2/ActivityRecord.ts +275 -0
- package/src/records-v2/AddressRecord.ts +454 -0
- package/src/records-v2/BillingAdjustmentRecord.ts +95 -0
- package/src/records-v2/BillingRequestRecord.ts +184 -0
- package/src/records-v2/CallLegRecord.ts +1 -0
- package/src/records-v2/CaseRecord.ts +540 -0
- package/src/records-v2/ChangeReasonRecord.ts +125 -0
- package/src/records-v2/ChurnRequestRecord.ts +65 -0
- package/src/records-v2/ConfigRecord.ts +1 -0
- package/src/records-v2/ContactRecord.ts +543 -0
- package/src/records-v2/ContractBuyOutRecord.ts +185 -0
- package/src/records-v2/ConversationRecord.ts +35 -0
- package/src/records-v2/CreditNoteRecord.ts +95 -0
- package/src/records-v2/CrmDatasetRecord.ts +155 -0
- package/src/records-v2/CustomerDeviceAtaRecord.ts +35 -0
- package/src/records-v2/CustomerDeviceOntRecord.ts +245 -0
- package/src/records-v2/CustomerDeviceRouterRecord.ts +185 -0
- package/src/records-v2/CustomerPhonePortingRecord.ts +35 -0
- package/src/records-v2/DiscountRecord.ts +155 -0
- package/src/records-v2/EmailRecord.ts +124 -0
- package/src/records-v2/EmailTemplateRecord.ts +1 -0
- package/src/records-v2/FieldServiceDispatchedProductRecord.ts +125 -0
- package/src/records-v2/FieldServiceProductRecord.ts +182 -0
- package/src/records-v2/ImpersonationTrackerRecord.ts +65 -0
- package/src/records-v2/InvoiceRecord.ts +425 -0
- package/src/records-v2/KnowledgeArticleRecord.ts +64 -0
- package/src/records-v2/LeadRecord.ts +305 -0
- package/src/records-v2/NetworkDeviceRecord.ts +35 -0
- package/src/records-v2/NoteRecord.ts +1114 -0
- package/src/records-v2/OfferRecord.ts +154 -0
- package/src/records-v2/OhExternalAuditRecord.ts +65 -0
- package/src/records-v2/OneTouchSwitchRecord.ts +275 -0
- package/src/records-v2/OntReplacementApprovalRecord.ts +65 -0
- package/src/records-v2/OrderCheckRecord.ts +35 -0
- package/src/records-v2/OrderItemRecord.ts +394 -0
- package/src/records-v2/OrderRecord.ts +724 -0
- package/src/records-v2/OutageRecord.ts +64 -0
- package/src/records-v2/OverlayRealA55Record.ts +65 -0
- package/src/records-v2/PICRequestRecord.ts +65 -0
- package/src/records-v2/PaymentMethodRecord.ts +155 -0
- package/src/records-v2/PaymentMethodRefundRecord.ts +215 -0
- package/src/records-v2/PaymentRecord.ts +95 -0
- package/src/records-v2/PermissionToFailRecord.ts +65 -0
- package/src/records-v2/PriceBookRecord.ts +35 -0
- package/src/records-v2/ProductRecord.ts +214 -0
- package/src/records-v2/PushNotificationRecord.ts +35 -0
- package/src/records-v2/RemediationOutcomeFormRecord.ts +65 -0
- package/src/records-v2/ReturnsRecord.ts +65 -0
- package/src/records-v2/ScheduleSlotRecord.ts +35 -0
- package/src/records-v2/ServiceAppointmentConfigRecord.ts +213 -0
- package/src/records-v2/ServiceRecord.ts +64 -0
- package/src/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.ts +65 -0
- package/src/records-v2/TeamRecord.ts +125 -0
- package/src/records-v2/TimeSlotRecord.ts +35 -0
- package/src/records-v2/TransactionRecord.ts +214 -0
- package/src/records-v2/UgRetroAuditRecord.ts +65 -0
- package/src/records-v2/UserRecord.ts +569 -0
- package/src/records-v2/VisitRecord.ts +125 -0
- package/src/records-v2/VoiceConfigurationRecord.ts +35 -0
- package/src/records-v2/WayleaveAuditRecord.ts +65 -0
- package/src/records-v2/WorkOrderRecord.ts +1158 -0
- package/src/records-v2/WorkOrderStatusUpdateRecord.ts +35 -0
- package/src/records-v2/YfFieldServiceVisitRecord.ts +65 -0
- package/src/runner.ts +52 -41
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ Typed SDK for the ODIN platform providing full type safety for records, actions,
|
|
|
20
20
|
## Installation
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
npm install @
|
|
23
|
+
npm install @youfibre/odin-sdk
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
---
|
|
@@ -30,7 +30,7 @@ npm install @d19n/youfibre-odin-sdk
|
|
|
30
30
|
### API Access (Scripts, External Clients)
|
|
31
31
|
|
|
32
32
|
```typescript
|
|
33
|
-
import { OdinApiClient } from '@
|
|
33
|
+
import { OdinApiClient } from '@youfibre/odin-sdk';
|
|
34
34
|
|
|
35
35
|
const odin = new OdinApiClient({
|
|
36
36
|
host: 'api.youfibre.com',
|
|
@@ -48,7 +48,7 @@ await order.activateOrder({ ActiveDate: '2025-01-15' });
|
|
|
48
48
|
### DB Access (Backend Services)
|
|
49
49
|
|
|
50
50
|
```typescript
|
|
51
|
-
import { OdinDbClient } from '@
|
|
51
|
+
import { OdinDbClient } from '@youfibre/odin-sdk';
|
|
52
52
|
|
|
53
53
|
// In a NestJS service
|
|
54
54
|
@Injectable()
|
|
@@ -123,7 +123,7 @@ const odin = new OdinDbClient(principal, dbService);
|
|
|
123
123
|
|
|
124
124
|
```typescript
|
|
125
125
|
import { Injectable } from '@nestjs/common';
|
|
126
|
-
import { OdinDbClient } from '@
|
|
126
|
+
import { OdinDbClient } from '@youfibre/odin-sdk';
|
|
127
127
|
import { DbService } from '@d19n/schema-manager/dist/db/db.service';
|
|
128
128
|
|
|
129
129
|
@Injectable()
|
|
@@ -229,13 +229,68 @@ for (const result of results) {
|
|
|
229
229
|
|
|
230
230
|
## Searching Records
|
|
231
231
|
|
|
232
|
+
ODIN uses a structured query format with `OdinQuery` and `OdinFilter` types.
|
|
233
|
+
|
|
234
|
+
### Query Structure
|
|
235
|
+
|
|
236
|
+
```typescript
|
|
237
|
+
interface OdinFilter {
|
|
238
|
+
columnName: string; // Property name (e.g., 'Status', 'Contractor')
|
|
239
|
+
operator: OdinOperator; // 'eq', 'in', 'not in', 'gte', 'lte', 'gt', 'lt', etc.
|
|
240
|
+
value: any; // Filter value(s)
|
|
241
|
+
// Optional:
|
|
242
|
+
linkedEntity?: string; // For filtering on linked records
|
|
243
|
+
linkedRelationType?: string; // 'child' | 'parent'
|
|
244
|
+
caseSensitive?: boolean; // Default: false
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
interface OdinQuery {
|
|
248
|
+
entity: string; // Use 'infer' to auto-detect from accessor
|
|
249
|
+
type: 'and'; // Currently only 'and' is supported
|
|
250
|
+
value: OdinFilter[]; // Array of filters (AND'd together)
|
|
251
|
+
pageSize: number; // Max 1000 per request
|
|
252
|
+
pageNumber: number; // 0-indexed
|
|
253
|
+
sort?: Record<string, { order: 'asc' | 'desc' }>;
|
|
254
|
+
returnProperties?: string[]; // Fields to return
|
|
255
|
+
searchAfter?: any[]; // For cursor-based pagination
|
|
256
|
+
includeDeleted?: boolean;
|
|
257
|
+
includeArchived?: boolean;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// Available operators
|
|
261
|
+
type OdinOperator =
|
|
262
|
+
| 'eq' // Equals
|
|
263
|
+
| 'in' // In array
|
|
264
|
+
| 'not in' // Not in array
|
|
265
|
+
| 'gte' // Greater than or equal
|
|
266
|
+
| 'lte' // Less than or equal
|
|
267
|
+
| 'gt' // Greater than
|
|
268
|
+
| 'lt' // Less than
|
|
269
|
+
| 'isNull' // Is null
|
|
270
|
+
| 'notNull' // Is not null
|
|
271
|
+
| 'anyTerm' // Contains any term (text search)
|
|
272
|
+
| 'allTerm' // Contains all terms (text search)
|
|
273
|
+
| 'phrase' // Exact phrase match
|
|
274
|
+
| 'nested'; // Nested object query
|
|
275
|
+
```
|
|
276
|
+
|
|
232
277
|
### Basic Search
|
|
233
278
|
|
|
234
279
|
```typescript
|
|
235
280
|
const result = await odin.orders.search({
|
|
236
281
|
query: {
|
|
237
|
-
|
|
238
|
-
|
|
282
|
+
entity: 'infer',
|
|
283
|
+
type: 'and',
|
|
284
|
+
value: [
|
|
285
|
+
{
|
|
286
|
+
columnName: 'Status',
|
|
287
|
+
operator: 'eq',
|
|
288
|
+
value: 'Active',
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
returnProperties: ['id', 'title', 'type', 'properties.*'],
|
|
292
|
+
pageSize: 100,
|
|
293
|
+
pageNumber: 0,
|
|
239
294
|
},
|
|
240
295
|
});
|
|
241
296
|
|
|
@@ -244,28 +299,242 @@ console.log(result.totalRecords); // number
|
|
|
244
299
|
console.log(result.hasMore); // boolean
|
|
245
300
|
```
|
|
246
301
|
|
|
247
|
-
### Search with Filters
|
|
302
|
+
### Search with Multiple Filters
|
|
303
|
+
|
|
304
|
+
Filters are AND'd together:
|
|
248
305
|
|
|
249
306
|
```typescript
|
|
250
307
|
const result = await odin.orders.search({
|
|
251
308
|
query: {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
309
|
+
entity: 'infer',
|
|
310
|
+
type: 'and',
|
|
311
|
+
value: [
|
|
312
|
+
{
|
|
313
|
+
columnName: 'Status',
|
|
314
|
+
operator: 'in',
|
|
315
|
+
value: ['Active', 'Pending'],
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
columnName: 'ContractType',
|
|
319
|
+
operator: 'eq',
|
|
320
|
+
value: 'Residential',
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
columnName: 'ActiveDate',
|
|
324
|
+
operator: 'gte',
|
|
325
|
+
value: '2025-01-01',
|
|
326
|
+
},
|
|
255
327
|
],
|
|
256
|
-
|
|
328
|
+
returnProperties: ['id', 'title', 'type', 'properties.*', 'stage'],
|
|
329
|
+
sort: {
|
|
330
|
+
createdAt: { order: 'desc' },
|
|
331
|
+
},
|
|
257
332
|
pageSize: 100,
|
|
333
|
+
pageNumber: 0,
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### Excluding Values (NOT IN)
|
|
339
|
+
|
|
340
|
+
```typescript
|
|
341
|
+
const result = await odin.workOrders.search({
|
|
342
|
+
query: {
|
|
343
|
+
entity: 'infer',
|
|
344
|
+
type: 'and',
|
|
345
|
+
value: [
|
|
346
|
+
{
|
|
347
|
+
columnName: 'EntityType',
|
|
348
|
+
operator: 'not in',
|
|
349
|
+
value: ['COLLECTION', 'DISPATCH'],
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
columnName: 'Contractor',
|
|
353
|
+
operator: 'not in',
|
|
354
|
+
value: ['INTERNAL'],
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
pageSize: 1000,
|
|
358
|
+
pageNumber: 0,
|
|
359
|
+
},
|
|
360
|
+
});
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
### Date Range Queries
|
|
364
|
+
|
|
365
|
+
```typescript
|
|
366
|
+
const result = await odin.visits.search({
|
|
367
|
+
query: {
|
|
368
|
+
entity: 'infer',
|
|
369
|
+
type: 'and',
|
|
370
|
+
value: [
|
|
371
|
+
{
|
|
372
|
+
columnName: 'ScheduledDate',
|
|
373
|
+
operator: 'gte',
|
|
374
|
+
value: '2025-01-01',
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
columnName: 'ScheduledDate',
|
|
378
|
+
operator: 'lte',
|
|
379
|
+
value: '2025-01-31',
|
|
380
|
+
},
|
|
381
|
+
],
|
|
382
|
+
sort: {
|
|
383
|
+
ScheduledDate: { order: 'asc' },
|
|
384
|
+
},
|
|
385
|
+
pageSize: 500,
|
|
386
|
+
pageNumber: 0,
|
|
387
|
+
},
|
|
388
|
+
});
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### Text Search
|
|
392
|
+
|
|
393
|
+
```typescript
|
|
394
|
+
// Match any term
|
|
395
|
+
const result = await odin.contacts.search({
|
|
396
|
+
query: {
|
|
397
|
+
entity: 'infer',
|
|
398
|
+
type: 'and',
|
|
399
|
+
value: [
|
|
400
|
+
{
|
|
401
|
+
columnName: 'FirstName',
|
|
402
|
+
operator: 'anyTerm',
|
|
403
|
+
value: 'john smith', // Matches 'john' OR 'smith'
|
|
404
|
+
},
|
|
405
|
+
],
|
|
406
|
+
pageSize: 50,
|
|
407
|
+
pageNumber: 0,
|
|
408
|
+
},
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
// Match exact phrase
|
|
412
|
+
const result = await odin.contacts.search({
|
|
413
|
+
query: {
|
|
414
|
+
entity: 'infer',
|
|
415
|
+
type: 'and',
|
|
416
|
+
value: [
|
|
417
|
+
{
|
|
418
|
+
columnName: 'FullName',
|
|
419
|
+
operator: 'phrase',
|
|
420
|
+
value: 'John Smith', // Matches exact phrase
|
|
421
|
+
},
|
|
422
|
+
],
|
|
423
|
+
pageSize: 50,
|
|
424
|
+
pageNumber: 0,
|
|
425
|
+
},
|
|
426
|
+
});
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
### Null Checks
|
|
430
|
+
|
|
431
|
+
```typescript
|
|
432
|
+
const result = await odin.orders.search({
|
|
433
|
+
query: {
|
|
434
|
+
entity: 'infer',
|
|
435
|
+
type: 'and',
|
|
436
|
+
value: [
|
|
437
|
+
{
|
|
438
|
+
columnName: 'CancelledDate',
|
|
439
|
+
operator: 'isNull',
|
|
440
|
+
value: true,
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
columnName: 'ActiveDate',
|
|
444
|
+
operator: 'notNull',
|
|
445
|
+
value: true,
|
|
446
|
+
},
|
|
447
|
+
],
|
|
448
|
+
pageSize: 100,
|
|
449
|
+
pageNumber: 0,
|
|
450
|
+
},
|
|
451
|
+
});
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
### Selecting Return Properties
|
|
455
|
+
|
|
456
|
+
Control which fields are returned to reduce payload size:
|
|
457
|
+
|
|
458
|
+
```typescript
|
|
459
|
+
const result = await odin.orders.search({
|
|
460
|
+
query: {
|
|
461
|
+
entity: 'infer',
|
|
462
|
+
type: 'and',
|
|
463
|
+
value: [
|
|
464
|
+
{ columnName: 'Status', operator: 'eq', value: 'Active' },
|
|
465
|
+
],
|
|
466
|
+
returnProperties: [
|
|
467
|
+
'id',
|
|
468
|
+
'title',
|
|
469
|
+
'type',
|
|
470
|
+
'entity',
|
|
471
|
+
'recordNumber',
|
|
472
|
+
'properties.*', // All properties
|
|
473
|
+
'stage', // Pipeline stage
|
|
474
|
+
'links.*', // All linked records
|
|
475
|
+
],
|
|
476
|
+
pageSize: 100,
|
|
477
|
+
pageNumber: 0,
|
|
478
|
+
},
|
|
479
|
+
});
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### Sorting Results
|
|
483
|
+
|
|
484
|
+
```typescript
|
|
485
|
+
const result = await odin.orders.search({
|
|
486
|
+
query: {
|
|
487
|
+
entity: 'infer',
|
|
488
|
+
type: 'and',
|
|
489
|
+
value: [
|
|
490
|
+
{ columnName: 'Status', operator: 'eq', value: 'Active' },
|
|
491
|
+
],
|
|
492
|
+
sort: {
|
|
493
|
+
createdAt: { order: 'desc' }, // Primary sort
|
|
494
|
+
'properties.Priority': { order: 'asc' }, // Secondary sort
|
|
495
|
+
},
|
|
496
|
+
pageSize: 100,
|
|
497
|
+
pageNumber: 0,
|
|
258
498
|
},
|
|
259
499
|
});
|
|
260
500
|
```
|
|
261
501
|
|
|
262
502
|
### Search All (Auto-Pagination)
|
|
263
503
|
|
|
504
|
+
Returns ALL matching records (up to ~1M) with automatic pagination:
|
|
505
|
+
|
|
264
506
|
```typescript
|
|
265
|
-
// Returns ALL matching records (handles pagination internally)
|
|
266
507
|
const allOrders = await odin.orders.searchAll({
|
|
267
508
|
query: {
|
|
268
|
-
|
|
509
|
+
entity: 'infer',
|
|
510
|
+
type: 'and',
|
|
511
|
+
value: [
|
|
512
|
+
{
|
|
513
|
+
columnName: 'Status',
|
|
514
|
+
operator: 'in',
|
|
515
|
+
value: ['Active', 'Pending'],
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
columnName: 'UpdatedAt',
|
|
519
|
+
operator: 'gte',
|
|
520
|
+
value: '2025-01-01',
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
returnProperties: [
|
|
524
|
+
'id',
|
|
525
|
+
'title',
|
|
526
|
+
'type',
|
|
527
|
+
'entity',
|
|
528
|
+
'schemaId',
|
|
529
|
+
'recordNumber',
|
|
530
|
+
'properties.*',
|
|
531
|
+
'stage',
|
|
532
|
+
],
|
|
533
|
+
sort: {
|
|
534
|
+
createdAt: { order: 'asc' }, // Required for consistent pagination
|
|
535
|
+
},
|
|
536
|
+
pageSize: 1000, // Max per request
|
|
537
|
+
pageNumber: 0,
|
|
269
538
|
},
|
|
270
539
|
});
|
|
271
540
|
|
|
@@ -279,8 +548,16 @@ For memory-efficient processing of large datasets:
|
|
|
279
548
|
```typescript
|
|
280
549
|
for await (const batch of odin.orders.paginate({
|
|
281
550
|
query: {
|
|
282
|
-
|
|
551
|
+
entity: 'infer',
|
|
552
|
+
type: 'and',
|
|
553
|
+
value: [
|
|
554
|
+
{ columnName: 'Status', operator: 'eq', value: 'Active' },
|
|
555
|
+
],
|
|
556
|
+
sort: {
|
|
557
|
+
createdAt: { order: 'asc' },
|
|
558
|
+
},
|
|
283
559
|
pageSize: 500,
|
|
560
|
+
pageNumber: 0,
|
|
284
561
|
},
|
|
285
562
|
})) {
|
|
286
563
|
// Process batch of 500 records
|
|
@@ -290,6 +567,302 @@ for await (const batch of odin.orders.paginate({
|
|
|
290
567
|
}
|
|
291
568
|
```
|
|
292
569
|
|
|
570
|
+
### Searching Linked Records
|
|
571
|
+
|
|
572
|
+
Filter by properties on linked entities:
|
|
573
|
+
|
|
574
|
+
```typescript
|
|
575
|
+
// Find orders linked to a specific account
|
|
576
|
+
const result = await odin.orders.search({
|
|
577
|
+
query: {
|
|
578
|
+
entity: 'infer',
|
|
579
|
+
type: 'and',
|
|
580
|
+
value: [
|
|
581
|
+
{
|
|
582
|
+
columnName: 'Status',
|
|
583
|
+
operator: 'eq',
|
|
584
|
+
value: 'Active',
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
columnName: 'AccountNumber',
|
|
588
|
+
operator: 'eq',
|
|
589
|
+
value: 'ACC-12345',
|
|
590
|
+
linkedEntity: 'CrmModule:Account',
|
|
591
|
+
linkedRelationType: 'parent',
|
|
592
|
+
},
|
|
593
|
+
],
|
|
594
|
+
pageSize: 100,
|
|
595
|
+
pageNumber: 0,
|
|
596
|
+
},
|
|
597
|
+
});
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
## Fluent Query Builder
|
|
603
|
+
|
|
604
|
+
For a cleaner, more readable API, use the fluent query builder:
|
|
605
|
+
|
|
606
|
+
### Basic Usage
|
|
607
|
+
|
|
608
|
+
```typescript
|
|
609
|
+
const results = await odin.orders
|
|
610
|
+
.query()
|
|
611
|
+
.where('Status', 'eq', 'Active')
|
|
612
|
+
.limit(100)
|
|
613
|
+
.execute();
|
|
614
|
+
|
|
615
|
+
console.log(results.records); // OrderRecord[]
|
|
616
|
+
console.log(results.totalRecords); // number
|
|
617
|
+
console.log(results.hasMore); // boolean
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
### Chaining Filters
|
|
621
|
+
|
|
622
|
+
All filters are AND'd together:
|
|
623
|
+
|
|
624
|
+
```typescript
|
|
625
|
+
const results = await odin.orders
|
|
626
|
+
.query()
|
|
627
|
+
.where('Status', 'in', ['Active', 'Pending'])
|
|
628
|
+
.where('ContractType', 'eq', 'Residential')
|
|
629
|
+
.where('ActiveDate', 'gte', '2025-01-01')
|
|
630
|
+
.whereNotIn('CancellationReason', ['Duplicate', 'Test'])
|
|
631
|
+
.select('id', 'title', 'properties.*', 'stage')
|
|
632
|
+
.sortBy('createdAt', 'desc')
|
|
633
|
+
.limit(100)
|
|
634
|
+
.execute();
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
### Available Filter Methods
|
|
638
|
+
|
|
639
|
+
```typescript
|
|
640
|
+
// Equality
|
|
641
|
+
.where('Status', 'eq', 'Active')
|
|
642
|
+
.whereEq('Status', 'Active') // Shorthand
|
|
643
|
+
|
|
644
|
+
// In / Not In
|
|
645
|
+
.where('Status', 'in', ['Active', 'Pending'])
|
|
646
|
+
.whereIn('Status', ['Active', 'Pending']) // Shorthand
|
|
647
|
+
.whereNotIn('Status', ['Cancelled', 'Draft'])
|
|
648
|
+
|
|
649
|
+
// Comparison
|
|
650
|
+
.where('Amount', 'gte', 100)
|
|
651
|
+
.whereGte('Amount', 100) // Shorthand
|
|
652
|
+
.whereLte('Amount', 1000)
|
|
653
|
+
.whereGt('Amount', 0)
|
|
654
|
+
.whereLt('Amount', 10000)
|
|
655
|
+
|
|
656
|
+
// Date Range
|
|
657
|
+
.whereBetween('CreatedAt', '2025-01-01', '2025-01-31')
|
|
658
|
+
|
|
659
|
+
// Null Checks
|
|
660
|
+
.whereNull('CancelledDate')
|
|
661
|
+
.whereNotNull('ActiveDate')
|
|
662
|
+
|
|
663
|
+
// Text Search
|
|
664
|
+
.whereAnyTerm('Description', 'urgent priority') // OR match
|
|
665
|
+
.whereAllTerms('Description', 'urgent priority') // AND match
|
|
666
|
+
.wherePhrase('Title', 'Service Order') // Exact phrase
|
|
667
|
+
|
|
668
|
+
// Linked Entity
|
|
669
|
+
.whereLinked('AccountNumber', 'eq', 'ACC-123', 'CrmModule:Account', 'parent')
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
### Projection & Sorting
|
|
673
|
+
|
|
674
|
+
```typescript
|
|
675
|
+
const results = await odin.orders
|
|
676
|
+
.query()
|
|
677
|
+
.where('Status', 'eq', 'Active')
|
|
678
|
+
.select('id', 'title', 'type', 'properties.*', 'stage', 'links.*')
|
|
679
|
+
.sortBy('createdAt', 'desc')
|
|
680
|
+
.sortBy('properties.Priority', 'asc') // Secondary sort
|
|
681
|
+
.execute();
|
|
682
|
+
```
|
|
683
|
+
|
|
684
|
+
### Pagination
|
|
685
|
+
|
|
686
|
+
```typescript
|
|
687
|
+
// Limit and page
|
|
688
|
+
const page1 = await odin.orders.query()
|
|
689
|
+
.where('Status', 'eq', 'Active')
|
|
690
|
+
.limit(100)
|
|
691
|
+
.page(0)
|
|
692
|
+
.execute();
|
|
693
|
+
|
|
694
|
+
const page2 = await odin.orders.query()
|
|
695
|
+
.where('Status', 'eq', 'Active')
|
|
696
|
+
.limit(100)
|
|
697
|
+
.page(1)
|
|
698
|
+
.execute();
|
|
699
|
+
|
|
700
|
+
// Using offset
|
|
701
|
+
const results = await odin.orders.query()
|
|
702
|
+
.limit(100)
|
|
703
|
+
.offset(200) // Skip first 200, returns 200-299
|
|
704
|
+
.execute();
|
|
705
|
+
```
|
|
706
|
+
|
|
707
|
+
### Convenience Methods
|
|
708
|
+
|
|
709
|
+
```typescript
|
|
710
|
+
// Get just records (no metadata)
|
|
711
|
+
const records = await odin.orders
|
|
712
|
+
.query()
|
|
713
|
+
.where('Status', 'eq', 'Active')
|
|
714
|
+
.getMany();
|
|
715
|
+
|
|
716
|
+
// Get single record
|
|
717
|
+
const order = await odin.orders
|
|
718
|
+
.query()
|
|
719
|
+
.where('OrderNumber', 'eq', 'ORD-12345')
|
|
720
|
+
.getOne(); // Returns OrderRecord | null
|
|
721
|
+
|
|
722
|
+
// Get single record or throw
|
|
723
|
+
const order = await odin.orders
|
|
724
|
+
.query()
|
|
725
|
+
.where('OrderNumber', 'eq', 'ORD-12345')
|
|
726
|
+
.getOneOrFail(); // Throws if not found
|
|
727
|
+
|
|
728
|
+
// Count matching records
|
|
729
|
+
const count = await odin.orders
|
|
730
|
+
.query()
|
|
731
|
+
.where('Status', 'eq', 'Active')
|
|
732
|
+
.count();
|
|
733
|
+
|
|
734
|
+
// Check if any match
|
|
735
|
+
const hasActive = await odin.orders
|
|
736
|
+
.query()
|
|
737
|
+
.where('Status', 'eq', 'Active')
|
|
738
|
+
.exists();
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
### Fetch All with Auto-Pagination
|
|
742
|
+
|
|
743
|
+
```typescript
|
|
744
|
+
// WARNING: Can return up to ~1M records
|
|
745
|
+
const allOrders = await odin.orders
|
|
746
|
+
.query()
|
|
747
|
+
.where('Status', 'in', ['Active', 'Pending'])
|
|
748
|
+
.where('UpdatedAt', 'gte', '2025-01-01')
|
|
749
|
+
.select('id', 'title', 'properties.*')
|
|
750
|
+
.sortBy('createdAt', 'asc') // Required for consistent pagination
|
|
751
|
+
.limit(1000)
|
|
752
|
+
.executeAll();
|
|
753
|
+
|
|
754
|
+
console.log(allOrders.length); // Could be thousands
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
### Memory-Efficient Pagination
|
|
758
|
+
|
|
759
|
+
For processing large datasets without loading all into memory:
|
|
760
|
+
|
|
761
|
+
```typescript
|
|
762
|
+
for await (const batch of odin.orders
|
|
763
|
+
.query()
|
|
764
|
+
.where('Status', 'eq', 'Active')
|
|
765
|
+
.sortBy('createdAt', 'asc')
|
|
766
|
+
.limit(500)
|
|
767
|
+
.paginate()
|
|
768
|
+
) {
|
|
769
|
+
// Process batch of 500 records
|
|
770
|
+
for (const order of batch) {
|
|
771
|
+
await processOrder(order);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
```
|
|
775
|
+
|
|
776
|
+
### Include Deleted/Archived
|
|
777
|
+
|
|
778
|
+
```typescript
|
|
779
|
+
const results = await odin.orders
|
|
780
|
+
.query()
|
|
781
|
+
.where('Status', 'eq', 'Cancelled')
|
|
782
|
+
.includeDeleted()
|
|
783
|
+
.includeArchived()
|
|
784
|
+
.execute();
|
|
785
|
+
```
|
|
786
|
+
|
|
787
|
+
### Clone & Reuse Queries
|
|
788
|
+
|
|
789
|
+
```typescript
|
|
790
|
+
const baseQuery = odin.orders
|
|
791
|
+
.query()
|
|
792
|
+
.where('ContractType', 'eq', 'Residential')
|
|
793
|
+
.select('id', 'title', 'properties.*')
|
|
794
|
+
.sortBy('createdAt', 'desc');
|
|
795
|
+
|
|
796
|
+
// Clone and add more filters
|
|
797
|
+
const activeOrders = await baseQuery
|
|
798
|
+
.clone()
|
|
799
|
+
.where('Status', 'eq', 'Active')
|
|
800
|
+
.execute();
|
|
801
|
+
|
|
802
|
+
const pendingOrders = await baseQuery
|
|
803
|
+
.clone()
|
|
804
|
+
.where('Status', 'eq', 'Pending')
|
|
805
|
+
.execute();
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
### Build Query Without Executing
|
|
809
|
+
|
|
810
|
+
```typescript
|
|
811
|
+
// Get the raw OdinQuery object
|
|
812
|
+
const query = odin.orders
|
|
813
|
+
.query()
|
|
814
|
+
.where('Status', 'eq', 'Active')
|
|
815
|
+
.limit(100)
|
|
816
|
+
.build();
|
|
817
|
+
|
|
818
|
+
console.log(query);
|
|
819
|
+
// {
|
|
820
|
+
// entity: 'infer',
|
|
821
|
+
// type: 'and',
|
|
822
|
+
// value: [{ columnName: 'Status', operator: 'eq', value: 'Active' }],
|
|
823
|
+
// pageSize: 100,
|
|
824
|
+
// pageNumber: 0
|
|
825
|
+
// }
|
|
826
|
+
```
|
|
827
|
+
|
|
828
|
+
### Debug with Query Plan
|
|
829
|
+
|
|
830
|
+
See the exact Elasticsearch query that will be executed (useful for debugging):
|
|
831
|
+
|
|
832
|
+
```typescript
|
|
833
|
+
const plan = await odin.orders
|
|
834
|
+
.query()
|
|
835
|
+
.where('Status', 'in', ['Active', 'Pending'])
|
|
836
|
+
.where('UpdatedAt', 'gte', '2025-01-01')
|
|
837
|
+
.select('id', 'title', 'properties.*')
|
|
838
|
+
.sortBy('createdAt', 'asc')
|
|
839
|
+
.limit(100)
|
|
840
|
+
.returnQueryPlan();
|
|
841
|
+
|
|
842
|
+
console.log(plan);
|
|
843
|
+
// Shows the Elasticsearch query structure
|
|
844
|
+
```
|
|
845
|
+
|
|
846
|
+
This is equivalent to:
|
|
847
|
+
|
|
848
|
+
```typescript
|
|
849
|
+
const res = await odin.orders.search({
|
|
850
|
+
returnQueryPlan: true,
|
|
851
|
+
query: {
|
|
852
|
+
entity: 'infer',
|
|
853
|
+
type: 'and',
|
|
854
|
+
value: [
|
|
855
|
+
{ columnName: 'Status', operator: 'in', value: ['Active', 'Pending'] },
|
|
856
|
+
{ columnName: 'UpdatedAt', operator: 'gte', value: '2025-01-01' },
|
|
857
|
+
],
|
|
858
|
+
returnProperties: ['id', 'title', 'properties.*'],
|
|
859
|
+
sort: { createdAt: { order: 'asc' } },
|
|
860
|
+
pageSize: 100,
|
|
861
|
+
pageNumber: 0,
|
|
862
|
+
},
|
|
863
|
+
});
|
|
864
|
+
```
|
|
865
|
+
|
|
293
866
|
---
|
|
294
867
|
|
|
295
868
|
## Linking Records
|
|
@@ -333,7 +906,7 @@ await order.unlink(contactId); // Can pass ID string directly
|
|
|
333
906
|
#### Before (Legacy)
|
|
334
907
|
|
|
335
908
|
```typescript
|
|
336
|
-
import { OrderApi } from '@
|
|
909
|
+
import { OrderApi } from '@youfibre/odin-sdk/api-sdk-v2';
|
|
337
910
|
|
|
338
911
|
const api = new OrderApi({
|
|
339
912
|
host: 'api.youfibre.com',
|
|
@@ -357,7 +930,7 @@ await api.applyAction({
|
|
|
357
930
|
#### After (New SDK)
|
|
358
931
|
|
|
359
932
|
```typescript
|
|
360
|
-
import { OdinApiClient } from '@
|
|
933
|
+
import { OdinApiClient } from '@youfibre/odin-sdk';
|
|
361
934
|
|
|
362
935
|
const odin = new OdinApiClient({
|
|
363
936
|
host: 'api.youfibre.com',
|
|
@@ -377,7 +950,7 @@ await order.activateOrder({ ActiveDate: '2025-01-15' });
|
|
|
377
950
|
#### Before (Legacy)
|
|
378
951
|
|
|
379
952
|
```typescript
|
|
380
|
-
import { OrderDb } from '@
|
|
953
|
+
import { OrderDb } from '@youfibre/odin-sdk/db-sdk-v2';
|
|
381
954
|
|
|
382
955
|
const db = new OrderDb(principal, dbService);
|
|
383
956
|
|
|
@@ -397,7 +970,7 @@ await db.applyAction({
|
|
|
397
970
|
#### After (New SDK)
|
|
398
971
|
|
|
399
972
|
```typescript
|
|
400
|
-
import { OdinDbClient } from '@
|
|
973
|
+
import { OdinDbClient } from '@youfibre/odin-sdk';
|
|
401
974
|
|
|
402
975
|
const odin = new OdinDbClient(principal, dbService);
|
|
403
976
|
|
|
@@ -424,10 +997,10 @@ await order.activateOrder({ ActiveDate: '2025-01-15' });
|
|
|
424
997
|
1. **Update imports:**
|
|
425
998
|
```typescript
|
|
426
999
|
// Before
|
|
427
|
-
import { OrderApi, ContactApi } from '@
|
|
1000
|
+
import { OrderApi, ContactApi } from '@youfibre/odin-sdk/api-sdk-v2';
|
|
428
1001
|
|
|
429
1002
|
// After
|
|
430
|
-
import { OdinApiClient } from '@
|
|
1003
|
+
import { OdinApiClient } from '@youfibre/odin-sdk';
|
|
431
1004
|
```
|
|
432
1005
|
|
|
433
1006
|
2. **Replace class instantiation:**
|
|
@@ -479,7 +1052,7 @@ await order.activateOrder({ ActiveDate: '2025-01-15' });
|
|
|
479
1052
|
## Architecture
|
|
480
1053
|
|
|
481
1054
|
```
|
|
482
|
-
@
|
|
1055
|
+
@youfibre/odin-sdk/
|
|
483
1056
|
├── OdinApiClient.ts # Unified API client
|
|
484
1057
|
├── OdinDbClient.ts # Unified DB client
|
|
485
1058
|
├── EntityRegistry.ts # Dynamic entity access
|
|
@@ -538,7 +1111,7 @@ OdinApiClient / OdinDbClient
|
|
|
538
1111
|
### Dynamic Entity Access
|
|
539
1112
|
|
|
540
1113
|
```typescript
|
|
541
|
-
import { EntityRegistry, getAccessor } from '@
|
|
1114
|
+
import { EntityRegistry, getAccessor } from '@youfibre/odin-sdk';
|
|
542
1115
|
|
|
543
1116
|
// Get accessor dynamically by entity name
|
|
544
1117
|
const accessor = getAccessor('Order', provider);
|
|
@@ -567,14 +1140,14 @@ const principal = await odin.getPrincipal();
|
|
|
567
1140
|
|
|
568
1141
|
```typescript
|
|
569
1142
|
// Import property types directly
|
|
570
|
-
import { OrderProperties } from '@
|
|
571
|
-
import { ContactProperties } from '@
|
|
1143
|
+
import { OrderProperties } from '@youfibre/odin-sdk/entities-v2/Order';
|
|
1144
|
+
import { ContactProperties } from '@youfibre/odin-sdk/entities-v2/Contact';
|
|
572
1145
|
|
|
573
1146
|
// Import action property types
|
|
574
|
-
import { ActivateOrderProperties } from '@
|
|
1147
|
+
import { ActivateOrderProperties } from '@youfibre/odin-sdk/actions-v2/ActivateOrderDto';
|
|
575
1148
|
|
|
576
1149
|
// Import record types
|
|
577
|
-
import { OrderRecord } from '@
|
|
1150
|
+
import { OrderRecord } from '@youfibre/odin-sdk/records-v2/OrderRecord';
|
|
578
1151
|
```
|
|
579
1152
|
|
|
580
1153
|
---
|
|
@@ -587,10 +1160,10 @@ Ensure you're importing from the correct paths:
|
|
|
587
1160
|
|
|
588
1161
|
```typescript
|
|
589
1162
|
// ✅ Correct
|
|
590
|
-
import { OdinApiClient } from '@
|
|
1163
|
+
import { OdinApiClient } from '@youfibre/odin-sdk';
|
|
591
1164
|
|
|
592
1165
|
// ❌ Wrong
|
|
593
|
-
import { OdinApiClient } from '@
|
|
1166
|
+
import { OdinApiClient } from '@youfibre/odin-sdk/dist/src/OdinApiClient';
|
|
594
1167
|
```
|
|
595
1168
|
|
|
596
1169
|
### Type Errors on Properties
|
|
@@ -598,7 +1171,7 @@ import { OdinApiClient } from '@d19n/youfibre-odin-sdk/dist/src/OdinApiClient';
|
|
|
598
1171
|
If TypeScript doesn't recognize properties, ensure your SDK is up to date:
|
|
599
1172
|
|
|
600
1173
|
```bash
|
|
601
|
-
npm update @
|
|
1174
|
+
npm update @youfibre/odin-sdk
|
|
602
1175
|
```
|
|
603
1176
|
|
|
604
1177
|
### Action Not Found
|