pub struct HostedMock {Show 21 fields
pub id: Uuid,
pub org_id: Uuid,
pub project_id: Option<Uuid>,
pub name: String,
pub slug: String,
pub description: Option<String>,
pub config_json: Value,
pub openapi_spec_url: Option<String>,
pub status: String,
pub deployment_url: Option<String>,
pub internal_url: Option<String>,
pub region: String,
pub instance_type: String,
pub health_check_url: Option<String>,
pub last_health_check: Option<DateTime<Utc>>,
pub health_status: String,
pub error_message: Option<String>,
pub metadata_json: Value,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub deleted_at: Option<DateTime<Utc>>,
}Expand description
Hosted mock deployment
Fields§
§id: Uuid§org_id: Uuid§project_id: Option<Uuid>§name: String§slug: String§description: Option<String>§config_json: Value§openapi_spec_url: Option<String>§status: String§deployment_url: Option<String>§internal_url: Option<String>§region: String§instance_type: String§health_check_url: Option<String>§last_health_check: Option<DateTime<Utc>>§health_status: String§error_message: Option<String>§metadata_json: Value§created_at: DateTime<Utc>§updated_at: DateTime<Utc>§deleted_at: Option<DateTime<Utc>>Implementations§
Source§impl HostedMock
impl HostedMock
Sourcepub fn status(&self) -> DeploymentStatus
pub fn status(&self) -> DeploymentStatus
Get status as enum
Sourcepub fn health_status(&self) -> HealthStatus
pub fn health_status(&self) -> HealthStatus
Get health status as enum
Sourcepub fn enabled_protocols(&self) -> Vec<Protocol>
pub fn enabled_protocols(&self) -> Vec<Protocol>
Protocols enabled on this deployment. Persisted inside config_json
(under the "enabled_protocols" key) so we don’t need a schema
migration on first land. Defaults to [Protocol::Http] when missing
or malformed — every deployment gets HTTP, and that’s the only
protocol guaranteed today.
Sourcepub fn upstream_url(&self) -> Option<String>
pub fn upstream_url(&self) -> Option<String>
Optional upstream URL the deployment proxies to when the reality
slider is > 0 (#222). Persisted inside config_json under the
"upstream_url" key so we don’t need a schema migration.
Returns None when no upstream is configured — in that case the
reality slider is a no-op and responses always come from the mock.
Sourcepub fn fly_app_name(&self) -> String
pub fn fly_app_name(&self) -> String
Compute the Fly.io app name used at deploy time.
Mirrors the format built in
mockforge-registry-server::deployment::orchestrator — the orchestrator
is the single source of truth for the on-wire name, but we need the
same value in other subsystems (e.g. Fly Prometheus metric queries in
fly_metrics). Keep this method in lockstep with the orchestrator.
Sourcepub async fn create(
pool: &Pool<Postgres>,
org_id: Uuid,
project_id: Option<Uuid>,
name: &str,
slug: &str,
description: Option<&str>,
config_json: Value,
openapi_spec_url: Option<&str>,
region: Option<&str>,
) -> Result<HostedMock, Error>
pub async fn create( pool: &Pool<Postgres>, org_id: Uuid, project_id: Option<Uuid>, name: &str, slug: &str, description: Option<&str>, config_json: Value, openapi_spec_url: Option<&str>, region: Option<&str>, ) -> Result<HostedMock, Error>
Create a new hosted mock deployment
Sourcepub async fn find_by_id(
pool: &Pool<Postgres>,
id: Uuid,
) -> Result<Option<HostedMock>, Error>
pub async fn find_by_id( pool: &Pool<Postgres>, id: Uuid, ) -> Result<Option<HostedMock>, Error>
Find by ID
Sourcepub async fn find_by_slug(
pool: &Pool<Postgres>,
org_id: Uuid,
slug: &str,
) -> Result<Option<HostedMock>, Error>
pub async fn find_by_slug( pool: &Pool<Postgres>, org_id: Uuid, slug: &str, ) -> Result<Option<HostedMock>, Error>
Find by slug and org
Sourcepub async fn find_active_by_slug(
pool: &Pool<Postgres>,
slug: &str,
) -> Result<Option<HostedMock>, Error>
pub async fn find_active_by_slug( pool: &Pool<Postgres>, slug: &str, ) -> Result<Option<HostedMock>, Error>
Find an active deployment by slug (across all orgs). Used for custom domain routing where only the slug is known from the hostname.
Sourcepub async fn find_by_org(
pool: &Pool<Postgres>,
org_id: Uuid,
) -> Result<Vec<HostedMock>, Error>
pub async fn find_by_org( pool: &Pool<Postgres>, org_id: Uuid, ) -> Result<Vec<HostedMock>, Error>
Find all mocks for an organization
Sourcepub async fn find_by_project(
pool: &Pool<Postgres>,
project_id: Uuid,
) -> Result<Vec<HostedMock>, Error>
pub async fn find_by_project( pool: &Pool<Postgres>, project_id: Uuid, ) -> Result<Vec<HostedMock>, Error>
Find all mocks for a project
Sourcepub async fn update_status(
pool: &Pool<Postgres>,
id: Uuid,
status: DeploymentStatus,
error_message: Option<&str>,
) -> Result<(), Error>
pub async fn update_status( pool: &Pool<Postgres>, id: Uuid, status: DeploymentStatus, error_message: Option<&str>, ) -> Result<(), Error>
Update deployment status
Sourcepub async fn update_urls(
pool: &Pool<Postgres>,
id: Uuid,
deployment_url: Option<&str>,
internal_url: Option<&str>,
) -> Result<(), Error>
pub async fn update_urls( pool: &Pool<Postgres>, id: Uuid, deployment_url: Option<&str>, internal_url: Option<&str>, ) -> Result<(), Error>
Update deployment URLs
Trait Implementations§
Source§impl Clone for HostedMock
impl Clone for HostedMock
Source§fn clone(&self) -> HostedMock
fn clone(&self) -> HostedMock
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HostedMock
impl Debug for HostedMock
Source§impl<'de> Deserialize<'de> for HostedMock
impl<'de> Deserialize<'de> for HostedMock
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<HostedMock, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<HostedMock, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<HostedMock> for DeploymentResponse
impl From<HostedMock> for DeploymentResponse
Source§fn from(mock: HostedMock) -> Self
fn from(mock: HostedMock) -> Self
Source§impl<'a, R> FromRow<'a, R> for HostedMockwhere
R: Row,
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<Uuid>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
String: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<String>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Value: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<DateTime<Utc>>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
DateTime<Utc>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
impl<'a, R> FromRow<'a, R> for HostedMockwhere
R: Row,
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<Uuid>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
String: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<String>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Value: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Option<DateTime<Utc>>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
DateTime<Utc>: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
Source§impl Serialize for HostedMock
impl Serialize for HostedMock
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for HostedMock
impl RefUnwindSafe for HostedMock
impl Send for HostedMock
impl Sync for HostedMock
impl Unpin for HostedMock
impl UnsafeUnpin for HostedMock
impl UnwindSafe for HostedMock
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more