Parse.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669
  1. "use strict";
  2. var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
  3. var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
  4. var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
  5. var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
  6. var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
  7. var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
  8. var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
  9. var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs3/regenerator"));
  10. var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
  11. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
  12. var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
  13. var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
  14. var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
  15. var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
  16. var _decode = _interopRequireDefault(require("./decode"));
  17. var _encode = _interopRequireDefault(require("./encode"));
  18. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  19. var _CryptoController = _interopRequireDefault(require("./CryptoController"));
  20. var _InstallationController = _interopRequireDefault(require("./InstallationController"));
  21. var ParseOp = _interopRequireWildcard(require("./ParseOp"));
  22. var _RESTController2 = _interopRequireDefault(require("./RESTController"));
  23. var _MoralisWeb2 = _interopRequireDefault(require("./MoralisWeb3"));
  24. var _ethers = require("ethers");
  25. var _filterConsole = require("./filterConsole");
  26. function _getRequireWildcardCache(nodeInterop) {
  27. if (typeof _WeakMap !== "function") return null;
  28. var cacheBabelInterop = new _WeakMap();
  29. var cacheNodeInterop = new _WeakMap();
  30. return (_getRequireWildcardCache = function (nodeInterop) {
  31. return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
  32. })(nodeInterop);
  33. }
  34. function _interopRequireWildcard(obj, nodeInterop) {
  35. if (!nodeInterop && obj && obj.__esModule) {
  36. return obj;
  37. }
  38. if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") {
  39. return {
  40. default: obj
  41. };
  42. }
  43. var cache = _getRequireWildcardCache(nodeInterop);
  44. if (cache && cache.has(obj)) {
  45. return cache.get(obj);
  46. }
  47. var newObj = {};
  48. for (var key in obj) {
  49. if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
  50. var desc = _Object$defineProperty && _Object$getOwnPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null;
  51. if (desc && (desc.get || desc.set)) {
  52. _Object$defineProperty(newObj, key, desc);
  53. } else {
  54. newObj[key] = obj[key];
  55. }
  56. }
  57. }
  58. newObj.default = obj;
  59. if (cache) {
  60. cache.set(obj, newObj);
  61. }
  62. return newObj;
  63. }
  64. function _createSuper(Derived) {
  65. var hasNativeReflectConstruct = _isNativeReflectConstruct();
  66. return function () {
  67. var Super = (0, _getPrototypeOf2.default)(Derived),
  68. result;
  69. if (hasNativeReflectConstruct) {
  70. var NewTarget = (0, _getPrototypeOf2.default)(this).constructor;
  71. result = _Reflect$construct(Super, arguments, NewTarget);
  72. } else {
  73. result = Super.apply(this, arguments);
  74. }
  75. return (0, _possibleConstructorReturn2.default)(this, result);
  76. };
  77. }
  78. function _isNativeReflectConstruct() {
  79. if (typeof Reflect === "undefined" || !_Reflect$construct) return false;
  80. if (_Reflect$construct.sham) return false;
  81. if (typeof Proxy === "function") return true;
  82. try {
  83. Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {}));
  84. return true;
  85. } catch (e) {
  86. return false;
  87. }
  88. }
  89. var _require = require('./utils'),
  90. checkForSdkUpdates = _require.checkForSdkUpdates,
  91. trackEvent = _require.trackEvent,
  92. TrackingEventName = _require.TrackingEventName,
  93. getSubdomain = _require.getSubdomain;
  94. /**
  95. * Contains all Moralis API classes and functions.
  96. *
  97. * @static
  98. * @global
  99. * @class
  100. * @hideconstructor
  101. */
  102. var Moralis = /*#__PURE__*/function (_MoralisWeb) {
  103. (0, _inherits2.default)(Moralis, _MoralisWeb);
  104. var _super = _createSuper(Moralis);
  105. function Moralis() {
  106. (0, _classCallCheck2.default)(this, Moralis);
  107. return _super.apply(this, arguments);
  108. }
  109. (0, _createClass2.default)(Moralis, null, [{
  110. key: "start",
  111. value:
  112. /**
  113. * Call this method to initialize all moralis instances (Moralis, Web3Api, plugins).
  114. *
  115. * @param {object} options Your Moralis Application ID and Server URL. Moralis.start({serverUrl,appId})
  116. * @static
  117. */
  118. function () {
  119. var _start = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
  120. var appId, serverUrl, plugins, javascriptKey, masterKey, moralisSecret, apiKey, trackOptions, _yield$this$getApiKey, web3ApiKey, speedyNodeApiKey;
  121. return _regenerator.default.wrap(function (_context) {
  122. while (1) {
  123. switch (_context.prev = _context.next) {
  124. case 0:
  125. appId = options.appId, serverUrl = options.serverUrl, plugins = options.plugins, javascriptKey = options.javascriptKey, masterKey = options.masterKey, moralisSecret = options.moralisSecret;
  126. if (serverUrl) {
  127. _context.next = 4;
  128. break;
  129. }
  130. throw new Error("Moralis.start failed: serverUrl is required");
  131. case 4:
  132. if (appId) {
  133. _context.next = 6;
  134. break;
  135. }
  136. throw new Error("Moralis.start failed: appId is required");
  137. case 6:
  138. if (moralisSecret) {
  139. console.warn('Moralis.start warning: Using moralisSecret on the browser enviroment reveals critical information.');
  140. }
  141. _context.next = 18;
  142. break;
  143. case 9:
  144. if (!moralisSecret) {
  145. _context.next = 18;
  146. break;
  147. }
  148. this.moralisSecret = moralisSecret;
  149. _context.next = 13;
  150. return this.getApiKeys(moralisSecret);
  151. case 13:
  152. _yield$this$getApiKey = _context.sent;
  153. web3ApiKey = _yield$this$getApiKey.web3ApiKey;
  154. speedyNodeApiKey = _yield$this$getApiKey.speedyNodeApiKey;
  155. apiKey = web3ApiKey;
  156. this.speedyNodeApiKey = speedyNodeApiKey;
  157. case 18:
  158. this.initialize(appId, javascriptKey, masterKey);
  159. this.serverURL = serverUrl;
  160. this.Web3API.initialize({
  161. serverUrl: serverUrl,
  162. apiKey: apiKey,
  163. Moralis: Moralis
  164. });
  165. this.SolanaAPI.initialize({
  166. serverUrl: serverUrl,
  167. apiKey: apiKey,
  168. Moralis: Moralis
  169. });
  170. if (!(appId && serverUrl)) {
  171. _context.next = 28;
  172. break;
  173. }
  174. trackOptions = {
  175. subdomain: getSubdomain(serverUrl),
  176. sdk_type: 'javascript',
  177. sdk_version: "1.5.9",
  178. sdk_enviroment: "weapp",
  179. appId: appId
  180. };
  181. _context.next = 26;
  182. return this.initPlugins(plugins);
  183. case 26:
  184. _context.next = 29;
  185. break;
  186. case 28:
  187. trackOptions = {
  188. sdk_type: 'javascript',
  189. sdk_version: "1.5.9",
  190. sdk_enviroment: "weapp"
  191. };
  192. case 29:
  193. // Check if SDK is updated
  194. checkForSdkUpdates(); // Track start function call
  195. trackEvent(TrackingEventName.START_FUNCTION, serverUrl ? getSubdomain(serverUrl) : null, trackOptions);
  196. case 31:
  197. case "end":
  198. return _context.stop();
  199. }
  200. }
  201. }, _callee, this);
  202. }));
  203. return function () {
  204. return _start.apply(this, arguments);
  205. };
  206. }()
  207. /**
  208. * Call this method to get apiKeys using moralis secret.
  209. *
  210. * @param {string} moralisSecret Your MoralisSecret
  211. * @static
  212. */
  213. }, {
  214. key: "getApiKeys",
  215. value: function () {
  216. var _getApiKeys = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(moralisSecret) {
  217. var _RESTController, response;
  218. return _regenerator.default.wrap(function (_context2) {
  219. while (1) {
  220. switch (_context2.prev = _context2.next) {
  221. case 0:
  222. _context2.prev = 0;
  223. _RESTController = _CoreManager.default.getRESTController();
  224. _context2.next = 4;
  225. return _RESTController.ajax('GET', 'https://admin.moralis.io/api/publics/apiKeys', null, {
  226. 'moralis-secret': moralisSecret,
  227. Accept: 'application/json',
  228. 'Content-Type': 'application/json'
  229. });
  230. case 4:
  231. response = _context2.sent;
  232. return _context2.abrupt("return", response.response.result);
  233. case 8:
  234. _context2.prev = 8;
  235. _context2.t0 = _context2["catch"](0);
  236. throw new Error("Could not fetch keys with moralisSecret");
  237. case 11:
  238. case "end":
  239. return _context2.stop();
  240. }
  241. }
  242. }, _callee2, null, [[0, 8]]);
  243. }));
  244. return function () {
  245. return _getApiKeys.apply(this, arguments);
  246. };
  247. }()
  248. /**
  249. * Call this method first to set up your authentication tokens for Moralis.
  250. *
  251. * @param {string} applicationId Your Moralis Application ID.
  252. * @param {string} [javaScriptKey] Your Moralis JavaScript Key (Not needed for moralis-server)
  253. * @param {string} [masterKey] Your Moralis Master Key. (Node.js only!)
  254. * @static
  255. */
  256. }, {
  257. key: "initialize",
  258. value: function (applicationId
  259. /*: string*/
  260. , javaScriptKey
  261. /*: string*/
  262. ) {
  263. Moralis._initialize(applicationId, javaScriptKey);
  264. }
  265. }, {
  266. key: "_initialize",
  267. value: function (applicationId
  268. /*: string*/
  269. , javaScriptKey
  270. /*: string*/
  271. , masterKey
  272. /*: string*/
  273. ) {
  274. _CoreManager.default.set('APPLICATION_ID', applicationId);
  275. _CoreManager.default.set('JAVASCRIPT_KEY', javaScriptKey);
  276. _CoreManager.default.set('MASTER_KEY', masterKey);
  277. _CoreManager.default.set('USE_MASTER_KEY', false);
  278. }
  279. /**
  280. * Call this method to set your AsyncStorage engine
  281. * Starting Parse@1.11, the ParseSDK do not provide a React AsyncStorage as the ReactNative module
  282. * is not provided at a stable path and changes over versions.
  283. *
  284. * @param {AsyncStorage} storage a react native async storage.
  285. * @static
  286. */
  287. }, {
  288. key: "setAsyncStorage",
  289. value: function (storage
  290. /*: any*/
  291. ) {
  292. _CoreManager.default.setAsyncStorage(storage);
  293. }
  294. /**
  295. * Call this method to set your LocalDatastoreStorage engine
  296. * If using React-Native use {@link Moralis.setAsyncStorage Moralis.setAsyncStorage()}
  297. *
  298. * @param {LocalDatastoreController} controller a data storage.
  299. * @static
  300. */
  301. }, {
  302. key: "setLocalDatastoreController",
  303. value: function (controller
  304. /*: any*/
  305. ) {
  306. _CoreManager.default.setLocalDatastoreController(controller);
  307. }
  308. /**
  309. * @member {string} Moralis.applicationId
  310. * @static
  311. */
  312. }, {
  313. key: "applicationId",
  314. get: function () {
  315. return _CoreManager.default.get('APPLICATION_ID');
  316. }
  317. /**
  318. * @member {string} Moralis.javaScriptKey
  319. * @static
  320. */
  321. ,
  322. set: function (value) {
  323. _CoreManager.default.set('APPLICATION_ID', value);
  324. }
  325. }, {
  326. key: "javaScriptKey",
  327. get: function () {
  328. return _CoreManager.default.get('JAVASCRIPT_KEY');
  329. }
  330. /**
  331. * @member {string} Moralis.masterKey
  332. * @static
  333. */
  334. ,
  335. set: function (value) {
  336. _CoreManager.default.set('JAVASCRIPT_KEY', value);
  337. }
  338. }, {
  339. key: "masterKey",
  340. get: function () {
  341. return _CoreManager.default.get('MASTER_KEY');
  342. }
  343. /**
  344. * @member {string} Moralis.serverURL
  345. * @static
  346. */
  347. ,
  348. set: function (value) {
  349. _CoreManager.default.set('MASTER_KEY', value);
  350. }
  351. }, {
  352. key: "serverURL",
  353. get: function () {
  354. return _CoreManager.default.get('SERVER_URL');
  355. }
  356. /**
  357. * @member {string} Moralis.serverAuthToken
  358. * @static
  359. */
  360. ,
  361. set: function (value) {
  362. _CoreManager.default.set('SERVER_URL', value);
  363. }
  364. }, {
  365. key: "serverAuthToken",
  366. get: function () {
  367. return _CoreManager.default.get('SERVER_AUTH_TOKEN');
  368. }
  369. /**
  370. * @member {string} Moralis.serverAuthType
  371. * @static
  372. */
  373. ,
  374. set: function (value) {
  375. _CoreManager.default.set('SERVER_AUTH_TOKEN', value);
  376. }
  377. }, {
  378. key: "serverAuthType",
  379. get: function () {
  380. return _CoreManager.default.get('SERVER_AUTH_TYPE');
  381. }
  382. /**
  383. * @member {string} Moralis.liveQueryServerURL
  384. * @static
  385. */
  386. ,
  387. set: function (value) {
  388. _CoreManager.default.set('SERVER_AUTH_TYPE', value);
  389. }
  390. }, {
  391. key: "liveQueryServerURL",
  392. get: function () {
  393. return _CoreManager.default.get('LIVEQUERY_SERVER_URL');
  394. }
  395. /**
  396. * @member {string} Moralis.encryptedUser
  397. * @static
  398. */
  399. ,
  400. set: function (value) {
  401. _CoreManager.default.set('LIVEQUERY_SERVER_URL', value);
  402. }
  403. }, {
  404. key: "encryptedUser",
  405. get: function () {
  406. return _CoreManager.default.get('ENCRYPTED_USER');
  407. }
  408. /**
  409. * @member {string} Moralis.secret
  410. * @static
  411. */
  412. ,
  413. set: function (value) {
  414. _CoreManager.default.set('ENCRYPTED_USER', value);
  415. }
  416. }, {
  417. key: "secret",
  418. get: function () {
  419. return _CoreManager.default.get('ENCRYPTED_KEY');
  420. }
  421. /**
  422. * @member {boolean} Moralis.idempotency
  423. * @static
  424. */
  425. ,
  426. set: function (value) {
  427. _CoreManager.default.set('ENCRYPTED_KEY', value);
  428. }
  429. }, {
  430. key: "idempotency",
  431. get: function () {
  432. return _CoreManager.default.get('IDEMPOTENCY');
  433. },
  434. set: function (value) {
  435. _CoreManager.default.set('IDEMPOTENCY', value);
  436. }
  437. }]);
  438. return Moralis;
  439. }(_MoralisWeb2.default);
  440. Moralis.ACL = require('./ParseACL').default;
  441. Moralis.Analytics = require('./Analytics');
  442. Moralis.AnonymousUtils = require('./AnonymousUtils').default;
  443. Moralis.Cloud = require('./Cloud');
  444. Moralis.CLP = require('./ParseCLP').default;
  445. Moralis.CoreManager = require('./CoreManager');
  446. Moralis.Config = require('./ParseConfig').default;
  447. Moralis.Error = require('./ParseError').default;
  448. Moralis.FacebookUtils = require('./FacebookUtils').default;
  449. Moralis.File = require('./ParseFile').default;
  450. Moralis.GeoPoint = require('./ParseGeoPoint').default;
  451. Moralis.Polygon = require('./ParsePolygon').default;
  452. Moralis.Installation = require('./ParseInstallation').default;
  453. Moralis.LocalDatastore = require('./LocalDatastore');
  454. Moralis.Object = require('./ParseObject').default;
  455. Moralis.Op = {
  456. Set: ParseOp.SetOp,
  457. Unset: ParseOp.UnsetOp,
  458. Increment: ParseOp.IncrementOp,
  459. Add: ParseOp.AddOp,
  460. Remove: ParseOp.RemoveOp,
  461. AddUnique: ParseOp.AddUniqueOp,
  462. Relation: ParseOp.RelationOp
  463. };
  464. Moralis.Web3API = require('./MoralisWeb3Api').default;
  465. Moralis.SolanaAPI = require('./MoralisSolanaApi').default;
  466. Moralis.Push = require('./Push');
  467. Moralis.Query = require('./ParseQuery').default;
  468. Moralis.Relation = require('./ParseRelation').default;
  469. Moralis.Role = require('./ParseRole').default;
  470. Moralis.Schema = require('./ParseSchema').default;
  471. Moralis.Session = require('./ParseSession').default;
  472. Moralis.Storage = require('./Storage');
  473. Moralis.User = require('./ParseUser').default;
  474. Moralis.LiveQuery = require('./ParseLiveQuery').default;
  475. Moralis.LiveQueryClient = require('./LiveQueryClient').default;
  476. Moralis.Web3 = Moralis;
  477. Moralis.Units = require('./UnitConvert'); // Moralis.Web3 = require('./MoralisWeb3').default;
  478. Moralis.Elrond = require('./MoralisErd').default;
  479. Moralis.Erd = Moralis.Elrond;
  480. Moralis.Dot = require('./MoralisDot').default;
  481. Moralis.UI = require('./MoralisUI').default;
  482. Moralis.Chains = require('./Chains').default;
  483. Moralis.AbstractWeb3Connector = require('./Web3Connector/AbstractWeb3Connector').default;
  484. (0, _filterConsole.filterConsole)();
  485. Moralis._request = function () {
  486. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  487. args[_key] = arguments[_key];
  488. }
  489. return _CoreManager.default.getRESTController().request.apply(null, args);
  490. };
  491. Moralis._ajax = function () {
  492. for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  493. args[_key2] = arguments[_key2];
  494. }
  495. return _CoreManager.default.getRESTController().ajax.apply(null, args);
  496. }; // We attempt to match the signatures of the legacy versions of these methods
  497. Moralis._decode = function (_, value) {
  498. return (0, _decode.default)(value);
  499. };
  500. Moralis._encode = function (value, _, disallowObjects) {
  501. return (0, _encode.default)(value, disallowObjects);
  502. };
  503. Moralis._getInstallationId = function () {
  504. return _CoreManager.default.getInstallationController().currentInstallationId();
  505. };
  506. /**
  507. * Enable pinning in your application.
  508. * This must be called before your application can use pinning.
  509. *
  510. * @static
  511. */
  512. Moralis.enableLocalDatastore = function () {
  513. Moralis.LocalDatastore.isEnabled = true;
  514. };
  515. /**
  516. * Flag that indicates whether Local Datastore is enabled.
  517. *
  518. * @static
  519. * @returns {boolean}
  520. */
  521. Moralis.isLocalDatastoreEnabled = function () {
  522. return Moralis.LocalDatastore.isEnabled;
  523. };
  524. /**
  525. * Gets all contents from Local Datastore
  526. *
  527. * <pre>
  528. * await Moralis.dumpLocalDatastore();
  529. * </pre>
  530. *
  531. * @static
  532. * @returns {object}
  533. */
  534. Moralis.dumpLocalDatastore = function () {
  535. if (!Moralis.LocalDatastore.isEnabled) {
  536. console.log('Moralis.enableLocalDatastore() must be called first'); // eslint-disable-line no-console
  537. return _promise.default.resolve({});
  538. }
  539. return Moralis.LocalDatastore._getAllContents();
  540. };
  541. /**
  542. * Enable the current user encryption.
  543. * This must be called before login any user.
  544. *
  545. * @static
  546. */
  547. Moralis.enableEncryptedUser = function () {
  548. Moralis.encryptedUser = true;
  549. };
  550. /**
  551. * Flag that indicates whether Encrypted User is enabled.
  552. *
  553. * @static
  554. * @returns {boolean}
  555. */
  556. Moralis.isEncryptedUserEnabled = function () {
  557. return Moralis.encryptedUser;
  558. };
  559. _CoreManager.default.setCryptoController(_CryptoController.default);
  560. _CoreManager.default.setInstallationController(_InstallationController.default);
  561. _CoreManager.default.setRESTController(_RESTController2.default);
  562. // For legacy requires, of the form `var Moralis = require('moralis').Moralis`
  563. Moralis.Moralis = Moralis;
  564. module.exports = Moralis;