ArcGIS Runtime SDK for iOS: AGSPortalUser Class Reference
ArcGIS Runtime SDK for iOS  100.12
AGSPortalUser Class Reference

Description

An object representing a registered user of the portal or organization.

AGSPortalUser represents a registered user of a portal or organization. A Portal may have users who are unaffiliated with an organization or users who are part of an organization. Users sign in to the portal and create and share content which is organized into Items (AGSPortalItem). Users can create and join Groups (AGSPortalGroup) and share items with Groups. This makes the items visible and accessible to other members of the Group. Users could be in different roles including administrators, publishers and information workers. Administrators can add users to their organizations and have access to all content within the organization. All users can create web maps based on mashing up services that they have access to and can register services running on external servers. Publishers within an organization can in addition create hosted services based on data files that they upload.

Since
100
Inheritance diagram for AGSPortalUser:
AGSLoadableBase <AGSJSONSerializable> AGSObject <AGSLoadable>

Instance Methods

(id< AGSCancelable >) - addPortalItem:withContentParameters:toFolder:completion:
 
(id< AGSCancelable >) - addToFavorites:completion:
 
(void) - cancelLoad
 
(id< AGSCancelable >) - createFolder:completion:
 
(id< AGSCancelable >) - deleteFolder:completion:
 
(id< AGSCancelable >) - deletePortalItem:completion:
 
(void) - doCancelLoading
 
(void) - doStartLoading:
 
(id< AGSCancelable >) - fetchContentInFolder:completion:
 
(id< AGSCancelable >) - fetchContentWithCompletion:
 
(id< AGSCancelable >) - fetchFavoriteStatus:completion:
 
(instancetype) - initWithPortal:username:
 
(void) - loadDidFinishWithError:
 
(void) - loadWithCompletion:
 
(id< AGSCancelable >) - movePortalItem:toFolder:completion:
 
(id< AGSCancelable >) - movePortalItems:toFolder:completion:
 
(void) - onLoadStatusChanged
 
(id< AGSCancelable >) - removeFromFavorites:completion:
 
(void) - retryLoadWithCompletion:
 
(nullable id) - toJSON:
 

Class Methods

(nullable id< AGSJSONSerializable >) + fromJSON:error:
 
(nullable AGSPortalUser *) + fromJSON:withPortal:error:
 

Properties

AGSPortalAccess access
 
NSDate * created
 
NSString * email
 
NSString * favoritesGroupID
 
NSString * fullName
 
NSArray< AGSPortalGroup * > * groups
 
NSError * loadError
 
AGSLoadStatus loadStatus
 
NSDate * modified
 
NSString * organizationID
 
AGSPortalportal
 
NSArray< AGSPortalPrivilege * > * privileges
 
AGSPortalUserRole role
 
NSArray< NSString * > * tags
 
AGSLoadableImagethumbnail
 
AGSUnitSystem units
 
NSDictionary< NSString *, id > * unknownJSON
 
NSDictionary< NSString *, id > * unsupportedJSON
 
NSString * userDescription
 
NSString * username
 

Method Documentation

◆ addToFavorites:completion:

- (id<AGSCancelable>) addToFavorites: (AGSPortalItem *)  item
completion: (nullable void(^)(NSError *__nullable error))  completion 

Adds the given item to the user's favorites group.

Parameters
itemThe portal item to add.
completionblock that is invoked when operation finishes
Returns
operation which can be canceled
Since
100

◆ cancelLoad

- (void) cancelLoad
requiredinherited

Cancels loading if it is in progress, otherwise it does nothing. This should be called carefully because other objects could be waiting for loadWithCompletion: or retryLoadWithCompletion: to complete and this will call them all back with the error of NSUserCancelledError

Since
100

◆ doCancelLoading

- (void) doCancelLoading

Never call this method directly. The framework calls this method on a background thread when cancelLoad (AGSLoadable-p) is called. It is meant to be overriden by subclasses. Subclasses should override this method to cancel loading their data and call loadDidFinishWithError: (AGSLoadableBase(ForSubclassEyesOnly)) at the end passing in an error representing NSUserCancelledError.

Since
100

Provided by category AGSLoadableBase(ForSubclassEyesOnly).

◆ doStartLoading:

- (void) doStartLoading: (BOOL)  retrying

Never call this method directly. The framework calls this method on a background thread when loadWithCompletion: (AGSLoadable-p) or retryLoadWithCompletion: (AGSLoadable-p) is called. It is meant to be overriden by subclasses. Subclasses should override this method to load their data and call loadDidFinishWithError: (AGSLoadableBase(ForSubclassEyesOnly)) upon completion, passing in the error if any.

