@internxt/sdk 1.4.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +7 -0
- package/dist/auth/index.d.ts +81 -0
- package/dist/auth/index.js +233 -0
- package/dist/auth/types.d.ts +43 -0
- package/dist/auth/types.js +26 -0
- package/dist/drive/backups/index.d.ts +18 -0
- package/dist/drive/backups/index.js +40 -0
- package/dist/drive/backups/types.d.ts +27 -0
- package/dist/drive/backups/types.js +2 -0
- package/dist/drive/index.d.ts +7 -0
- package/dist/drive/index.js +19 -0
- package/dist/drive/payments/index.d.ts +40 -0
- package/dist/drive/payments/index.js +91 -0
- package/dist/drive/payments/types.d.ts +104 -0
- package/dist/drive/payments/types.js +32 -0
- package/dist/drive/referrals/index.d.ts +19 -0
- package/dist/drive/referrals/index.js +51 -0
- package/dist/drive/referrals/types.d.ts +21 -0
- package/dist/drive/referrals/types.js +18 -0
- package/dist/drive/share/index.d.ts +74 -0
- package/dist/drive/share/index.js +156 -0
- package/dist/drive/share/types.d.ts +78 -0
- package/dist/drive/share/types.js +2 -0
- package/dist/drive/storage/index.d.ts +93 -0
- package/dist/drive/storage/index.js +243 -0
- package/dist/drive/storage/types.d.ts +174 -0
- package/dist/drive/storage/types.js +7 -0
- package/dist/drive/trash/index.d.ts +44 -0
- package/dist/drive/trash/index.js +132 -0
- package/dist/drive/trash/types.d.ts +19 -0
- package/dist/drive/trash/types.js +2 -0
- package/dist/drive/users/index.d.ts +67 -0
- package/dist/drive/users/index.js +123 -0
- package/dist/drive/users/types.d.ts +21 -0
- package/dist/drive/users/types.js +2 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +30 -0
- package/dist/network/download.d.ts +8 -0
- package/dist/network/download.js +123 -0
- package/dist/network/errors/codes.d.ts +24 -0
- package/dist/network/errors/codes.js +48 -0
- package/dist/network/errors/context.d.ts +35 -0
- package/dist/network/errors/context.js +39 -0
- package/dist/network/errors/download.d.ts +4 -0
- package/dist/network/errors/download.js +48 -0
- package/dist/network/errors/index.d.ts +3 -0
- package/dist/network/errors/index.js +15 -0
- package/dist/network/errors/upload.d.ts +13 -0
- package/dist/network/errors/upload.js +78 -0
- package/dist/network/index.d.ts +71 -0
- package/dist/network/index.js +310 -0
- package/dist/network/types.d.ts +102 -0
- package/dist/network/types.js +18 -0
- package/dist/network/upload.d.ts +4 -0
- package/dist/network/upload.js +159 -0
- package/dist/photos/devices/index.d.ts +10 -0
- package/dist/photos/devices/index.js +79 -0
- package/dist/photos/index.d.ts +17 -0
- package/dist/photos/index.js +52 -0
- package/dist/photos/photos/index.d.ts +60 -0
- package/dist/photos/photos/index.js +225 -0
- package/dist/photos/shares/index.d.ts +8 -0
- package/dist/photos/shares/index.js +34 -0
- package/dist/photos/types.d.ts +154 -0
- package/dist/photos/types.js +19 -0
- package/dist/photos/users/index.d.ts +7 -0
- package/dist/photos/users/index.js +46 -0
- package/dist/shared/headers/index.d.ts +45 -0
- package/dist/shared/headers/index.js +71 -0
- package/dist/shared/http/client.d.ts +78 -0
- package/dist/shared/http/client.js +166 -0
- package/dist/shared/http/types.d.ts +7 -0
- package/dist/shared/http/types.js +2 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +13 -0
- package/dist/shared/types/apiConnection.d.ts +12 -0
- package/dist/shared/types/apiConnection.js +2 -0
- package/dist/shared/types/appsumo.d.ts +16 -0
- package/dist/shared/types/appsumo.js +12 -0
- package/dist/shared/types/errors.d.ts +4 -0
- package/dist/shared/types/errors.js +27 -0
- package/dist/shared/types/teams.d.ts +9 -0
- package/dist/shared/types/teams.js +2 -0
- package/dist/shared/types/userSettings.d.ts +27 -0
- package/dist/shared/types/userSettings.js +2 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +25 -0
- package/package.json +53 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export interface ProductData {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
metadata: ProductMetadata;
|
|
5
|
+
price: ProductPriceData;
|
|
6
|
+
renewalPeriod: RenewalPeriod;
|
|
7
|
+
}
|
|
8
|
+
export interface ProductMetadata {
|
|
9
|
+
is_drive: boolean;
|
|
10
|
+
is_teams: boolean;
|
|
11
|
+
show: boolean;
|
|
12
|
+
lifetime_tier: LifetimeTier;
|
|
13
|
+
member_tier: keyof typeof StripeMemberTiers;
|
|
14
|
+
simple_name: keyof typeof RenewalPeriod;
|
|
15
|
+
size_bytes: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ProductPriceData {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string | null;
|
|
20
|
+
amount: number;
|
|
21
|
+
monthlyAmount: number;
|
|
22
|
+
type: ProductPriceType;
|
|
23
|
+
currency: string;
|
|
24
|
+
recurring: ProductPriceRecurringData | null;
|
|
25
|
+
}
|
|
26
|
+
export interface ProductPriceRecurringData {
|
|
27
|
+
aggregate_usage: string | null;
|
|
28
|
+
interval: string;
|
|
29
|
+
interval_count: number;
|
|
30
|
+
trial_period_days: number;
|
|
31
|
+
usage_type: string;
|
|
32
|
+
}
|
|
33
|
+
export declare enum RenewalPeriod {
|
|
34
|
+
Monthly = "monthly",
|
|
35
|
+
Annually = "annually",
|
|
36
|
+
Lifetime = "lifetime"
|
|
37
|
+
}
|
|
38
|
+
export declare enum LifetimeTier {
|
|
39
|
+
Lifetime = "lifetime",
|
|
40
|
+
Exclusive = "exclusive-lifetime",
|
|
41
|
+
Infinite = "infinite"
|
|
42
|
+
}
|
|
43
|
+
export declare enum StripeSessionMode {
|
|
44
|
+
Payment = "payment",
|
|
45
|
+
Setup = "setup",
|
|
46
|
+
Subscription = "subscription"
|
|
47
|
+
}
|
|
48
|
+
export declare enum StripeMemberTiers {
|
|
49
|
+
'infinite' = 0,
|
|
50
|
+
'lifetime' = 1,
|
|
51
|
+
'premium' = 2
|
|
52
|
+
}
|
|
53
|
+
export declare enum ProductPriceType {
|
|
54
|
+
Recurring = "recurring",
|
|
55
|
+
OneTime = "one_time"
|
|
56
|
+
}
|
|
57
|
+
export interface CreatePaymentSessionPayload {
|
|
58
|
+
test?: boolean;
|
|
59
|
+
lifetime_tier?: LifetimeTier;
|
|
60
|
+
mode: StripeSessionMode;
|
|
61
|
+
priceId: string;
|
|
62
|
+
successUrl?: string;
|
|
63
|
+
canceledUrl?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface PaymentMethod {
|
|
66
|
+
id: string;
|
|
67
|
+
card: {
|
|
68
|
+
brand: 'amex' | 'diners' | 'discover' | 'jcb' | 'mastercard' | 'unionpay' | 'visa' | 'unknown';
|
|
69
|
+
exp_month: number;
|
|
70
|
+
exp_year: number;
|
|
71
|
+
last4: string;
|
|
72
|
+
};
|
|
73
|
+
created: number;
|
|
74
|
+
}
|
|
75
|
+
export interface Invoice {
|
|
76
|
+
id: string;
|
|
77
|
+
created: number;
|
|
78
|
+
bytesInPlan: number;
|
|
79
|
+
pdf: string;
|
|
80
|
+
}
|
|
81
|
+
export declare type UserSubscription = {
|
|
82
|
+
type: 'free' | 'lifetime';
|
|
83
|
+
} | {
|
|
84
|
+
type: 'subscription';
|
|
85
|
+
amount: number;
|
|
86
|
+
currency: string;
|
|
87
|
+
amountAfterCoupon?: number;
|
|
88
|
+
interval: 'year' | 'month';
|
|
89
|
+
nextPayment: number;
|
|
90
|
+
priceId: string;
|
|
91
|
+
};
|
|
92
|
+
export interface DisplayPrice {
|
|
93
|
+
id: string;
|
|
94
|
+
bytes: number;
|
|
95
|
+
interval: 'year' | 'month' | 'lifetime';
|
|
96
|
+
amount: number;
|
|
97
|
+
}
|
|
98
|
+
export interface CreateCheckoutSessionPayload {
|
|
99
|
+
price_id: string;
|
|
100
|
+
coupon_code?: string;
|
|
101
|
+
success_url: string;
|
|
102
|
+
cancel_url: string;
|
|
103
|
+
customer_email: string;
|
|
104
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProductPriceType = exports.StripeMemberTiers = exports.StripeSessionMode = exports.LifetimeTier = exports.RenewalPeriod = void 0;
|
|
4
|
+
var RenewalPeriod;
|
|
5
|
+
(function (RenewalPeriod) {
|
|
6
|
+
RenewalPeriod["Monthly"] = "monthly";
|
|
7
|
+
RenewalPeriod["Annually"] = "annually";
|
|
8
|
+
RenewalPeriod["Lifetime"] = "lifetime";
|
|
9
|
+
})(RenewalPeriod = exports.RenewalPeriod || (exports.RenewalPeriod = {}));
|
|
10
|
+
var LifetimeTier;
|
|
11
|
+
(function (LifetimeTier) {
|
|
12
|
+
LifetimeTier["Lifetime"] = "lifetime";
|
|
13
|
+
LifetimeTier["Exclusive"] = "exclusive-lifetime";
|
|
14
|
+
LifetimeTier["Infinite"] = "infinite";
|
|
15
|
+
})(LifetimeTier = exports.LifetimeTier || (exports.LifetimeTier = {}));
|
|
16
|
+
var StripeSessionMode;
|
|
17
|
+
(function (StripeSessionMode) {
|
|
18
|
+
StripeSessionMode["Payment"] = "payment";
|
|
19
|
+
StripeSessionMode["Setup"] = "setup";
|
|
20
|
+
StripeSessionMode["Subscription"] = "subscription";
|
|
21
|
+
})(StripeSessionMode = exports.StripeSessionMode || (exports.StripeSessionMode = {}));
|
|
22
|
+
var StripeMemberTiers;
|
|
23
|
+
(function (StripeMemberTiers) {
|
|
24
|
+
StripeMemberTiers[StripeMemberTiers["infinite"] = 0] = "infinite";
|
|
25
|
+
StripeMemberTiers[StripeMemberTiers["lifetime"] = 1] = "lifetime";
|
|
26
|
+
StripeMemberTiers[StripeMemberTiers["premium"] = 2] = "premium";
|
|
27
|
+
})(StripeMemberTiers = exports.StripeMemberTiers || (exports.StripeMemberTiers = {}));
|
|
28
|
+
var ProductPriceType;
|
|
29
|
+
(function (ProductPriceType) {
|
|
30
|
+
ProductPriceType["Recurring"] = "recurring";
|
|
31
|
+
ProductPriceType["OneTime"] = "one_time";
|
|
32
|
+
})(ProductPriceType = exports.ProductPriceType || (exports.ProductPriceType = {}));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ApiSecurity, ApiUrl, AppDetails } from '../../shared';
|
|
2
|
+
import { UserReferral } from './types';
|
|
3
|
+
export * as ReferralTypes from './types';
|
|
4
|
+
export declare class Referrals {
|
|
5
|
+
private readonly client;
|
|
6
|
+
private readonly appDetails;
|
|
7
|
+
private readonly apiSecurity;
|
|
8
|
+
static client(apiUrl: ApiUrl, appDetails: AppDetails, apiSecurity: ApiSecurity): Referrals;
|
|
9
|
+
private constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Returns a list of referrals of this user
|
|
12
|
+
*/
|
|
13
|
+
getReferrals(): Promise<UserReferral[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Returns the needed headers for the module requests
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
private headers;
|
|
19
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.Referrals = exports.ReferralTypes = void 0;
|
|
23
|
+
var headers_1 = require("../../shared/headers");
|
|
24
|
+
var client_1 = require("../../shared/http/client");
|
|
25
|
+
exports.ReferralTypes = __importStar(require("./types"));
|
|
26
|
+
var Referrals = /** @class */ (function () {
|
|
27
|
+
function Referrals(apiUrl, appDetails, apiSecurity) {
|
|
28
|
+
this.client = client_1.HttpClient.create(apiUrl, apiSecurity.unauthorizedCallback);
|
|
29
|
+
this.appDetails = appDetails;
|
|
30
|
+
this.apiSecurity = apiSecurity;
|
|
31
|
+
}
|
|
32
|
+
Referrals.client = function (apiUrl, appDetails, apiSecurity) {
|
|
33
|
+
return new Referrals(apiUrl, appDetails, apiSecurity);
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Returns a list of referrals of this user
|
|
37
|
+
*/
|
|
38
|
+
Referrals.prototype.getReferrals = function () {
|
|
39
|
+
return this.client
|
|
40
|
+
.get('/users-referrals', this.headers());
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Returns the needed headers for the module requests
|
|
44
|
+
* @private
|
|
45
|
+
*/
|
|
46
|
+
Referrals.prototype.headers = function () {
|
|
47
|
+
return (0, headers_1.headersWithTokenAndMnemonic)(this.appDetails.clientName, this.appDetails.clientVersion, this.apiSecurity.token, this.apiSecurity.mnemonic);
|
|
48
|
+
};
|
|
49
|
+
return Referrals;
|
|
50
|
+
}());
|
|
51
|
+
exports.Referrals = Referrals;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare enum ReferralType {
|
|
2
|
+
Storage = "storage"
|
|
3
|
+
}
|
|
4
|
+
export declare enum ReferralKey {
|
|
5
|
+
CreateAccount = "create-account",
|
|
6
|
+
InstallMobileApp = "install-mobile-app",
|
|
7
|
+
ShareFile = "share-file",
|
|
8
|
+
SubscribeToNewsletter = "subscribe-to-newsletter",
|
|
9
|
+
InstallDesktopApp = "install-desktop-app",
|
|
10
|
+
InviteFriends = "invite-friends",
|
|
11
|
+
Invite2Friends = "invite-2-friends",
|
|
12
|
+
CompleteSurvey = "complete-survey"
|
|
13
|
+
}
|
|
14
|
+
export interface UserReferral {
|
|
15
|
+
key: ReferralKey;
|
|
16
|
+
steps: number;
|
|
17
|
+
completedSteps: number;
|
|
18
|
+
isCompleted: boolean;
|
|
19
|
+
credit: number;
|
|
20
|
+
type: ReferralType;
|
|
21
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReferralKey = exports.ReferralType = void 0;
|
|
4
|
+
var ReferralType;
|
|
5
|
+
(function (ReferralType) {
|
|
6
|
+
ReferralType["Storage"] = "storage";
|
|
7
|
+
})(ReferralType = exports.ReferralType || (exports.ReferralType = {}));
|
|
8
|
+
var ReferralKey;
|
|
9
|
+
(function (ReferralKey) {
|
|
10
|
+
ReferralKey["CreateAccount"] = "create-account";
|
|
11
|
+
ReferralKey["InstallMobileApp"] = "install-mobile-app";
|
|
12
|
+
ReferralKey["ShareFile"] = "share-file";
|
|
13
|
+
ReferralKey["SubscribeToNewsletter"] = "subscribe-to-newsletter";
|
|
14
|
+
ReferralKey["InstallDesktopApp"] = "install-desktop-app";
|
|
15
|
+
ReferralKey["InviteFriends"] = "invite-friends";
|
|
16
|
+
ReferralKey["Invite2Friends"] = "invite-2-friends";
|
|
17
|
+
ReferralKey["CompleteSurvey"] = "complete-survey";
|
|
18
|
+
})(ReferralKey = exports.ReferralKey || (exports.ReferralKey = {}));
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { GenerateShareLinkPayload, GetSharedDirectoryPayload, GetShareLinkFolderSizePayload, ListShareLinksResponse, ShareLink, UpdateShareLinkPayload } from './types';
|
|
2
|
+
import { ApiSecurity, ApiUrl, AppDetails } from '../../shared';
|
|
3
|
+
export * as ShareTypes from './types';
|
|
4
|
+
export declare class Share {
|
|
5
|
+
private readonly client;
|
|
6
|
+
private readonly appDetails;
|
|
7
|
+
private readonly apiSecurity;
|
|
8
|
+
static client(apiUrl: ApiUrl, appDetails: AppDetails, apiSecurity: ApiSecurity): Share;
|
|
9
|
+
private constructor();
|
|
10
|
+
/**
|
|
11
|
+
* Fetches the list of shared items
|
|
12
|
+
*/
|
|
13
|
+
getShareLinks(page?: number, perPage?: number, orderBy?: 'views:ASC' | 'views:DESC' | 'createdAt:ASC' | 'createdAt:DESC'): Promise<ListShareLinksResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new link to share a file or folder
|
|
16
|
+
* @param payload
|
|
17
|
+
*/
|
|
18
|
+
createShareLink(payload: GenerateShareLinkPayload): Promise<{
|
|
19
|
+
created: boolean;
|
|
20
|
+
token: string;
|
|
21
|
+
code: string;
|
|
22
|
+
}>;
|
|
23
|
+
/**
|
|
24
|
+
* Update share link
|
|
25
|
+
* @param payload
|
|
26
|
+
*/
|
|
27
|
+
updateShareLink(payload: UpdateShareLinkPayload): Promise<ShareLink>;
|
|
28
|
+
/**
|
|
29
|
+
* Delete share link by id
|
|
30
|
+
* @param payload
|
|
31
|
+
*/
|
|
32
|
+
deleteShareLink(shareId: string): Promise<{
|
|
33
|
+
deleted: boolean;
|
|
34
|
+
shareId: string;
|
|
35
|
+
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Increment share view by token
|
|
38
|
+
* @param token
|
|
39
|
+
*/
|
|
40
|
+
incrementShareViewByToken(token: string): Promise<{
|
|
41
|
+
incremented: boolean;
|
|
42
|
+
token: string;
|
|
43
|
+
}>;
|
|
44
|
+
/**
|
|
45
|
+
* Fetches data of a shared file
|
|
46
|
+
* @param token
|
|
47
|
+
*/
|
|
48
|
+
getShareLink(token: string, password?: string): Promise<ShareLink>;
|
|
49
|
+
/**
|
|
50
|
+
* Fetches paginated folders or files of a specific share link
|
|
51
|
+
* @param payload
|
|
52
|
+
*/
|
|
53
|
+
getShareLinkDirectory(payload: GetSharedDirectoryPayload): Promise<any>;
|
|
54
|
+
/**
|
|
55
|
+
* Get size of folder in share links
|
|
56
|
+
* @param payload
|
|
57
|
+
*/
|
|
58
|
+
getShareLinkFolderSize(payload: GetShareLinkFolderSizePayload): Promise<any>;
|
|
59
|
+
/**
|
|
60
|
+
* Returns the needed headers for the module requests
|
|
61
|
+
* @private
|
|
62
|
+
*/
|
|
63
|
+
private headers;
|
|
64
|
+
/**
|
|
65
|
+
* Returns the needed headers for the module requests
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private basicHeaders;
|
|
69
|
+
/**
|
|
70
|
+
* Used to send the password in shares
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
private basicHeadersWithPassword;
|
|
74
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
22
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
23
|
+
if (ar || !(i in from)) {
|
|
24
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
25
|
+
ar[i] = from[i];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.Share = exports.ShareTypes = void 0;
|
|
32
|
+
var headers_1 = require("../../shared/headers");
|
|
33
|
+
var client_1 = require("../../shared/http/client");
|
|
34
|
+
exports.ShareTypes = __importStar(require("./types"));
|
|
35
|
+
var Share = /** @class */ (function () {
|
|
36
|
+
function Share(apiUrl, appDetails, apiSecurity) {
|
|
37
|
+
this.client = client_1.HttpClient.create(apiUrl, apiSecurity.unauthorizedCallback);
|
|
38
|
+
this.appDetails = appDetails;
|
|
39
|
+
this.apiSecurity = apiSecurity;
|
|
40
|
+
}
|
|
41
|
+
Share.client = function (apiUrl, appDetails, apiSecurity) {
|
|
42
|
+
return new Share(apiUrl, appDetails, apiSecurity);
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Fetches the list of shared items
|
|
46
|
+
*/
|
|
47
|
+
Share.prototype.getShareLinks = function (page, perPage, orderBy) {
|
|
48
|
+
if (page === void 0) { page = 0; }
|
|
49
|
+
if (perPage === void 0) { perPage = 50; }
|
|
50
|
+
var orderByQueryParam = orderBy ? "&orderBy=" + orderBy : '';
|
|
51
|
+
return this.client.get("/storage/share/list?page=" + page + "&perPage=" + perPage + orderByQueryParam, this.headers());
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Creates a new link to share a file or folder
|
|
55
|
+
* @param payload
|
|
56
|
+
*/
|
|
57
|
+
Share.prototype.createShareLink = function (payload) {
|
|
58
|
+
var types = ['file', 'folder'];
|
|
59
|
+
if (!types.includes(payload.type)) {
|
|
60
|
+
throw new Error('Invalid type');
|
|
61
|
+
}
|
|
62
|
+
return this.client.post("/storage/share/" + payload.type + "/" + payload.itemId, {
|
|
63
|
+
timesValid: payload.timesValid,
|
|
64
|
+
encryptedMnemonic: payload.encryptedMnemonic,
|
|
65
|
+
itemToken: payload.itemToken,
|
|
66
|
+
bucket: payload.bucket,
|
|
67
|
+
encryptedCode: payload.encryptedCode,
|
|
68
|
+
plainPassword: payload.plainPassword,
|
|
69
|
+
}, this.headers());
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Update share link
|
|
73
|
+
* @param payload
|
|
74
|
+
*/
|
|
75
|
+
Share.prototype.updateShareLink = function (payload) {
|
|
76
|
+
return this.client.put("/storage/share/" + payload.itemId, {
|
|
77
|
+
plainPassword: payload.plainPassword,
|
|
78
|
+
}, this.headers());
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Delete share link by id
|
|
82
|
+
* @param payload
|
|
83
|
+
*/
|
|
84
|
+
Share.prototype.deleteShareLink = function (shareId) {
|
|
85
|
+
return this.client.delete("/storage/share/" + shareId, this.headers());
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Increment share view by token
|
|
89
|
+
* @param token
|
|
90
|
+
*/
|
|
91
|
+
Share.prototype.incrementShareViewByToken = function (token) {
|
|
92
|
+
return this.client.put("/storage/share/" + token + "/view", {}, this.headers());
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Fetches data of a shared file
|
|
96
|
+
* @param token
|
|
97
|
+
*/
|
|
98
|
+
Share.prototype.getShareLink = function (token, password) {
|
|
99
|
+
var headers = password ? this.basicHeadersWithPassword(password) : this.basicHeaders();
|
|
100
|
+
return this.client.get("/storage/share/" + token, headers);
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Fetches paginated folders or files of a specific share link
|
|
104
|
+
* @param payload
|
|
105
|
+
*/
|
|
106
|
+
Share.prototype.getShareLinkDirectory = function (payload) {
|
|
107
|
+
var types = ['file', 'folder'];
|
|
108
|
+
if (!types.includes(payload.type)) {
|
|
109
|
+
throw new Error('Invalid type');
|
|
110
|
+
}
|
|
111
|
+
var headers = this.basicHeaders();
|
|
112
|
+
if (payload.password) {
|
|
113
|
+
headers = this.basicHeadersWithPassword(payload.password);
|
|
114
|
+
}
|
|
115
|
+
return this.client.get("/storage/share/down/" + payload.type + "s?token=" + payload.token + "&folderId=" + payload.folderId + "&parentId=" + payload.parentId + "&page=" + payload.page + "&perPage=" + payload.perPage + (payload.code ? '&code=' + payload.code : ''), headers);
|
|
116
|
+
};
|
|
117
|
+
/**
|
|
118
|
+
* Get size of folder in share links
|
|
119
|
+
* @param payload
|
|
120
|
+
*/
|
|
121
|
+
Share.prototype.getShareLinkFolderSize = function (payload) {
|
|
122
|
+
return this.client.get("/storage/share/" + payload.itemId + "/folder/" + payload.folderId + "/size", this.basicHeaders());
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Returns the needed headers for the module requests
|
|
126
|
+
* @private
|
|
127
|
+
*/
|
|
128
|
+
Share.prototype.headers = function (password) {
|
|
129
|
+
var args = [
|
|
130
|
+
this.appDetails.clientName,
|
|
131
|
+
this.appDetails.clientVersion,
|
|
132
|
+
this.apiSecurity.token,
|
|
133
|
+
this.apiSecurity.mnemonic,
|
|
134
|
+
];
|
|
135
|
+
if (password) {
|
|
136
|
+
return headers_1.headersWithTokenAndMnemonicAndPassword.apply(void 0, __spreadArray(__spreadArray([], args, false), [password], false));
|
|
137
|
+
}
|
|
138
|
+
return headers_1.headersWithTokenAndMnemonic.apply(void 0, args);
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Returns the needed headers for the module requests
|
|
142
|
+
* @private
|
|
143
|
+
*/
|
|
144
|
+
Share.prototype.basicHeaders = function () {
|
|
145
|
+
return (0, headers_1.basicHeaders)(this.appDetails.clientName, this.appDetails.clientVersion);
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Used to send the password in shares
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
151
|
+
Share.prototype.basicHeadersWithPassword = function (password) {
|
|
152
|
+
return (0, headers_1.basicHeadersWithPassword)(this.appDetails.clientName, this.appDetails.clientVersion, password);
|
|
153
|
+
};
|
|
154
|
+
return Share;
|
|
155
|
+
}());
|
|
156
|
+
exports.Share = Share;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export interface GenerateShareLinkPayload {
|
|
2
|
+
itemId: string;
|
|
3
|
+
type: string;
|
|
4
|
+
encryptedMnemonic: string;
|
|
5
|
+
itemToken: string;
|
|
6
|
+
bucket: string;
|
|
7
|
+
timesValid: number;
|
|
8
|
+
encryptedCode: string;
|
|
9
|
+
plainPassword?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface UpdateShareLinkPayload {
|
|
12
|
+
itemId: string;
|
|
13
|
+
plainPassword: string | null;
|
|
14
|
+
}
|
|
15
|
+
export interface GetSharedDirectoryPayload {
|
|
16
|
+
type: string;
|
|
17
|
+
token: string;
|
|
18
|
+
folderId: number;
|
|
19
|
+
parentId: number;
|
|
20
|
+
page: number;
|
|
21
|
+
perPage: number;
|
|
22
|
+
code?: string;
|
|
23
|
+
password?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface GetShareLinkFolderSizePayload {
|
|
26
|
+
itemId: string;
|
|
27
|
+
folderId: string;
|
|
28
|
+
}
|
|
29
|
+
export interface ShareLink {
|
|
30
|
+
id: string;
|
|
31
|
+
token: string;
|
|
32
|
+
mnemonic: string;
|
|
33
|
+
user: any;
|
|
34
|
+
item: any;
|
|
35
|
+
encryptionKey: string;
|
|
36
|
+
bucket: string;
|
|
37
|
+
itemToken: string;
|
|
38
|
+
isFolder: boolean;
|
|
39
|
+
views: number;
|
|
40
|
+
timesValid: number;
|
|
41
|
+
active: boolean;
|
|
42
|
+
createdAt: string;
|
|
43
|
+
updatedAt: string;
|
|
44
|
+
fileSize: number;
|
|
45
|
+
hashed_password: string | null;
|
|
46
|
+
code: string;
|
|
47
|
+
}
|
|
48
|
+
export interface SharedDirectoryFolders {
|
|
49
|
+
folders: SharedDirectoryFolder[];
|
|
50
|
+
last: boolean;
|
|
51
|
+
}
|
|
52
|
+
export interface SharedDirectoryFolder {
|
|
53
|
+
id: number;
|
|
54
|
+
name: string;
|
|
55
|
+
}
|
|
56
|
+
export interface SharedDirectoryFiles {
|
|
57
|
+
files: SharedDirectoryFile[];
|
|
58
|
+
last: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface SharedDirectoryFile {
|
|
61
|
+
id: string;
|
|
62
|
+
name: string;
|
|
63
|
+
type: string;
|
|
64
|
+
size: number;
|
|
65
|
+
encryptionKey: string;
|
|
66
|
+
}
|
|
67
|
+
export declare type ListShareLinksItem = Pick<ShareLink, 'id' | 'token' | 'views' | 'timesValid' | 'active' | 'isFolder' | 'createdAt' | 'updatedAt' | 'fileSize'> & {
|
|
68
|
+
item: unknown;
|
|
69
|
+
};
|
|
70
|
+
export declare type ListShareLinksResponse = {
|
|
71
|
+
items: ListShareLinksItem[];
|
|
72
|
+
pagination: {
|
|
73
|
+
page: number;
|
|
74
|
+
perPage: number;
|
|
75
|
+
countAll: number;
|
|
76
|
+
orderBy?: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { CreateFolderPayload, CreateFolderResponse, DeleteFilePayload, DriveFileData, FetchFolderContentResponse, FileEntry, MoveFilePayload, MoveFileResponse, MoveFolderPayload, MoveFolderResponse, UpdateFilePayload, UpdateFolderMetadataPayload, FetchLimitResponse, UsageResponse, AddItemsToTrashPayload, ThumbnailEntry, Thumbnail } from './types';
|
|
2
|
+
import { ApiSecurity, ApiUrl, AppDetails } from '../../shared';
|
|
3
|
+
import { RequestCanceler } from '../../shared/http/client';
|
|
4
|
+
export * as StorageTypes from './types';
|
|
5
|
+
export declare class Storage {
|
|
6
|
+
private readonly client;
|
|
7
|
+
private readonly appDetails;
|
|
8
|
+
private readonly apiSecurity;
|
|
9
|
+
static client(apiUrl: ApiUrl, appDetails: AppDetails, apiSecurity: ApiSecurity): Storage;
|
|
10
|
+
private constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new folder
|
|
13
|
+
* @param payload
|
|
14
|
+
*/
|
|
15
|
+
createFolder(payload: CreateFolderPayload): [Promise<CreateFolderResponse>, RequestCanceler];
|
|
16
|
+
/**
|
|
17
|
+
* Moves a specific folder to a new location
|
|
18
|
+
* @param payload
|
|
19
|
+
*/
|
|
20
|
+
moveFolder(payload: MoveFolderPayload): Promise<MoveFolderResponse>;
|
|
21
|
+
/**
|
|
22
|
+
* Updates the metadata of a folder
|
|
23
|
+
* @param payload
|
|
24
|
+
*/
|
|
25
|
+
updateFolder(payload: UpdateFolderMetadataPayload): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Fetches & returns the contents of a specific folder
|
|
28
|
+
* @param folderId
|
|
29
|
+
*/
|
|
30
|
+
getFolderContent(folderId: number, trash?: boolean): [Promise<FetchFolderContentResponse>, RequestCanceler];
|
|
31
|
+
/**
|
|
32
|
+
* Removes a specific folder from the centralized persistence
|
|
33
|
+
* @param folderId
|
|
34
|
+
*/
|
|
35
|
+
deleteFolder(folderId: number): Promise<unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Returns the total size of a folder
|
|
38
|
+
* @param folderId
|
|
39
|
+
*/
|
|
40
|
+
getFolderSize(folderId: number): Promise<number>;
|
|
41
|
+
/**
|
|
42
|
+
* Creates a new file entry
|
|
43
|
+
* @param fileEntry
|
|
44
|
+
*/
|
|
45
|
+
createFileEntry(fileEntry: FileEntry): Promise<DriveFileData>;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new thumbnail entry
|
|
48
|
+
* @param thumbnailEntry
|
|
49
|
+
*/
|
|
50
|
+
createThumbnailEntry(thumbnailEntry: ThumbnailEntry): Promise<Thumbnail>;
|
|
51
|
+
/**
|
|
52
|
+
* Updates the details of a file entry
|
|
53
|
+
* @param payload
|
|
54
|
+
*/
|
|
55
|
+
updateFile(payload: UpdateFilePayload): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Deletes a specific file entry
|
|
58
|
+
* @param payload
|
|
59
|
+
*/
|
|
60
|
+
deleteFile(payload: DeleteFilePayload): Promise<unknown>;
|
|
61
|
+
/**
|
|
62
|
+
* Updates the persisted path of a file entry
|
|
63
|
+
* @param payload
|
|
64
|
+
*/
|
|
65
|
+
moveFile(payload: MoveFilePayload): Promise<MoveFileResponse>;
|
|
66
|
+
/**
|
|
67
|
+
* Returns a list of the n most recent files
|
|
68
|
+
* @param limit
|
|
69
|
+
*/
|
|
70
|
+
getRecentFiles(limit: number): Promise<DriveFileData[]>;
|
|
71
|
+
/**
|
|
72
|
+
* Returns a list of items in trash
|
|
73
|
+
*/
|
|
74
|
+
getTrash(): [Promise<FetchFolderContentResponse>, RequestCanceler];
|
|
75
|
+
/**
|
|
76
|
+
* Add Items to Trash
|
|
77
|
+
* @param payload
|
|
78
|
+
*/
|
|
79
|
+
addItemsToTrash(payload: AddItemsToTrashPayload): Promise<unknown>;
|
|
80
|
+
/**
|
|
81
|
+
* Returns the current space usage of the user
|
|
82
|
+
*/
|
|
83
|
+
spaceUsage(): Promise<UsageResponse>;
|
|
84
|
+
/**
|
|
85
|
+
* Returns the current space limit for the user
|
|
86
|
+
*/
|
|
87
|
+
spaceLimit(): Promise<FetchLimitResponse>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns the needed headers for the module requests
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
private headers;
|
|
93
|
+
}
|