refactor: rename dc_sqlite3 to sql

This commit is contained in:
dignifiedquire
2019-07-12 21:57:34 +02:00
parent f3884e30ac
commit 8714599655
25 changed files with 377 additions and 417 deletions

View File

@@ -4,8 +4,8 @@ use percent_encoding::{utf8_percent_encode, DEFAULT_ENCODE_SET};
use serde::Deserialize;
use crate::context::Context;
use crate::dc_sqlite3::*;
use crate::dc_tools::*;
use crate::sql;
const OAUTH2_GMAIL: Oauth2 = Oauth2 {
client_id: "959970109878-4mvtgf6feshskf7695nfln6002mom908.apps.googleusercontent.com",
@@ -49,7 +49,7 @@ pub fn dc_get_oauth2_url(
redirect_uri: impl AsRef<str>,
) -> Option<String> {
if let Some(oauth2) = Oauth2::from_address(addr) {
dc_sqlite3_set_config(
sql::set_config(
context,
&context.sql,
"oauth2_pending_redirect_uri",
@@ -78,45 +78,42 @@ pub fn dc_get_oauth2_access_token(
// read generated token
if 0 == flags & 0x1 && !is_expired(context) {
let access_token =
dc_sqlite3_get_config(context, &context.sql, "oauth2_access_token", None);
let access_token = sql::get_config(context, &context.sql, "oauth2_access_token", None);
if access_token.is_some() {
// success
return access_token;
}
}
let refresh_token =
dc_sqlite3_get_config(context, &context.sql, "oauth2_refresh_token", None);
let refresh_token = sql::get_config(context, &context.sql, "oauth2_refresh_token", None);
let refresh_token_for =
dc_sqlite3_get_config(context, &context.sql, "oauth2_refresh_token_for", None)
sql::get_config(context, &context.sql, "oauth2_refresh_token_for", None)
.unwrap_or_else(|| "unset".into());
let (redirect_uri, token_url, update_redirect_uri_on_success) = if refresh_token.is_none()
|| refresh_token_for != code.as_ref()
{
info!(
context,
0, "Generate OAuth2 refresh_token and access_token...",
);
(
dc_sqlite3_get_config(context, &context.sql, "oauth2_pending_redirect_uri", None)
.unwrap_or_else(|| "unset".into()),
oauth2.init_token,
true,
)
} else {
info!(
context,
0, "Regenerate OAuth2 access_token by refresh_token...",
);
(
dc_sqlite3_get_config(context, &context.sql, "oauth2_redirect_uri", None)
.unwrap_or_else(|| "unset".into()),
oauth2.refresh_token,
false,
)
};
let (redirect_uri, token_url, update_redirect_uri_on_success) =
if refresh_token.is_none() || refresh_token_for != code.as_ref() {
info!(
context,
0, "Generate OAuth2 refresh_token and access_token...",
);
(
sql::get_config(context, &context.sql, "oauth2_pending_redirect_uri", None)
.unwrap_or_else(|| "unset".into()),
oauth2.init_token,
true,
)
} else {
info!(
context,
0, "Regenerate OAuth2 access_token by refresh_token...",
);
(
sql::get_config(context, &context.sql, "oauth2_redirect_uri", None)
.unwrap_or_else(|| "unset".into()),
oauth2.refresh_token,
false,
)
};
let mut token_url = replace_in_uri(&token_url, "$CLIENT_ID", oauth2.client_id);
token_url = replace_in_uri(&token_url, "$REDIRECT_URI", &redirect_uri);
token_url = replace_in_uri(&token_url, "$CODE", code.as_ref());
@@ -155,8 +152,8 @@ pub fn dc_get_oauth2_access_token(
println!("response: {:?}", &parsed);
let response = parsed.unwrap();
if let Some(ref token) = response.refresh_token {
dc_sqlite3_set_config(context, &context.sql, "oauth2_refresh_token", Some(token));
dc_sqlite3_set_config(
sql::set_config(context, &context.sql, "oauth2_refresh_token", Some(token));
sql::set_config(
context,
&context.sql,
"oauth2_refresh_token_for",
@@ -167,13 +164,13 @@ pub fn dc_get_oauth2_access_token(
// after that, save the access token.
// if it's unset, we may get it in the next round as we have the refresh_token now.
if let Some(ref token) = response.access_token {
dc_sqlite3_set_config(context, &context.sql, "oauth2_access_token", Some(token));
sql::set_config(context, &context.sql, "oauth2_access_token", Some(token));
let expires_in = response
.expires_in
// refresh a bet before
.map(|t| time() + t as i64 - 5)
.unwrap_or_else(|| 0);
dc_sqlite3_set_config_int64(
sql::set_config_int64(
context,
&context.sql,
"oauth2_timestamp_expires",
@@ -181,7 +178,7 @@ pub fn dc_get_oauth2_access_token(
);
if update_redirect_uri_on_success {
dc_sqlite3_set_config(
sql::set_config(
context,
&context.sql,
"oauth2_redirect_uri",
@@ -300,7 +297,7 @@ impl Oauth2 {
fn is_expired(context: &Context) -> bool {
let expire_timestamp =
dc_sqlite3_get_config_int64(context, &context.sql, "oauth2_timestamp_expires", Some(0));
sql::get_config_int64(context, &context.sql, "oauth2_timestamp_expires", Some(0));
if expire_timestamp <= 0 {
return false;