Parameters
retryingflag that is true if this method was called from retryLoadWithCompletion: (AGSLoadable-p).
Since
100

Provided by category AGSLoadableBase(ForSubclassEyesOnly).

◆ fetchContentInFolder:completion:

- (id<AGSCancelable>) fetchContentInFolder: (nullable NSString *)  folderID
completion: (void(^)(NSArray< AGSPortalItem * > *__nullable items, NSError *__nullable error))  completion 

Kicks off an operation that fetches the user's content within the specified folder. The completion block is invoked when the operation completes successfully or if an error is encountered. Items are returned as an array of AGSPortalItem objects.

Parameters
folderIDThe id of the folder to fetch the content from.
completionblock that is invoked when operation finishes
Returns
operation which can be canceled
Since
100

◆ fetchContentWithCompletion:

- (id<AGSCancelable>) fetchContentWithCompletion: (void(^)(NSArray< AGSPortalItem * > *__nullable items, NSArray< AGSPortalFolder * > *__nullable folders, NSError *__nullable error))  completion

Kicks off an operation that fetches the user's content at the root level (meaning, not under any sub-folder). The completion block is invoked when the operation completes successfully or if an error is encountered. Items are returned as an array of AGSPortalItem objects, and folders are returned as an array of AGSPortalFolder.

Parameters
completionblock that is invoked when operation finishes
Returns
operation which can be canceled
Since
100

◆ fetchFavoriteStatus:completion:

- (id<AGSCancelable>) fetchFavoriteStatus: (AGSPortalItem *)  item
completion: (void(^)(BOOL isFavorite, NSError *__nullable error))  completion 

Determines whether the given item is in the user's favorites group.

Parameters
itemThe portal item to check.
completionblock that is invoked when operation finishes
Returns
operation which can be canceled
Since
100

◆ fromJSON:error:

+ (nullable id<AGSJSONSerializable>) fromJSON: (id)  JSONObject
error: (NSError **)  error 
staticrequiredinherited

Initializes and returns an object from its JSON representation.

Parameters
JSONObjectNSDictionary or NSArray containing the JSON.
errorencountered during the operation, if any.
Since
100

◆ fromJSON:withPortal:error:

+ (nullable AGSPortalUser *) fromJSON: (id)  JSONObject
withPortal: (AGSPortal *)  portal
error: (NSError **)  error 

Initialize a portal user with JSON content to represent an existing user in the portal.

Parameters
JSONObjectrepresenting the JSON content of the user
portalThe portal to which the user belongs to.
Since
100

◆ initWithPortal:username:

- (instancetype) initWithPortal: (AGSPortal *)  portal
username: (NSString *)  username 

Initializes a portal user with a portal and a username.

Parameters
portalThe portal that the user belongs to.
usernameThe username of the user.
Since
100

◆ loadDidFinishWithError:

- (void) loadDidFinishWithError: (nullable NSError *)  error

Only subclasses should call this method in doStartLoading: (AGSLoadableBase(ForSubclassEyesOnly)) and doCancelLoading (AGSLoadableBase(ForSubclassEyesOnly)) when done loading or failed to load.

Since
100

Provided by category AGSLoadableBase(ForSubclassEyesOnly).

◆ loadWithCompletion:

- (void) loadWithCompletion: (nullable void(^)(NSError *__nullable error))  completion
requiredinherited

Loads data for the object asynchronously. The completion block is invoked upon completion.

You can call this method any number of times, however only one attempt is made to load the data. If it is already loading, it will just continue to load (i.e. not force a reload). If it has already loaded successfully, the completion block will be invoked right away. If it has already failed to load, the completion block will be invoked right away with error previously encountered. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.

Parameters
completionblock that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load.
Note
The completion block is always invoked on the main thread.
Since
100
See also
- cancelLoad to cancel loading
- retryLoadWithCompletion: to force reload

◆ onLoadStatusChanged

- (void) onLoadStatusChanged

Never call this method directly. The framework calls this method on a background thread when AGSLoadable::loadStatus changes is called. Subclasses can optionally implement this to know when their loading status has changed.

Since
100

Provided by category AGSLoadableBase(ForSubclassEyesOnly).

◆ removeFromFavorites:completion:

- (id<AGSCancelable>) removeFromFavorites: (AGSPortalItem *)  item
completion: (nullable void(^)(NSError *__nullable error))  completion 

Removes the given item from the user's favorites group.

