Table of Contents

Class ComponentService

Namespace
The.Components
Assembly
Instagile.dll
public class ComponentService
Inheritance
ComponentService
Inherited Members

Constructors

ComponentService(EntityMetadataDictionary, IAuthentication, ScramblingState)

public ComponentService(EntityMetadataDictionary metadata, IAuthentication authentication, ScramblingState scramblingState)

Parameters

metadata EntityMetadataDictionary
authentication IAuthentication
scramblingState ScramblingState

Fields

SingletonSettingsID

public static readonly Guid SingletonSettingsID

Field Value

Guid

Properties

HasAccountFeature

public bool HasAccountFeature { get; }

Property Value

bool

HasAuditFeature

public bool HasAuditFeature { get; }

Property Value

bool

HasCalendarEntryFeature

public bool HasCalendarEntryFeature { get; }

Property Value

bool

HasJobStatusFeature

public bool HasJobStatusFeature { get; }

Property Value

bool

ScramblingState

public ScramblingState ScramblingState { get; }

Property Value

ScramblingState

Methods

CreateJobRun(IEntityContext)

public IJobRun CreateJobRun(IEntityContext context)

Parameters

context IEntityContext

Returns

IJobRun

CreateManualCalendarEntry(IEntityContext)

public IManualCalendarEntry CreateManualCalendarEntry(IEntityContext context)

Parameters

context IEntityContext

Returns

IManualCalendarEntry

CreateStoredDocument(IEntityContext)

public IStoredDocument CreateStoredDocument(IEntityContext context)

Parameters

context IEntityContext

Returns

IStoredDocument

CreateUserAccount(IEntityContext)

public IUserAccount CreateUserAccount(IEntityContext context)

Parameters

context IEntityContext

Returns

IUserAccount

CreateUserAccount(IEntityContext, string)

public IUserAccount CreateUserAccount(IEntityContext context, string username)

Parameters

context IEntityContext
username string

Returns

IUserAccount

CreateUserClaim(IEntityContext)

public IUserClaim CreateUserClaim(IEntityContext context)

Parameters

context IEntityContext

Returns

IUserClaim

CreateUserClaim(IEntityContext, string, string)

public IUserClaim CreateUserClaim(IEntityContext context, string key, string value)

Parameters

context IEntityContext
key string
value string

Returns

IUserClaim

CreateUserProfile(IEntityContext)

public IUserProfile CreateUserProfile(IEntityContext context)

Parameters

context IEntityContext

Returns

IUserProfile

CreateUserRegistrationRequest(IEntityContext)

public IUserRegistrationRequest CreateUserRegistrationRequest(IEntityContext context)

Parameters

context IEntityContext

Returns

IUserRegistrationRequest

GetCurrentUserAccountAsync(IEntityContext, CancellationToken?)

creates the account and profile if it does not yet exist

