@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.
Files changed (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -0
  3. package/dist/auth/index.d.ts +81 -0
  4. package/dist/auth/index.js +233 -0
  5. package/dist/auth/types.d.ts +43 -0
  6. package/dist/auth/types.js +26 -0
  7. package/dist/drive/backups/index.d.ts +18 -0
  8. package/dist/drive/backups/index.js +40 -0
  9. package/dist/drive/backups/types.d.ts +27 -0
  10. package/dist/drive/backups/types.js +2 -0
  11. package/dist/drive/index.d.ts +7 -0
  12. package/dist/drive/index.js +19 -0
  13. package/dist/drive/payments/index.d.ts +40 -0
  14. package/dist/drive/payments/index.js +91 -0
  15. package/dist/drive/payments/types.d.ts +104 -0
  16. package/dist/drive/payments/types.js +32 -0
  17. package/dist/drive/referrals/index.d.ts +19 -0
  18. package/dist/drive/referrals/index.js +51 -0
  19. package/dist/drive/referrals/types.d.ts +21 -0
  20. package/dist/drive/referrals/types.js +18 -0
  21. package/dist/drive/share/index.d.ts +74 -0
  22. package/dist/drive/share/index.js +156 -0
  23. package/dist/drive/share/types.d.ts +78 -0
  24. package/dist/drive/share/types.js +2 -0
  25. package/dist/drive/storage/index.d.ts +93 -0
  26. package/dist/drive/storage/index.js +243 -0
  27. package/dist/drive/storage/types.d.ts +174 -0
  28. package/dist/drive/storage/types.js +7 -0
  29. package/dist/drive/trash/index.d.ts +44 -0
  30. package/dist/drive/trash/index.js +132 -0
  31. package/dist/drive/trash/types.d.ts +19 -0
  32. package/dist/drive/trash/types.js +2 -0
  33. package/dist/drive/users/index.d.ts +67 -0
  34. package/dist/drive/users/index.js +123 -0
  35. package/dist/drive/users/types.d.ts +21 -0
  36. package/dist/drive/users/types.js +2 -0
  37. package/dist/index.d.ts +5 -0
  38. package/dist/index.js +30 -0
  39. package/dist/network/download.d.ts +8 -0
  40. package/dist/network/download.js +123 -0
  41. package/dist/network/errors/codes.d.ts +24 -0
  42. package/dist/network/errors/codes.js +48 -0
  43. package/dist/network/errors/context.d.ts +35 -0
  44. package/dist/network/errors/context.js +39 -0
  45. package/dist/network/errors/download.d.ts +4 -0
  46. package/dist/network/errors/download.js +48 -0
  47. package/dist/network/errors/index.d.ts +3 -0
  48. package/dist/network/errors/index.js +15 -0
  49. package/dist/network/errors/upload.d.ts +13 -0
  50. package/dist/network/errors/upload.js +78 -0
  51. package/dist/network/index.d.ts +71 -0
  52. package/dist/network/index.js +310 -0
  53. package/dist/network/types.d.ts +102 -0
  54. package/dist/network/types.js +18 -0
  55. package/dist/network/upload.d.ts +4 -0
  56. package/dist/network/upload.js +159 -0
  57. package/dist/photos/devices/index.d.ts +10 -0
  58. package/dist/photos/devices/index.js +79 -0
  59. package/dist/photos/index.d.ts +17 -0
  60. package/dist/photos/index.js +52 -0
  61. package/dist/photos/photos/index.d.ts +60 -0
  62. package/dist/photos/photos/index.js +225 -0
  63. package/dist/photos/shares/index.d.ts +8 -0
  64. package/dist/photos/shares/index.js +34 -0
  65. package/dist/photos/types.d.ts +154 -0
  66. package/dist/photos/types.js +19 -0
  67. package/dist/photos/users/index.d.ts +7 -0
  68. package/dist/photos/users/index.js +46 -0
  69. package/dist/shared/headers/index.d.ts +45 -0
  70. package/dist/shared/headers/index.js +71 -0
  71. package/dist/shared/http/client.d.ts +78 -0
  72. package/dist/shared/http/client.js +166 -0
  73. package/dist/shared/http/types.d.ts +7 -0
  74. package/dist/shared/http/types.js +2 -0
  75. package/dist/shared/index.d.ts +1 -0
  76. package/dist/shared/index.js +13 -0
  77. package/dist/shared/types/apiConnection.d.ts +12 -0
  78. package/dist/shared/types/apiConnection.js +2 -0
  79. package/dist/shared/types/appsumo.d.ts +16 -0
  80. package/dist/shared/types/appsumo.js +12 -0
  81. package/dist/shared/types/errors.d.ts +4 -0
  82. package/dist/shared/types/errors.js +27 -0
  83. package/dist/shared/types/teams.d.ts +9 -0
  84. package/dist/shared/types/teams.js +2 -0
  85. package/dist/shared/types/userSettings.d.ts +27 -0
  86. package/dist/shared/types/userSettings.js +2 -0
  87. package/dist/utils.d.ts +3 -0
  88. package/dist/utils.js +25 -0
  89. 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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -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
+ }