Skip to main content

ProfileEditor

Struct ProfileEditor 

Source
pub struct ProfileEditor {
    pub profile_id: String,
    pub handoff_id: String,
    pub url: String,
    pub expires_at: SystemTime,
    pub start_version: u64,
    pub poll_interval: Duration,
    /* private fields */
}
Expand description

A handle on an open profile editor. Send the person to url; it works until expires_at. There is no save without closing: save_and_close stores the profile and ends the editor, exit ends it without saving.

An expired or used link fails every call with an API error of status 404; an editor that is not running with 409; a failed save with 502 (the editor goes to error: exit and start a new edit; a second save gets 409). Save and exit are never retried automatically.

Fields§

§profile_id: String§handoff_id: String§url: String

The editor link to open in a browser.

§expires_at: SystemTime§start_version: u64

The profile’s version when the editor was opened.

§poll_interval: Duration

How often wait_for_save polls. Default 2 s.

Implementations§

Source§

impl ProfileEditor

Source

pub async fn status(&self) -> Result<EditorState, SolariError>

GET /profiles/:id/editor.

Source

pub async fn save_and_close(&self) -> Result<u64, SolariError>

POST /profiles/:id/editor/save — store the editor’s browser state in the profile and close the editor. Returns the new version.

Source

pub async fn exit(&self) -> Result<(), SolariError>

DELETE /profiles/:id/editor — close the editor without saving.

Source

pub async fn wait_for_save( &self, timeout: Option<Duration>, ) -> Result<u64, SolariError>

Poll the profile list until this profile’s version exceeds start_version (someone saved from the editor page) and return it. Fails with an API error of status 408 when timeout passes or the link expires first. None waits until the link expires.

Trait Implementations§

Source§

impl Clone for ProfileEditor

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ProfileEditor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more