ParseSession.js 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  7. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  8. var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
  9. var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
  10. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  11. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  12. var _isRevocableSession = _interopRequireDefault(require("./isRevocableSession"));
  13. var _ParseObject2 = _interopRequireDefault(require("./ParseObject"));
  14. var _ParseUser = _interopRequireDefault(require("./ParseUser"));
  15. function _callSuper(t, o, e) {
  16. return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e));
  17. }
  18. function _isNativeReflectConstruct() {
  19. try {
  20. var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
  21. } catch (t) {}
  22. return (_isNativeReflectConstruct = function () {
  23. return !!t;
  24. })();
  25. }
  26. var ParseSession = function (_ParseObject) {
  27. function ParseSession(attributes) {
  28. var _this;
  29. (0, _classCallCheck2.default)(this, ParseSession);
  30. _this = _callSuper(this, ParseSession, ['_Session']);
  31. if (attributes && typeof attributes === 'object') {
  32. if (!_this.set(attributes || {})) {
  33. throw new Error("Can't create an invalid Session");
  34. }
  35. }
  36. return _this;
  37. }
  38. (0, _inherits2.default)(ParseSession, _ParseObject);
  39. return (0, _createClass2.default)(ParseSession, [{
  40. key: "getSessionToken",
  41. value: function () {
  42. var token = this.get('sessionToken');
  43. if (typeof token === 'string') {
  44. return token;
  45. }
  46. return '';
  47. }
  48. }], [{
  49. key: "readOnlyAttributes",
  50. value: function () {
  51. return ['createdWith', 'expiresAt', 'installationId', 'restricted', 'sessionToken', 'user'];
  52. }
  53. }, {
  54. key: "current",
  55. value: function (options) {
  56. options = options || {};
  57. var controller = _CoreManager.default.getSessionController();
  58. var sessionOptions = {};
  59. if (options.hasOwnProperty('useMasterKey')) {
  60. sessionOptions.useMasterKey = options.useMasterKey;
  61. }
  62. return _ParseUser.default.currentAsync().then(function (user) {
  63. if (!user) {
  64. return Promise.reject('There is no current user.');
  65. }
  66. sessionOptions.sessionToken = user.getSessionToken();
  67. return controller.getSession(sessionOptions);
  68. });
  69. }
  70. }, {
  71. key: "isCurrentSessionRevocable",
  72. value: function () {
  73. var currentUser = _ParseUser.default.current();
  74. if (currentUser) {
  75. return (0, _isRevocableSession.default)(currentUser.getSessionToken() || '');
  76. }
  77. return false;
  78. }
  79. }]);
  80. }(_ParseObject2.default);
  81. _ParseObject2.default.registerSubclass('_Session', ParseSession);
  82. var DefaultController = {
  83. getSession: function (options) {
  84. var RESTController = _CoreManager.default.getRESTController();
  85. var session = new ParseSession();
  86. return RESTController.request('GET', 'sessions/me', {}, options).then(function (sessionData) {
  87. session._finishFetch(sessionData);
  88. session._setExisted(true);
  89. return session;
  90. });
  91. }
  92. };
  93. _CoreManager.default.setSessionController(DefaultController);
  94. var _default = exports.default = ParseSession;