@ -192,8 +192,8 @@ fn post_organization(
// GET /api/collections?writeOnly=false
#[ get( " /collections " ) ]
fn get_user_collections ( headers : Headers , conn : DbConn ) -> Json Result {
Ok ( Json ( json ! ( {
fn get_user_collections ( headers : Headers , conn : DbConn ) -> Json < Value > {
Json ( json ! ( {
"Data" :
Collection ::find_by_user_uuid ( & headers . user . uuid , & conn )
. iter ( )
@ -201,12 +201,12 @@ fn get_user_collections(headers: Headers, conn: DbConn) -> JsonResult {
. collect ::< Value > ( ) ,
"Object" : "list" ,
"ContinuationToken" : null ,
} ) ) )
} ) )
}
#[ get( " /organizations/<org_id>/collections " ) ]
fn get_org_collections ( org_id : String , _headers : AdminHeaders , conn : DbConn ) -> Json Result {
Ok ( Json ( json ! ( {
fn get_org_collections ( org_id : String , _headers : AdminHeaders , conn : DbConn ) -> Json < Value > {
Json ( json ! ( {
"Data" :
Collection ::find_by_organization ( & org_id , & conn )
. iter ( )
@ -214,7 +214,7 @@ fn get_org_collections(org_id: String, _headers: AdminHeaders, conn: DbConn) ->
. collect ::< Value > ( ) ,
"Object" : "list" ,
"ContinuationToken" : null ,
} ) ) )
} ) )
}
#[ post( " /organizations/<org_id>/collections " , data = " <data> " ) ]
@ -441,30 +441,30 @@ struct OrgIdData {
}
#[ get( " /ciphers/organization-details?<data..> " ) ]
fn get_org_details ( data : Form < OrgIdData > , headers : Headers , conn : DbConn ) -> Json Result {
fn get_org_details ( data : Form < OrgIdData > , headers : Headers , conn : DbConn ) -> Json < Value > {
let ciphers = Cipher ::find_by_org ( & data . organization_id , & conn ) ;
let ciphers_json : Vec < Value > = ciphers
. iter ( )
. map ( | c | c . to_json ( & headers . host , & headers . user . uuid , & conn ) )
. collect ( ) ;
Ok ( Json ( json ! ( {
Json ( json ! ( {
"Data" : ciphers_json ,
"Object" : "list" ,
"ContinuationToken" : null ,
} ) ) )
} ) )
}
#[ get( " /organizations/<org_id>/users " ) ]
fn get_org_users ( org_id : String , _headers : ManagerHeadersLoose , conn : DbConn ) -> Json Result {
fn get_org_users ( org_id : String , _headers : ManagerHeadersLoose , conn : DbConn ) -> Json < Value > {
let users = UserOrganization ::find_by_org ( & org_id , & conn ) ;
let users_json : Vec < Value > = users . iter ( ) . map ( | c | c . to_json_user_details ( & conn ) ) . collect ( ) ;
Ok ( Json ( json ! ( {
Json ( json ! ( {
"Data" : users_json ,
"Object" : "list" ,
"ContinuationToken" : null ,
} ) ) )
} ) )
}
#[ derive(Deserialize) ]
@ -930,15 +930,15 @@ fn post_org_import(
}
#[ get( " /organizations/<org_id>/policies " ) ]
fn list_policies ( org_id : String , _headers : AdminHeaders , conn : DbConn ) -> Json Result {
fn list_policies ( org_id : String , _headers : AdminHeaders , conn : DbConn ) -> Json < Value > {
let policies = OrgPolicy ::find_by_org ( & org_id , & conn ) ;
let policies_json : Vec < Value > = policies . iter ( ) . map ( OrgPolicy ::to_json ) . collect ( ) ;
Ok ( Json ( json ! ( {
Json ( json ! ( {
"Data" : policies_json ,
"Object" : "list" ,
"ContinuationToken" : null
} ) ) )
} ) )
}
#[ get( " /organizations/<org_id>/policies/token?<token> " ) ]
@ -1017,8 +1017,8 @@ fn get_organization_tax(org_id: String, _headers: Headers, _conn: DbConn) -> Emp
}
#[ get( " /plans " ) ]
fn get_plans ( _headers : Headers , _conn : DbConn ) -> Json Result {
Ok ( Json ( json ! ( {
fn get_plans ( _headers : Headers , _conn : DbConn ) -> Json < Value > {
Json ( json ! ( {
"Object" : "list" ,
"Data" : [
{
@ -1065,17 +1065,17 @@ fn get_plans(_headers: Headers, _conn: DbConn) -> JsonResult {
}
] ,
"ContinuationToken" : null
} ) ) )
} ) )
}
#[ get( " /plans/sales-tax-rates " ) ]
fn get_plans_tax_rates ( _headers : Headers , _conn : DbConn ) -> Json Result {
fn get_plans_tax_rates ( _headers : Headers , _conn : DbConn ) -> Json < Value > {
// Prevent a 404 error, which also causes Javascript errors.
Ok ( Json ( json ! ( {
Json ( json ! ( {
"Object" : "list" ,
"Data" : [ ] ,
"ContinuationToken" : null
} ) ) )
} ) )
}
#[ derive(Deserialize, Debug) ]
@ -1128,7 +1128,7 @@ fn import(org_id: String, data: JsonUpcase<OrgImportData>, headers: Headers, con
// If user is not part of the organization, but it exists
} else if UserOrganization ::find_by_email_and_org ( & user_data . Email , & org_id , & conn ) . is_none ( ) {
if let Some ( user ) = User ::find_by_mail ( & user_data . Email , & conn ) {
let user_org_status = if CONFIG . mail_enabled ( ) {
UserOrgStatus ::Invited as i32
} else {
@ -1157,18 +1157,18 @@ fn import(org_id: String, data: JsonUpcase<OrgImportData>, headers: Headers, con
Some ( headers . user . email . clone ( ) ) ,
) ? ;
}
}
}
}
}
// If this flag is enabled, any user that isn't provided in the Users list will be removed (by default they will be kept unless they have Deleted == true)
if data . OverwriteExisting {
for user_org in UserOrganization ::find_by_org_and_type ( & org_id , UserOrgType ::User as i32 , & conn ) {
for user_org in UserOrganization ::find_by_org_and_type ( & org_id , UserOrgType ::User as i32 , & conn ) {
if let Some ( user_email ) = User ::find_by_uuid ( & user_org . user_uuid , & conn ) . map ( | u | u . email ) {
if ! data . Users . iter ( ) . any ( | u | u . Email = = user_email ) {
user_org . delete ( & conn ) ? ;
}
}
}
}
}