pub struct UserReport {
pub event_id: EventId,
pub name: String,
pub email: String,
pub comments: String,
}
Expand description
User feedback for an event as sent by the client to the userfeedback/userreport endpoint.
Historically the “schema” for user report has been “defined” as the set of possible
keyword-arguments sentry.models.UserReport
accepts. Anything the model constructor
accepts goes.
For example, {"email": null}
is only invalid because UserReport(email=None).save()
is. SDKs
may neither send this (historically, in Relay we relaxed this already), but more importantly
the ingest consumer may never receive this… because it would end up crashing the ingest
consumer (while in older versions of Sentry it would simply crash the endpoint).
The database/model schema is a bunch of not-null strings that have (pgsql) defaults, so that’s how we end up with this struct definition.
Fields§
§event_id: EventId
The event ID for which this user feedback is created.
name: String
The user’s name.
email: String
The user’s email address.
comments: String
Comments supplied by the user.
Trait Implementations§
Source§impl Debug for UserReport
impl Debug for UserReport
Source§impl<'de> Deserialize<'de> for UserReport
impl<'de> Deserialize<'de> for UserReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for UserReport
impl RefUnwindSafe for UserReport
impl Send for UserReport
impl Sync for UserReport
impl Unpin for UserReport
impl UnwindSafe for UserReport
Blanket Implementations§
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
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request