pub struct Organization {
pub id: Uuid,
pub name: String,
pub slug: String,
pub owner_id: Uuid,
pub plan: String,
pub limits_json: Value,
pub stripe_customer_id: Option<String>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
Organization model
Fields§
§id: Uuid§name: String§slug: String§owner_id: Uuid§plan: String§limits_json: Value§stripe_customer_id: Option<String>§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl Organization
impl Organization
Sourcepub async fn create(
pool: &Pool<Postgres>,
name: &str,
slug: &str,
owner_id: Uuid,
plan: Plan,
) -> Result<Organization, Error>
pub async fn create( pool: &Pool<Postgres>, name: &str, slug: &str, owner_id: Uuid, plan: Plan, ) -> Result<Organization, Error>
Create a new organization Also creates the owner membership automatically
Sourcepub async fn find_by_id(
pool: &Pool<Postgres>,
id: Uuid,
) -> Result<Option<Organization>, Error>
pub async fn find_by_id( pool: &Pool<Postgres>, id: Uuid, ) -> Result<Option<Organization>, Error>
Find organization by ID
Sourcepub async fn find_by_slug(
pool: &Pool<Postgres>,
slug: &str,
) -> Result<Option<Organization>, Error>
pub async fn find_by_slug( pool: &Pool<Postgres>, slug: &str, ) -> Result<Option<Organization>, Error>
Find organization by slug
Sourcepub async fn find_by_user(
pool: &Pool<Postgres>,
user_id: Uuid,
) -> Result<Vec<Organization>, Error>
pub async fn find_by_user( pool: &Pool<Postgres>, user_id: Uuid, ) -> Result<Vec<Organization>, Error>
Get organizations for a user (as owner or member)
Sourcepub async fn get_or_create_personal_org(
pool: &Pool<Postgres>,
user_id: Uuid,
username: &str,
) -> Result<Organization, Error>
pub async fn get_or_create_personal_org( pool: &Pool<Postgres>, user_id: Uuid, username: &str, ) -> Result<Organization, Error>
Get or create user’s personal organization This ensures every user has at least one org (backward compatibility)
Trait Implementations§
Source§impl Clone for Organization
impl Clone for Organization
Source§fn clone(&self) -> Organization
fn clone(&self) -> Organization
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Organization
impl Debug for Organization
Source§impl<'de> Deserialize<'de> for Organization
impl<'de> Deserialize<'de> for Organization
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Organization, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Organization, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a, R> FromRow<'a, R> for Organizationwhere
R: Row,
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
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<String>: 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 Organizationwhere
R: Row,
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, <R as Row>::Database> + Type<<R as Row>::Database>,
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<String>: 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 Organization
impl Serialize for Organization
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for Organization
impl RefUnwindSafe for Organization
impl Send for Organization
impl Sync for Organization
impl Unpin for Organization
impl UnsafeUnpin for Organization
impl UnwindSafe for Organization
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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 moreCreates a shared type from an unshared type.