public static void AppendNewPermission(TweezersObject newObject) { TweezersObject rolesObj = TweezersSchemaFactory.Find(RolesSchemaName, true, true); TweezersFieldProperties fieldProperties = Schemas.PermissionTemplateFieldProperties.Deserialize <TweezersFieldProperties>(); fieldProperties.Name = newObject.CollectionName; fieldProperties.DisplayName = newObject.PluralName; rolesObj.Fields["permissions"].FieldProperties.ObjectReference.Fields.Add(newObject.CollectionName, new TweezersField() { FieldProperties = fieldProperties }); SafeAddSchema(rolesObj); DefaultPermission permission = newObject.DefaultPermission; TweezersMultipleResults <JObject> roles = rolesObj.FindInDb(TweezersSchemaFactory.DatabaseProxy, FindOptions <JObject> .Default(0, int.MaxValue), true); foreach (JObject role in roles.Items) { role["permissions"][newObject.CollectionName] = permission.ToString(); rolesObj.Update(TweezersSchemaFactory.DatabaseProxy, role["_id"].ToString(), role); } }
private static TweezersObject CreateRolesSchema() { TweezersObject rolesInitialSchema = Schemas.RolesMetaJson.Deserialize <TweezersObject>(); IEnumerable <TweezersObject> additionalInternalSchemas = new[] { rolesInitialSchema }; if (SchemaManagement.CanChangeSchema) { additionalInternalSchemas = additionalInternalSchemas.Append(SchemaManagement.SchemaMetadata); } IEnumerable <TweezersObject> otherObjects = TweezersSchemaFactory.GetAll(true).Concat(additionalInternalSchemas); TweezersObject permissionsObjectReference = rolesInitialSchema.Fields["permissions"].FieldProperties.ObjectReference; foreach (TweezersObject @object in otherObjects) { TweezersFieldProperties fieldProperties = Schemas.PermissionTemplateFieldProperties.Deserialize <TweezersFieldProperties>(); fieldProperties.Name = @object.CollectionName; fieldProperties.DisplayName = @object.PluralName; if (permissionsObjectReference.Fields.ContainsKey(@object.CollectionName)) { continue; } permissionsObjectReference.Fields.Add(@object.CollectionName, new TweezersField() { FieldProperties = fieldProperties }); } return(rolesInitialSchema); }
public static IValidator Create(TweezersFieldProperties arrayFieldProperties) { return(new ArrayValidator(arrayFieldProperties)); }
private ArrayValidator(TweezersFieldProperties fieldProperties) { this.FieldProperties = fieldProperties; }