Skip to main content

haste_repository/
sequence.rs

1use haste_fhir_model::r4::{
2    generated::resources::{Resource, ResourceType},
3    sqlx::FHIRJson,
4};
5use haste_fhir_operation_error::OperationOutcomeError;
6use haste_jwt::{ProjectId, ResourceId, TenantId};
7
8use crate::types::FHIRMethod;
9
10#[derive(Clone)]
11pub struct ResourcePollingValue {
12    pub id: ResourceId,
13    pub resource_type: ResourceType,
14    pub version_id: String,
15    pub project: ProjectId,
16    pub tenant: TenantId,
17    pub resource: FHIRJson<Resource>,
18    pub sequence: i64,
19    pub fhir_method: FHIRMethod,
20}
21
22pub trait ResourceSequential {
23    fn get_sequence(
24        &self,
25        tenant_id: &TenantId,
26        sequence_id: u64,
27        count: Option<u64>,
28    ) -> impl Future<Output = Result<Vec<ResourcePollingValue>, OperationOutcomeError>> + Send;
29}