Parameters
itemThe portal item to remove.
completionblock that is invoked when operation finishes
Returns
operation which can be canceled
Since
100

◆ retryLoadWithCompletion:

- (void) retryLoadWithCompletion: (nullable void(^)(NSError *__nullable error))  completion
requiredinherited

Tries to reload when an object has failed to load. This method should be called judiciously. It should be called when:

  1. you didn't have network connectivity earlier when it failed and you want to retry now that you have connectivity
  2. the server was down earlier when it failed and you want to retry
  3. the request is taking too long and you want to cancel it and retry, in which case you will first call cancelLoad and then this method

If the data hasn't started loading, it will start loading. If it is already loading, it will just continue to load. If it has already loaded successfully, calls back right away. If it has already failed to load, tries again. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.

Parameters
completionblock that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load.
Note
The completion block is always invoked on the main thread.
Since
100

◆ toJSON:

- (nullable id) toJSON: (NSError **)  error
requiredinherited

Returns JSON representation for this object.

Parameters
errorencountered during the operation, if any.
Returns
NSDictionary or NSArray containing the JSON.
Since
100

Reimplemented in AGSPortalItem.

Property Documentation

◆ access

- (AGSPortalAccess) access
readnonatomicassign

Determines if other users can search for this user's name to find content and groups owned by this user and to invite this user to join their groups. Can be @ AGSPortalAccessPrivate, AGSPortalAccessOrganization, or AGSPortalAccessPublic.

AGSPortalAccessPrivate implies the user is hidden and others cannot search for the user or view his/her information. AGSPortalAccessOrganization implies only members of the organization can search for or view the user's information. AGSPortalAccessPublic implies anyone can search for or access the user's information.

Since
100

◆ created

- (NSDate*) created
readnonatomicstrong

The date on which the user account was created.

Since
100

◆ email

- (NSString*) email
readnonatomiccopy

Email of the user

Since
100

◆ favoritesGroupID

- (NSString*) favoritesGroupID
readnonatomiccopy

The ID of the group that contains the user’s favorites.

Since
100

◆ fullName

- (NSString*) fullName
readnonatomiccopy

Full name of the user.

Since
100

◆ groups

- (NSArray<AGSPortalGroup*>*) groups
readnonatomiccopy

Groups that the user is a member of.

Since
100

◆ loadError

- (NSError*) loadError
readnonatomicstronginherited

The error that was encountered during the most recent load operation. Will be nil if the operation succeeded.

Since
100

◆ loadStatus

- (AGSLoadStatus) loadStatus
readrequirednonatomicassigninherited

Status of the load operation.

Since
100

◆ modified

- (NSDate*) modified
readnonatomicstrong

The date on which the user account was modified.

Since
100

◆ organizationID

- (NSString*) organizationID
readnonatomiccopy

The id of the organization if the user belongs to an organization.

Since
100

◆ portal

- (AGSPortal*) portal
readnonatomicweak

The portal that the user belongs to. Needs to be optional because it's a weak reference.

Since
100

◆ privileges

- (NSArray<AGSPortalPrivilege*>*) privileges
readnonatomiccopy

An array of AGSPortalPrivilege objects defining the fine-grained privileges possessed by this user.

Since
100

◆ role

- (AGSPortalUserRole) role
readnonatomicassign

The role of the user within the organization.

Since
100

◆ tags

- (NSArray<NSString*>*) tags
readnonatomiccopy

Words or short phrases that describe the user.

Since
100

◆ thumbnail

- (AGSLoadableImage*) thumbnail
readnonatomicstrong

The thumbnail image of the user.

If it is nil, there is no thumbnail. Otherwise, the image needs to be loaded asynchronously by calling loadWithCompletion: (AGSLoadable-p)

Since
100

◆ units

- (AGSUnitSystem) units
readnonatomicassign

The units preference of the user.

Since
100

◆ unknownJSON

- (NSDictionary<NSString*,id>*) unknownJSON
readrequirednonatomiccopyinherited

A dictionary of values that was in the source JSON but was unparsed by API.

Returns
NSDictionary containing the unknown JSON.
Since
100

◆ unsupportedJSON

- (NSDictionary<NSString*,id>*) unsupportedJSON
readnonatomiccopyinherited

A dictionary of values that are supported by the REST API, but not exposed through the SDK API.

Returns
NSDictionary containing the unsupported JSON.
Since
100

◆ userDescription

- (NSString*) userDescription
readnonatomiccopy

Description of the user, if exists.

Since
100

◆ username

- (NSString*) username
readnonatomiccopy

Username of the user.

Since
100