123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- "use strict";
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
- var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
- _Object$defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _CoreManager = _interopRequireDefault(require("./CoreManager"));
- var _ParseACL = _interopRequireDefault(require("./ParseACL"));
- var _ParseError = _interopRequireDefault(require("./ParseError"));
- var _ParseObject = _interopRequireDefault(require("./ParseObject"));
- class ParseRole extends _ParseObject.default {
-
- constructor(name, acl) {
- super('_Role');
- if (typeof name === 'string' && acl instanceof _ParseACL.default) {
- this.setName(name);
- this.setACL(acl);
- }
- }
-
- getName() {
- const name = this.get('name');
- if (name == null || typeof name === 'string') {
- return name;
- }
- return '';
- }
-
- setName(name, options) {
- this._validateName(name);
- return this.set('name', name, options);
- }
-
- getUsers() {
- return this.relation('users');
- }
-
- getRoles() {
- return this.relation('roles');
- }
- _validateName(newName) {
- if (typeof newName !== 'string') {
- throw new _ParseError.default(_ParseError.default.OTHER_CAUSE, "A role's name must be a String.");
- }
- if (!/^[0-9a-zA-Z\-_ ]+$/.test(newName)) {
- throw new _ParseError.default(_ParseError.default.OTHER_CAUSE, "A role's name can be only contain alphanumeric characters, _, " + '-, and spaces.');
- }
- }
- validate(attrs, options) {
- const isInvalid = super.validate(attrs, options);
- if (isInvalid) {
- return isInvalid;
- }
- if ('name' in attrs && attrs.name !== this.getName()) {
- const newName = attrs.name;
- if (this.id && this.id !== attrs.objectId) {
-
-
-
- return new _ParseError.default(_ParseError.default.OTHER_CAUSE, "A role's name can only be set before it has been saved.");
- }
- try {
- this._validateName(newName);
- } catch (e) {
- return e;
- }
- }
- return false;
- }
- }
- _CoreManager.default.setParseRole(ParseRole);
- _ParseObject.default.registerSubclass('_Role', ParseRole);
- var _default = exports.default = ParseRole;
|