public static void SetAuthorizationFor(this IDocumentSession session, object entity, DocumentAuthorization documentAuthorization) { var metadata = session.Advanced.GetMetadataFor(entity); var jsonSerializer = JsonExtensions.CreateDefaultJsonSerializer(); jsonSerializer.ContractResolver = session.Advanced.DocumentStore.Conventions.JsonContractResolver; metadata[RavenDocumentAuthorization] = RavenJObject.FromObject(documentAuthorization, jsonSerializer); }
public static void SetAuthorizationFor(this IDocumentSession session, object entity, DocumentAuthorization documentAuthorization) { var metadata = session.Advanced.GetMetadataFor(entity); metadata[RavenDocumentAuthorization] = JObject.FromObject(documentAuthorization, new JsonSerializer { ContractResolver = session.Advanced.Conventions.JsonContractResolver, }); }
public static void Initialize(this Entity entity, IDocumentSession session) { if (string.IsNullOrWhiteSpace(entity.Id)) throw new NullReferenceException("project.Id"); var permission = new DocumentPermission { Allow = true, Operation = Global.Constants.Projects, }; var authorization = new DocumentAuthorization { Permissions = {permission}, Tags = {entity.Id} }; session.SetAuthorizationFor(entity, authorization); }