Parse.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. var _decode = _interopRequireDefault(require("./decode"));
  5. var _encode = _interopRequireDefault(require("./encode"));
  6. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  7. var _InstallationController = _interopRequireDefault(require("./InstallationController"));
  8. var ParseOp = _interopRequireWildcard(require("./ParseOp"));
  9. var _RESTController = _interopRequireDefault(require("./RESTController"));
  10. /**
  11. * Copyright (c) 2015-present, Parse, LLC.
  12. * All rights reserved.
  13. *
  14. * This source code is licensed under the BSD-style license found in the
  15. * LICENSE file in the root directory of this source tree. An additional grant
  16. * of patent rights can be found in the PATENTS file in the same directory.
  17. */
  18. /**
  19. * Contains all Parse API classes and functions.
  20. * @static
  21. * @global
  22. * @class
  23. * @hideconstructor
  24. */
  25. var Parse = {
  26. /**
  27. * Call this method first to set up your authentication tokens for Parse.
  28. * You can get your keys from the Data Browser on parse.com.
  29. * @param {String} applicationId Your Parse Application ID.
  30. * @param {String} javaScriptKey (optional) Your Parse JavaScript Key (Not needed for parse-server)
  31. * @param {String} masterKey (optional) Your Parse Master Key. (Node.js only!)
  32. * @static
  33. */
  34. initialize: function (applicationId
  35. /*: string*/
  36. , javaScriptKey
  37. /*: string*/
  38. ) {
  39. Parse._initialize(applicationId, javaScriptKey);
  40. },
  41. _initialize: function (applicationId
  42. /*: string*/
  43. , javaScriptKey
  44. /*: string*/
  45. , masterKey
  46. /*: string*/
  47. ) {
  48. _CoreManager.default.set('APPLICATION_ID', applicationId);
  49. _CoreManager.default.set('JAVASCRIPT_KEY', javaScriptKey);
  50. _CoreManager.default.set('MASTER_KEY', masterKey);
  51. _CoreManager.default.set('USE_MASTER_KEY', false);
  52. },
  53. /**
  54. * Call this method to set your AsyncStorage engine
  55. * Starting Parse@1.11, the ParseSDK do not provide a React AsyncStorage as the ReactNative module
  56. * is not provided at a stable path and changes over versions.
  57. * @param {AsyncStorage} storage a react native async storage.
  58. * @static
  59. */
  60. setAsyncStorage: function (storage
  61. /*: any*/
  62. ) {
  63. _CoreManager.default.setAsyncStorage(storage);
  64. },
  65. /**
  66. * Call this method to set your LocalDatastoreStorage engine
  67. * If using React-Native use {@link Parse.setAsyncStorage Parse.setAsyncStorage()}
  68. * @param {LocalDatastoreController} controller a data storage.
  69. * @static
  70. */
  71. setLocalDatastoreController: function (controller
  72. /*: any*/
  73. ) {
  74. _CoreManager.default.setLocalDatastoreController(controller);
  75. }
  76. };
  77. /** These legacy setters may eventually be deprecated **/
  78. /**
  79. * @member Parse.applicationId
  80. * @type string
  81. * @static
  82. */
  83. Object.defineProperty(Parse, 'applicationId', {
  84. get: function () {
  85. return _CoreManager.default.get('APPLICATION_ID');
  86. },
  87. set: function (value) {
  88. _CoreManager.default.set('APPLICATION_ID', value);
  89. }
  90. });
  91. /**
  92. * @member Parse.javaScriptKey
  93. * @type string
  94. * @static
  95. */
  96. Object.defineProperty(Parse, 'javaScriptKey', {
  97. get: function () {
  98. return _CoreManager.default.get('JAVASCRIPT_KEY');
  99. },
  100. set: function (value) {
  101. _CoreManager.default.set('JAVASCRIPT_KEY', value);
  102. }
  103. });
  104. /**
  105. * @member Parse.masterKey
  106. * @type string
  107. * @static
  108. */
  109. Object.defineProperty(Parse, 'masterKey', {
  110. get: function () {
  111. return _CoreManager.default.get('MASTER_KEY');
  112. },
  113. set: function (value) {
  114. _CoreManager.default.set('MASTER_KEY', value);
  115. }
  116. });
  117. /**
  118. * @member Parse.serverURL
  119. * @type string
  120. * @static
  121. */
  122. Object.defineProperty(Parse, 'serverURL', {
  123. get: function () {
  124. return _CoreManager.default.get('SERVER_URL');
  125. },
  126. set: function (value) {
  127. _CoreManager.default.set('SERVER_URL', value);
  128. }
  129. });
  130. /**
  131. * @member Parse.serverAuthToken
  132. * @type string
  133. * @static
  134. */
  135. Object.defineProperty(Parse, 'serverAuthToken', {
  136. get: function () {
  137. return _CoreManager.default.get('SERVER_AUTH_TOKEN');
  138. },
  139. set: function (value) {
  140. _CoreManager.default.set('SERVER_AUTH_TOKEN', value);
  141. }
  142. });
  143. /**
  144. * @member Parse.serverAuthType
  145. * @type string
  146. * @static
  147. */
  148. Object.defineProperty(Parse, 'serverAuthType', {
  149. get: function () {
  150. return _CoreManager.default.get('SERVER_AUTH_TYPE');
  151. },
  152. set: function (value) {
  153. _CoreManager.default.set('SERVER_AUTH_TYPE', value);
  154. }
  155. });
  156. /**
  157. * @member Parse.liveQueryServerURL
  158. * @type string
  159. * @static
  160. */
  161. Object.defineProperty(Parse, 'liveQueryServerURL', {
  162. get: function () {
  163. return _CoreManager.default.get('LIVEQUERY_SERVER_URL');
  164. },
  165. set: function (value) {
  166. _CoreManager.default.set('LIVEQUERY_SERVER_URL', value);
  167. }
  168. });
  169. /* End setters */
  170. Parse.ACL = require('./ParseACL').default;
  171. Parse.Analytics = require('./Analytics');
  172. Parse.AnonymousUtils = require('./AnonymousUtils').default;
  173. Parse.Cloud = require('./Cloud');
  174. Parse.CoreManager = require('./CoreManager');
  175. Parse.Config = require('./ParseConfig').default;
  176. Parse.Error = require('./ParseError').default;
  177. Parse.FacebookUtils = require('./FacebookUtils').default;
  178. Parse.File = require('./ParseFile').default;
  179. Parse.GeoPoint = require('./ParseGeoPoint').default;
  180. Parse.Polygon = require('./ParsePolygon').default;
  181. Parse.Installation = require('./ParseInstallation').default;
  182. Parse.LocalDatastore = require('./LocalDatastore');
  183. Parse.Object = require('./ParseObject').default;
  184. Parse.Op = {
  185. Set: ParseOp.SetOp,
  186. Unset: ParseOp.UnsetOp,
  187. Increment: ParseOp.IncrementOp,
  188. Add: ParseOp.AddOp,
  189. Remove: ParseOp.RemoveOp,
  190. AddUnique: ParseOp.AddUniqueOp,
  191. Relation: ParseOp.RelationOp
  192. };
  193. Parse.Push = require('./Push');
  194. Parse.Query = require('./ParseQuery').default;
  195. Parse.Relation = require('./ParseRelation').default;
  196. Parse.Role = require('./ParseRole').default;
  197. Parse.Schema = require('./ParseSchema').default;
  198. Parse.Session = require('./ParseSession').default;
  199. Parse.Storage = require('./Storage');
  200. Parse.User = require('./ParseUser').default;
  201. Parse.LiveQuery = require('./ParseLiveQuery').default;
  202. Parse.LiveQueryClient = require('./LiveQueryClient').default;
  203. Parse._request = function () {
  204. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  205. args[_key] = arguments[_key];
  206. }
  207. return _CoreManager.default.getRESTController().request.apply(null, args);
  208. };
  209. Parse._ajax = function () {
  210. for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  211. args[_key2] = arguments[_key2];
  212. }
  213. return _CoreManager.default.getRESTController().ajax.apply(null, args);
  214. }; // We attempt to match the signatures of the legacy versions of these methods
  215. Parse._decode = function (_, value) {
  216. return (0, _decode.default)(value);
  217. };
  218. Parse._encode = function (value, _, disallowObjects) {
  219. return (0, _encode.default)(value, disallowObjects);
  220. };
  221. Parse._getInstallationId = function () {
  222. return _CoreManager.default.getInstallationController().currentInstallationId();
  223. };
  224. /**
  225. * Enable pinning in your application.
  226. * This must be called before your application can use pinning.
  227. *
  228. * @static
  229. */
  230. Parse.enableLocalDatastore = function () {
  231. Parse.LocalDatastore.isEnabled = true;
  232. };
  233. /**
  234. * Flag that indicates whether Local Datastore is enabled.
  235. *
  236. * @static
  237. */
  238. Parse.isLocalDatastoreEnabled = function () {
  239. return Parse.LocalDatastore.isEnabled;
  240. };
  241. /**
  242. * Gets all contents from Local Datastore
  243. *
  244. * <pre>
  245. * await Parse.dumpLocalDatastore();
  246. * </pre>
  247. *
  248. * @static
  249. */
  250. Parse.dumpLocalDatastore = function () {
  251. if (!Parse.LocalDatastore.isEnabled) {
  252. console.log('Parse.enableLocalDatastore() must be called first'); // eslint-disable-line no-console
  253. return Promise.resolve({});
  254. } else {
  255. return Parse.LocalDatastore._getAllContents();
  256. }
  257. };
  258. _CoreManager.default.setInstallationController(_InstallationController.default);
  259. _CoreManager.default.setRESTController(_RESTController.default);
  260. // For legacy requires, of the form `var Parse = require('parse').Parse`
  261. Parse.Parse = Parse;
  262. module.exports = Parse;