private FieldPhaseInfo GetTargetPhase(HrbcField field, string phaseName, ISession <PrivateAuthentication> session) { var getPhaseInfoRequest = FieldPhaseInfoReadRequest.Builder.Fields(field); var phases = session.Call(getPhaseInfoRequest.Build()); return(phases[field].Single(phase => string.Equals(phase.Group.Name, phaseName, StringComparison.OrdinalIgnoreCase))); }
public IEnumerable <FieldPhaseInfo> this[HrbcField key] { get { return(this.data[key]); } }
public FieldPhaseInfoUpdateRequestItem(string aclGroupName, HrbcField field, AccessType?permission, Dictionary <string, AccessType> optionAliasToAccessTypeMap, Dictionary <ulong, AccessType> optionIdToAccessTypeMap) { AclGroupName = aclGroupName; Field = field; Permission = permission; OptionAliasToAccessTypeMap = optionAliasToAccessTypeMap; OptionIdToAccessTypeMap = optionIdToAccessTypeMap; }
private object ResolveValue(HrbcField field, object value, Dictionary <object, ulong> references) { if (value is CreateRecordRequest.Reference) { return(references[((CreateRecordRequest.Reference)value).Key]); } // FIXME the value probably need further attention based on type return(value); }
public IContentBuilder AddField(HrbcField field, object data) { if (field.ResourceType != ResourceType.Standard || field.Resource != resourceId) { throw new ArgumentException(String.Format("Field must belong to standard resource {0}", resourceId.ToAlias()), "field"); } checkValue(data); content.Add(field, data); return(this); }
/// <summary> /// Create Acl Updater for fields /// </summary> /// <param name="resourceId">resource type</param> /// <param name="fieldName">System Field or Application Field</param> /// <param name="optionPhase">Option phase according to the resource</param> /// <param name="acccessType">ReadOnly or ReadWrite</param> /// <returns></returns> public static HrbcAclUpdater.AclSpec CreateSingleAclSpec(HrbcField field, string optionPhase, AccessType acccessType) { return(new HrbcAclUpdater.AclSpec { Field = field, OptionAliasToAccessTypeMap = new Dictionary <string, AccessType> { [optionPhase] = acccessType }, AclGroupName = GroupName }); }
/// <summary> /// Create Acl Updater for fields /// </summary> /// <param name="field">hrbc field object</param> /// <param name="optionPhase">Option phase according to the resource</param> /// <param name="acccessType">ReadOnly or ReadWrite</param> /// <returns></returns> public static HrbcAclUpdater.AclSpec CreateSingleAclSpec(HrbcField field, string optionPhase, AccessType accessType) { return(new HrbcAclUpdater.AclSpec { Field = field, OptionAliasToAccessTypeMap = new Dictionary <string, AccessType> { [optionPhase] = AccessType.Inherit }, AclGroupName = "Users Root", GeneralFieldAccessType = accessType, }); }
public object this[HrbcField key] { get { return(content[key]); } set { if (key.ResourceType != ResourceType.Standard || key.Resource != Resource) { throw new ArgumentException(String.Format("Field must belong to standard resource {0}", Resource.ToAlias()), "field"); } checkValue(value); content[key] = value is FieldDataCollection ? ((FieldDataCollection)value).RecordId : value; } }
private FieldDataCollection ReadDataCollection(HrbcField idField, List <Json.FieldValue> values, Dictionary <long, int> versions = null) { var data = new Dictionary <HrbcField, object>(); foreach (var value in values) { if (value.Reference.HasValue) { var reference = value.Reference.Value; var innerIdField = new HrbcField(reference.Resource, reference.ResourceType == ResourceType.Standard ? "P_Id" : "Id", reference.ResourceType); data[value.Field] = ReadDataCollection(innerIdField, reference.Fields); } else { data[value.Field] = value.Value; } } return(new FieldDataCollection(idField, data, versions == null ? -1 : versions[(long)data[idField]])); }
private List <FieldValues> ReadUsers(JsonReader reader) { // user ids are converted to user references HrbcField fieldId = ResourceType.Standard.ToIdField(ResourceId.None); var result = new List <FieldValues>(); // move to first item in list reader.Read(); while (reader.TokenType != JsonToken.EndArray) { var fields = new List <FieldValue>(); fields.Add(new FieldValue { Field = fieldId, References = null, Value = reader.Value }); result.Add(new FieldValues { Fields = fields, Resource = ResourceId.None, ResourceType = ResourceType.User }); // move to next item or end reader.Read(); } return(result); }
public bool Remove(HrbcField key) { return(content.Remove(key)); }
public IContentBuilder Delete(HrbcField fieldNameOrAlias) { Remove(fieldNameOrAlias); return(this); }
public bool ContainsKey(HrbcField key) { return(content.ContainsKey(key)); }
public void Add(HrbcField key, object value) { this[key] = value; }
public IContentBuilder Append(HrbcField field, object data) { this[field] = data; return(this); }
public static FieldPhaseInfoUpdateRequest.IBuilderWithField UpdateFieldPhaseInfo(HrbcField field, string aclGroupName, string optionAlias, AccessType accessType, AccessType?generalPermission) { return(UpdateFieldPhaseInfo(field, aclGroupName, new Dictionary <string, AccessType> { [optionAlias] = accessType }, generalPermission)); }
public static UpdateFieldRequest.IFieldBuilderWithField UpdateField(HrbcField field) { return(UpdateFieldRequest.Builder().Field(field)); }
public IBuilderWithField Item(string aclGroupName, HrbcField field, AccessType?permission, Dictionary <string, AccessType> optionAliasToAccessTypeMap, Dictionary <ulong, AccessType> optionIdToAccessTypeMap) { _items.Add(new FieldPhaseInfoUpdateRequestItem(aclGroupName, field, permission, optionAliasToAccessTypeMap, optionIdToAccessTypeMap)); return(this); }
public IFieldBuilderWithField Field(HrbcField field) { this.field = field; return(this); }
public IFieldBuilderWithRequired LinkedField(HrbcField linkedField) { properties[FieldProperty.LinkedField] = linkedField.ToAlias(); return(this); }
public bool TryGetValue(HrbcField key, out IEnumerable <FieldPhaseInfo> value) { return(this.data.TryGetValue(key, out value)); }
public bool ContainsKey(HrbcField key) { return(this.data.ContainsKey(key)); }
public bool TryGetValue(HrbcField key, out object value) { return(content.TryGetValue(key, out value)); }
/// <summary> /// Create Acl Updater for fields /// </summary> /// <param name="resourceId">resource type</param> /// <param name="field">Hrbc Field</param> /// <returns></returns> public static HrbcAclUpdater.AclSpec CreateSingleAclSpec(ResourceId resourceId, HrbcField field) { return(new HrbcAclUpdater.AclSpec { Field = field, OptionIdToAccessTypeMap = PhaseFlowInfo.Data[resourceId].ToDictionary(i => (ulong)i, i => AccessType.ReadOnly), AclGroupName = "Users Root", GeneralFieldAccessType = AccessType.ReadOnly, }); }
public static FieldPhaseInfoUpdateRequest.IBuilderWithField UpdateFieldPhaseInfo(HrbcField field, string aclGroupName, Dictionary <ulong, AccessType> optionToAccessTypeMap, AccessType?generalPermission) { return(UpdateFieldPhaseInfo().Item(aclGroupName, field, generalPermission, null, optionToAccessTypeMap)); }