public Task<IUserAccount> GetCurrentUserAccountAsync(IEntityContext context, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
cancellationToken CancellationToken?

Returns

Task<IUserAccount>

GetSettingsAsync(IEntityContext, CancellationToken?)

Retrieves or creates the singleton app settings entity

public Task<IApplicationSettings> GetSettingsAsync(IEntityContext context, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
cancellationToken CancellationToken?

Returns

Task<IApplicationSettings>

Remarks

This is not a sophisticated implementation - it's really just a placeholder to be expanded in future.

GetSettingsAsync<T>(IEntityContext, CancellationToken?)

public Task<T> GetSettingsAsync<T>(IEntityContext context, CancellationToken? cancellationToken = null) where T : IApplicationSettings

Parameters

context IEntityContext
cancellationToken CancellationToken?

Returns

Task<T>

Type Parameters

T

GetStoredDocumentAsync(IEntityContext, Guid, CancellationToken?)

retrieve the IStoredDocument for a file/image ID

public Task<IStoredDocument> GetStoredDocumentAsync(IEntityContext context, Guid id, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
id Guid
cancellationToken CancellationToken?

Returns

Task<IStoredDocument>

GetUserAccountAsync(IEntityContext, Identity, CancellationToken?, bool)

creates the account and profile if it does not yet exist

public Task<IUserAccount> GetUserAccountAsync(IEntityContext context, Identity identity, CancellationToken? cancellationToken = null, bool includeClaims = false)

Parameters

context IEntityContext
identity Identity
cancellationToken CancellationToken?
includeClaims bool

Returns

Task<IUserAccount>

Remarks

guarantees that the account will have a profile

GetUserProfileAsync(IUserAccount, CancellationToken?)

creates the profile if it does not yet exist

public Task<IUserProfile> GetUserProfileAsync(IUserAccount account, CancellationToken? cancellationToken = null)

Parameters

account IUserAccount
cancellationToken CancellationToken?

Returns

Task<IUserProfile>

Remarks

we can remove this if ProfileUserStore is improved

ModifyCurrentUserAccountAsync(IEntityContext, Action<IUserAccount>, CancellationToken?)

provides serialised access to the current account and its profile, then returns the account for readonly access

public Task<IUserAccount> ModifyCurrentUserAccountAsync(IEntityContext context, Action<IUserAccount> f, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
f Action<IUserAccount>
cancellationToken CancellationToken?

Returns

Task<IUserAccount>

Remarks

XXX currently locks ALL profiles

ModifyCurrentUserAccountAsync(IEntityContext, Func<IUserAccount, Task>, CancellationToken?)

provides serialised access to the current account and its profile, then returns the account for readonly access

public Task<IUserAccount> ModifyCurrentUserAccountAsync(IEntityContext context, Func<IUserAccount, Task> f, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
f Func<IUserAccount, Task>
cancellationToken CancellationToken?

Returns

Task<IUserAccount>

Remarks

XXX currently locks ALL profiles

ModifyUserAccountAsync(IEntityContext, Identity, Action<IUserAccount>, CancellationToken?)

provides serialised access to an account and its profile, then returns the account for readonly access

public Task<IUserAccount> ModifyUserAccountAsync(IEntityContext context, Identity identity, Action<IUserAccount> f, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
identity Identity
f Action<IUserAccount>
cancellationToken CancellationToken?

Returns

Task<IUserAccount>

Remarks

XXX currently locks ALL profiles

ModifyUserAccountAsync(IEntityContext, Identity, Func<IUserAccount, Task>, CancellationToken?)

provides serialised access to an account and its profile, then returns the account for readonly access

public Task<IUserAccount> ModifyUserAccountAsync(IEntityContext context, Identity identity, Func<IUserAccount, Task> f, CancellationToken? cancellationToken = null)

Parameters

context IEntityContext
identity Identity
f Func<IUserAccount, Task>
cancellationToken CancellationToken?

Returns

Task<IUserAccount>

Remarks

XXX currently locks ALL profiles

QueryAuditEntityLogs(IEntityContext)

public IEntityQuery<IAuditEntity> QueryAuditEntityLogs(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IAuditEntity>

QueryAuditRelationshipLogs(IEntityContext)

public IEntityQuery<IAuditRelationship> QueryAuditRelationshipLogs(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IAuditRelationship>

QueryJobRuns(IEntityContext)

public IEntityQuery<IJobRun> QueryJobRuns(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IJobRun>

QueryManualCalendarEntries(IEntityContext)

public IEntityQuery<IManualCalendarEntry> QueryManualCalendarEntries(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IManualCalendarEntry>

QueryStoredDocuments(IEntityContext)

public IEntityQuery<IStoredDocument> QueryStoredDocuments(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IStoredDocument>

QueryUserAccounts(IEntityContext)

public IEntityQuery<IUserAccount> QueryUserAccounts(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IUserAccount>

QueryUserClaims(IEntityContext)

public IEntityQuery<IUserClaim> QueryUserClaims(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IUserClaim>

QueryUserProfiles(IEntityContext)

public IEntityQuery<IUserProfile> QueryUserProfiles(IEntityContext context)

Parameters

context IEntityContext

Returns

IEntityQuery<IUserProfile>