realm-js/docs/object.js
Marius Rackwitz 9e0a9a3bd3 Add support for accessing linking objects / backlinks (#1101)
* Add support for linkingObjects

* Test linkingObjects

* Borrow names helper from list tests

* include computed properties when serializing the schema for the RN debugger

* add API docs

* review comments

* Expose admin users to JS (#1100)

The JS binding used to conflate `SyncUser::is_admin()` with the user being created by calling `Realm.Sync.User.adminToken()`, but now that we expose a user’s role on the server under `is_admin()` this supposition is no longer correct.

#1097 attempted to fix one such case, but fixing it only uncovered another: in `UserClass<T>::all_users()`.  I’ve gone through all the callsites of `SyncUser::is_admin()` to make sure they don’t assume an admin token user.

* [1.8.3] Bump version

* add linkingObjects method to Realm.Object

* changelog
2017-06-29 11:59:10 +02:00

50 lines
1.8 KiB
JavaScript

////////////////////////////////////////////////////////////////////////////
//
// Copyright 2016 Realm Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////
/**
* Realm objects will automatically inherit from this class unless a {@link Realm~ObjectClass}
* was specified that does **not** inherit from this class.
* @memberof Realm
* @since 0.12.0
*/
class Object {
/**
* Checks if this object has not been deleted and is part of a valid Realm.
* @returns {boolean} indicating if the object can be safely accessed.
* @since 0.12.0
*/
isValid() {}
/**
* Returns the schema for the type this object belongs to.
* @returns {Realm~ObjectSchema} the schema that describes this object.
* @since 1.8.1
*/
objectSchema() {}
/**
* Returns all the objects that link to this object in the specified relationship.
* @param {string} objectType - The type of the objects that link to this object's type.
* @param {string} property - The name of the property that references objects of this object's type.
* @throws {Error} If the relationship is not valid.
* @returns {Realm.Results} the objects that link to this object.
* @since 1.9.0
*/
linkingObjects(objectType, property) {}
}