This commit is contained in:
fyears
2024-06-22 21:03:43 +08:00
parent 690f56945a
commit cc0a286471
37 changed files with 1165 additions and 140 deletions
+47 -16
View File
@@ -1,10 +1,29 @@
////////////////////////////////////////////////////////////
// hacks
////////////////////////////////////////////////////////////
declare global {
var DEFAULT_REMOTELYSAVE_WEBSITE: string;
var DEFAULT_REMOTELYSAVE_CLIENT_ID: string;
var DEFAULT_GOOGLEDRIVE_CLIENT_ID: string;
var DEFAULT_GOOGLEDRIVE_CLIENT_SECRET: string;
var DEFAULT_BOX_CLIENT_ID: string;
var DEFAULT_BOX_CLIENT_SECRET: string;
var DEFAULT_PCLOUD_CLIENT_ID: string;
var DEFAULT_PCLOUD_CLIENT_SECRET: string;
var DEFAULT_YANDEXDISK_CLIENT_ID: string;
var DEFAULT_YANDEXDISK_CLIENT_SECRET: string;
var DEFAULT_KOOFR_CLIENT_ID: string;
var DEFAULT_KOOFR_CLIENT_SECRET: string;
}
///////////////////////////////////////////////////////////
// PRO
//////////////////////////////////////////////////////////
export const COMMAND_CALLBACK_PRO = "remotely-save-cb-pro";
export const PRO_CLIENT_ID = process.env.DEFAULT_REMOTELYSAVE_CLIENT_ID;
export const PRO_WEBSITE = process.env.DEFAULT_REMOTELYSAVE_WEBSITE;
export const PRO_CLIENT_ID = global.DEFAULT_REMOTELYSAVE_CLIENT_ID;
export const PRO_WEBSITE = global.DEFAULT_REMOTELYSAVE_WEBSITE;
export type PRO_FEATURE_TYPE =
| "feature-smart_conflict"
@@ -12,7 +31,8 @@ export type PRO_FEATURE_TYPE =
| "feature-box"
| "feature-pcloud"
| "feature-yandex_disk"
| "feature-koofr";
| "feature-koofr"
| "feature-azure_blob_storage";
export interface FeatureInfo {
featureName: PRO_FEATURE_TYPE;
@@ -51,18 +71,17 @@ export interface GoogleDriveConfig {
kind: "googledrive";
}
export const DEFAULT_GOOGLEDRIVE_CLIENT_ID =
process.env.DEFAULT_GOOGLEDRIVE_CLIENT_ID;
export const DEFAULT_GOOGLEDRIVE_CLIENT_SECRET =
process.env.DEFAULT_GOOGLEDRIVE_CLIENT_SECRET;
export const GOOGLEDRIVE_CLIENT_ID = global.DEFAULT_GOOGLEDRIVE_CLIENT_ID;
export const GOOGLEDRIVE_CLIENT_SECRET =
global.DEFAULT_GOOGLEDRIVE_CLIENT_SECRET;
///////////////////////////////////////////////////////////
// box
//////////////////////////////////////////////////////////
export const COMMAND_CALLBACK_BOX = "remotely-save-cb-box";
export const BOX_CLIENT_ID = process.env.DEFAULT_BOX_CLIENT_ID;
export const BOX_CLIENT_SECRET = process.env.DEFAULT_BOX_CLIENT_SECRET;
export const BOX_CLIENT_ID = global.DEFAULT_BOX_CLIENT_ID;
export const BOX_CLIENT_SECRET = global.DEFAULT_BOX_CLIENT_SECRET;
export interface BoxConfig {
accessToken: string;
@@ -79,8 +98,8 @@ export interface BoxConfig {
//////////////////////////////////////////////////////////
export const COMMAND_CALLBACK_PCLOUD = "remotely-save-cb-pcloud";
export const PCLOUD_CLIENT_ID = process.env.DEFAULT_PCLOUD_CLIENT_ID;
export const PCLOUD_CLIENT_SECRET = process.env.DEFAULT_PCLOUD_CLIENT_SECRET;
export const PCLOUD_CLIENT_ID = global.DEFAULT_PCLOUD_CLIENT_ID;
export const PCLOUD_CLIENT_SECRET = global.DEFAULT_PCLOUD_CLIENT_SECRET;
export interface PCloudConfig {
accessToken: string;
@@ -101,9 +120,8 @@ export interface PCloudConfig {
//////////////////////////////////////////////////////////
export const COMMAND_CALLBACK_YANDEXDISK = "remotely-save-cb-yandexdisk";
export const YANDEXDISK_CLIENT_ID = process.env.DEFAULT_YANDEXDISK_CLIENT_ID;
export const YANDEXDISK_CLIENT_SECRET =
process.env.DEFAULT_YANDEXDISK_CLIENT_SECRET;
export const YANDEXDISK_CLIENT_ID = global.DEFAULT_YANDEXDISK_CLIENT_ID;
export const YANDEXDISK_CLIENT_SECRET = global.DEFAULT_YANDEXDISK_CLIENT_SECRET;
export interface YandexDiskConfig {
accessToken: string;
@@ -121,8 +139,8 @@ export interface YandexDiskConfig {
//////////////////////////////////////////////////////////
export const COMMAND_CALLBACK_KOOFR = "remotely-save-cb-koofr";
export const KOOFR_CLIENT_ID = process.env.DEFAULT_KOOFR_CLIENT_ID;
export const KOOFR_CLIENT_SECRET = process.env.DEFAULT_KOOFR_CLIENT_SECRET;
export const KOOFR_CLIENT_ID = global.DEFAULT_KOOFR_CLIENT_ID;
export const KOOFR_CLIENT_SECRET = global.DEFAULT_KOOFR_CLIENT_SECRET;
export interface KoofrConfig {
accessToken: string;
@@ -136,3 +154,16 @@ export interface KoofrConfig {
mountID: string;
kind: "koofr";
}
///////////////////////////////////////////////////////////
// Azure Blob Storage
//////////////////////////////////////////////////////////
export interface AzureBlobStorageConfig {
containerSasUrl: string;
containerName: string;
remotePrefix: string;
generateFolderObject: boolean;
partsConcurrency: number;
kind: "azureblobstorage";
}