ParseInstallation.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  7. var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
  8. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  9. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  10. var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
  11. var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
  12. var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
  13. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  14. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  15. var _ParseError = _interopRequireDefault(require("./ParseError"));
  16. var _ParseObject2 = _interopRequireDefault(require("./ParseObject"));
  17. function _callSuper(t, o, e) {
  18. return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e));
  19. }
  20. function _isNativeReflectConstruct() {
  21. try {
  22. var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
  23. } catch (t) {}
  24. return (_isNativeReflectConstruct = function () {
  25. return !!t;
  26. })();
  27. }
  28. var DEVICE_TYPES = {
  29. IOS: 'ios',
  30. MACOS: 'macos',
  31. TVOS: 'tvos',
  32. FCM: 'fcm',
  33. ANDROID: 'android',
  34. WEB: 'web'
  35. };
  36. var ParseInstallation = function (_ParseObject) {
  37. function ParseInstallation(attributes) {
  38. var _this;
  39. (0, _classCallCheck2.default)(this, ParseInstallation);
  40. _this = _callSuper(this, ParseInstallation, ['_Installation']);
  41. if (attributes && typeof attributes === 'object') {
  42. if (!_this.set(attributes)) {
  43. throw new Error("Can't create an invalid Installation");
  44. }
  45. }
  46. return _this;
  47. }
  48. (0, _inherits2.default)(ParseInstallation, _ParseObject);
  49. return (0, _createClass2.default)(ParseInstallation, [{
  50. key: "appIdentifier",
  51. get: function () {
  52. return this.get('appIdentifier');
  53. }
  54. }, {
  55. key: "appVersion",
  56. get: function () {
  57. return this.get('appVersion');
  58. }
  59. }, {
  60. key: "appName",
  61. get: function () {
  62. return this.get('appName');
  63. }
  64. }, {
  65. key: "badge",
  66. get: function () {
  67. return this.get('badge');
  68. }
  69. }, {
  70. key: "channels",
  71. get: function () {
  72. return this.get('channels');
  73. }
  74. }, {
  75. key: "deviceToken",
  76. get: function () {
  77. return this.get('deviceToken');
  78. }
  79. }, {
  80. key: "deviceType",
  81. get: function () {
  82. return this.get('deviceType');
  83. }
  84. }, {
  85. key: "GCMSenderId",
  86. get: function () {
  87. return this.get('GCMSenderId');
  88. }
  89. }, {
  90. key: "installationId",
  91. get: function () {
  92. return this.get('installationId');
  93. }
  94. }, {
  95. key: "localeIdentifier",
  96. get: function () {
  97. return this.get('localeIdentifier');
  98. }
  99. }, {
  100. key: "parseVersion",
  101. get: function () {
  102. return this.get('parseVersion');
  103. }
  104. }, {
  105. key: "pushType",
  106. get: function () {
  107. return this.get('pushType');
  108. }
  109. }, {
  110. key: "timeZone",
  111. get: function () {
  112. return this.get('timeZone');
  113. }
  114. }, {
  115. key: "fetch",
  116. value: function () {
  117. var _fetch = (0, _asyncToGenerator2.default)(function* () {
  118. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  119. args[_key] = arguments[_key];
  120. }
  121. try {
  122. yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "fetch", this).apply(this, args);
  123. } catch (e) {
  124. if (e.code !== _ParseError.default.OBJECT_NOT_FOUND) {
  125. throw e;
  126. }
  127. delete this.id;
  128. this._getId();
  129. this._markAllFieldsDirty();
  130. yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "save", this).apply(this, args);
  131. }
  132. yield _CoreManager.default.getInstallationController().updateInstallationOnDisk(this);
  133. return this;
  134. });
  135. function fetch() {
  136. return _fetch.apply(this, arguments);
  137. }
  138. return fetch;
  139. }()
  140. }, {
  141. key: "save",
  142. value: function () {
  143. var _save = (0, _asyncToGenerator2.default)(function* () {
  144. for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
  145. args[_key2] = arguments[_key2];
  146. }
  147. try {
  148. yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "save", this).apply(this, args);
  149. } catch (e) {
  150. if (e.code !== _ParseError.default.OBJECT_NOT_FOUND) {
  151. throw e;
  152. }
  153. delete this.id;
  154. this._getId();
  155. this._markAllFieldsDirty();
  156. yield (0, _get2.default)((0, _getPrototypeOf2.default)(ParseInstallation.prototype), "save", this).apply(this, args);
  157. }
  158. yield _CoreManager.default.getInstallationController().updateInstallationOnDisk(this);
  159. return this;
  160. });
  161. function save() {
  162. return _save.apply(this, arguments);
  163. }
  164. return save;
  165. }()
  166. }, {
  167. key: "_markAllFieldsDirty",
  168. value: function () {
  169. for (var _ref of Object.entries(this.attributes)) {
  170. var _ref2 = (0, _slicedToArray2.default)(_ref, 2);
  171. var key = _ref2[0];
  172. var value = _ref2[1];
  173. this.set(key, value);
  174. }
  175. }
  176. }], [{
  177. key: "DEVICE_TYPES",
  178. get: function () {
  179. return DEVICE_TYPES;
  180. }
  181. }, {
  182. key: "currentInstallation",
  183. value: function () {
  184. return _CoreManager.default.getInstallationController().currentInstallation();
  185. }
  186. }]);
  187. }(_ParseObject2.default);
  188. _ParseObject2.default.registerSubclass('_Installation', ParseInstallation);
  189. module.exports = ParseInstallation;
  190. var _default = exports.default = ParseInstallation;