Show / Hide Table of Contents

    Class Permission

    A permission which can be applied to a Realm, Class, or specific Object.

    Inheritance
    Object
    RealmObject
    Permission
    Implements
    INotifyPropertyChanged
    ISchemaSource
    IReflectableType
    Inherited Members
    RealmObject.PropertyChanged
    RealmObject.IsManaged
    RealmObject.IsValid
    RealmObject.Realm
    RealmObject.ObjectSchema
    RealmObject.BacklinksCount
    RealmObject.RaisePropertyChanged(String)
    RealmObject.OnPropertyChanged(String)
    RealmObject.OnManaged()
    Namespace: Realms.Sync
    Assembly: Realm.dll
    Syntax
    [MapTo("__Permission")]
    public class Permission : RealmObject, INotifyPropertyChanged, ISchemaSource, IThreadConfined, NotificationsHelper.INotifiable, IReflectableType
    Remarks

    Permissions are applied by adding the permission to the RealmPermission singleton object, the ClassPermission object for the desired class, or to a user-defined IList<Permission> property on a specific Object instance. The meaning of each of the properties of Permission depend on what the permission is applied to, and so are left undocumented here. See RealmPrivileges, ClassPrivileges, and ObjectPrivileges for details about what each of the properties mean when applied to that type.

    Properties

    | Improve this Doc View Source

    CanCreate

    Gets or sets a value indicating whether the user can create new objects of the type this Permission is attached to.

    Declaration
    [MapTo("canCreate")]
    public bool CanCreate { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    This field is only applicable to Permissions attached to Classes, and not to Realms or Objects.

    | Improve this Doc View Source

    CanDelete

    Gets or sets a value indicating whether the user can delete the object to which this Permission is attached.

    Declaration
    [MapTo("canDelete")]
    public bool CanDelete { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    This field is only applicable to Permissions attached to Objects, and not to Realms or Classes.

    | Improve this Doc View Source

    CanModifySchema

    Gets or sets a value indicating whether the user can modify the schema of the Realm which this Permission is attached to.

    Declaration
    [MapTo("canModifySchema")]
    public bool CanModifySchema { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    This field is only applicable to Permissions attached to Realms, and not to Realms or Objects.

    | Improve this Doc View Source

    CanQuery

    Gets or sets a value indicating whether the user can subscribe to queries for this object type.

    Declaration
    [MapTo("canQuery")]
    public bool CanQuery { get; set; }
    Property Value
    Type Description
    Boolean
    Remarks

    This field is only applicable to Permissions attached to Classes, and not to Realms or Objects.

    | Improve this Doc View Source

    CanRead

    Gets or sets a value indicating whether the user can read the object to which this Permission is attached.

    Declaration
    [MapTo("canRead")]
    public bool CanRead { get; set; }
    Property Value
    Type Description
    Boolean
    | Improve this Doc View Source

    CanSetPermissions

    Gets or sets a value indicating whether the user can add or modify Permissions for the object which this Permission is attached to.

    Declaration
    [MapTo("canSetPermissions")]
    public bool CanSetPermissions { get; set; }
    Property Value
    Type Description
    Boolean
    | Improve this Doc View Source

    CanUpdate

    Gets or sets a value indicating whether the user can modify the object to which this Permission is attached.

    Declaration
    [MapTo("canUpdate")]
    public bool CanUpdate { get; set; }
    Property Value
    Type Description
    Boolean
    | Improve this Doc View Source

    Role

    Gets the Role which this Permission applies to. All users within the Role are granted the permissions specified by the fields below any objects/classes/realms which use this Permission.

    Declaration
    [MapTo("role")]
    public PermissionRole Role { get; }
    Property Value
    Type Description
    PermissionRole

    Methods

    | Improve this Doc View Source

    Get(PermissionRole, Realm)

    Gets or creates a Permission instance for the named role on the Realm.

    Declaration
    public static Permission Get(PermissionRole role, Realm realm)
    Parameters
    Type Name Description
    PermissionRole role

    The PermissionRole associated with that Permission.

    Realm realm

    The Realm whose permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the Realm permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the Realm, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get(PermissionRole, RealmObject)

    Gets or creates a Permission instance for the named role on the object.

    Declaration
    public static Permission Get(PermissionRole role, RealmObject obj)
    Parameters
    Type Name Description
    PermissionRole role

    The PermissionRole associated with that Permission.

    RealmObject obj

    The RealmObject inheritor whose permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the object permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the object, merging duplicates or creating and adding new ones as needed.

    The given object must have a IList<Permission> property defined on it. If more than one such property exists, the first one will be used.

    | Improve this Doc View Source

    Get(PermissionRole, IList<Permission>)

    Gets or creates a Permission instance for the named role on the collection.

    Declaration
    public static Permission Get(PermissionRole role, IList<Permission> permissions)
    Parameters
    Type Name Description
    PermissionRole role

    The PermissionRole associated with that Permission.

    IList<Permission> permissions

    The collection of permissions to which the new instance will be added.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the object permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the object, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get(PermissionRole, String, Realm)

    Gets or creates a Permission instance for the named role on the class.

    Declaration
    public static Permission Get(PermissionRole role, string className, Realm realm)
    Parameters
    Type Name Description
    PermissionRole role

    The PermissionRole associated with that Permission.

    String className

    The name of the RealmObject subclass whose corresponding class permissions this Permission instance manipulates.

    Realm realm

    The Realm whose class permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the class permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the class, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get(String, Realm)

    Gets or creates a Permission instance for the named role on the Realm.

    Declaration
    public static Permission Get(string roleName, Realm realm)
    Parameters
    Type Name Description
    String roleName

    The name of the PermissionRole associated with that Permission. If no such Role exists, it will be created automatically.

    Realm realm

    The Realm whose permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the Realm permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the Realm, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get(String, RealmObject)

    Gets or creates a Permission instance for the named role on the object.

    Declaration
    public static Permission Get(string roleName, RealmObject obj)
    Parameters
    Type Name Description
    String roleName

    The name of the PermissionRole associated with that Permission. If no such Role exists, it will be created automatically.

    RealmObject obj

    The RealmObject inheritor whose permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the object permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the object, merging duplicates or creating and adding new ones as needed.

    The given object must have a IList<Permission> property defined on it. If more than one such property exists, the first one will be used.

    | Improve this Doc View Source

    Get(String, IList<Permission>)

    Gets or creates a Permission instance for the named role on the collection.

    Declaration
    public static Permission Get(string roleName, IList<Permission> permissions)
    Parameters
    Type Name Description
    String roleName

    The name of the PermissionRole associated with that Permission. If no such Role exists, it will be created automatically.

    IList<Permission> permissions

    The collection of permissions to which the new instance will be added.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the object permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the object, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get(String, String, Realm)

    Gets or creates a Permission instance for the named role on the class.

    Declaration
    public static Permission Get(string roleName, string className, Realm realm)
    Parameters
    Type Name Description
    String roleName

    The name of the PermissionRole associated with that Permission. If no such Role exists, it will be created automatically.

    String className

    The name of the RealmObject subclass whose corresponding class permissions this Permission instance manipulates.

    Realm realm

    The Realm whose class permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the class permissions of that PermissionRole.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the class, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get<T>(PermissionRole, Realm)

    Gets or creates a Permission instance for the named role on the class.

    Declaration
    public static Permission Get<T>(PermissionRole role, Realm realm)
    
        where T : RealmObject
    Parameters
    Type Name Description
    PermissionRole role

    The PermissionRole associated with that Permission.

    Realm realm

    The Realm whose class permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the class permissions of that PermissionRole.

    Type Parameters
    Name Description
    T

    The RealmObject subclass whose corresponding class permissions this Permission instance manipulates.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the class, merging duplicates or creating and adding new ones as needed.

    | Improve this Doc View Source

    Get<T>(String, Realm)

    Gets or creates a Permission instance for the named role on the class.

    Declaration
    public static Permission Get<T>(string roleName, Realm realm)
    
        where T : RealmObject
    Parameters
    Type Name Description
    String roleName

    The name of the PermissionRole associated with that Permission. If no such Role exists, it will be created automatically.

    Realm realm

    The Realm whose class permissions this Permission instance manipulates.

    Returns
    Type Description
    Permission

    A Permission instance that can be used to inspect or modify the class permissions of that PermissionRole.

    Type Parameters
    Name Description
    T

    The RealmObject subclass whose corresponding class permissions this Permission instance manipulates.

    Remarks

    This function should be used in preference to manually querying for the applicable Permission as it ensures that there is exactly one Permission for the given Role on the class, merging duplicates or creating and adding new ones as needed.

    Implements

    System.ComponentModel.INotifyPropertyChanged
    ISchemaSource
    System.Reflection.IReflectableType
    • Improve this Doc
    • View Source
    Back to top Copyright © 2019 Realm
    Generated by DocFX