private static void AddEvent(IScribeDatabase database, BloodhoundEvent item, Event parent) { var entity = item.ToEntity(parent); database.Events.Add(entity); item.Children.ForEach(x => AddEvent(database, x, entity)); }
public static PageVersion AddPage(IScribeDatabase database, string title, string content, User user, ApprovalStatus status, bool published = false, params string[] tags) { var service = new ScribeService(database, null, GetSearchService(), user); var view = service.SavePage(new PageView { ApprovalStatus = status, Title = title, Text = content, Tags = tags }); switch (status) { case ApprovalStatus.Approved: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Approve }); break; case ApprovalStatus.Rejected: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Reject }); break; } if (published) { service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Publish }); } return(database.PageVersions.First(x => x.Id == view.Id)); }
public SearchService(IScribeDatabase database, string path, User user) { _database = database; _settings = SiteSettings.Load(database); _indexPath2 = path; _user = user; }
public static void AddSettings(IScribeDatabase database, SettingsView settings) { var service = SiteSettings.Load(database); service.Apply(settings); service.Save(); }
public static PageVersion UpdatePage(IScribeDatabase database, User user, PageView view, Action <PageView> action, ApprovalStatus status = ApprovalStatus.None, bool published = false) { var service = new ScribeService(database, null, GetSearchService(), user); action(view); service.SavePage(view); database.SaveChanges(); switch (status) { case ApprovalStatus.Approved: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Approve }); break; case ApprovalStatus.Rejected: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Reject }); break; } if (published) { service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Publish }); } database.SaveChanges(); return(database.PageVersions.OrderByDescending(x => x.PageId == view.Id).First()); }
public static SiteSettings Load(IScribeDatabase database, bool ignoreCache = false) { var response = new SiteSettings(database); response.Load(ignoreCache); return(response); }
public static SettingsView AddSettings(IScribeDatabase database, SettingsView settings) { var service = SiteSettings.Load(database); service.Apply(settings); service.Save(); database.SaveChanges(); return(settings); }
public static File AddFile(IScribeDatabase database, User user, string name, string type, byte[] data) { var service = new ScribeService(database, null, null, user); var id = service.SaveFile(new FileView { Name = name, Data = data, Type = type }); return(database.Files.First(x => x.Id == id)); }
public static User AddUser(IScribeDatabase database, string userName, string password, params string[] roles) { var user = new User { DisplayName = userName, UserName = userName.Replace(" ", ""), EmailAddress = $"{userName}@domain.com", Tags = $",{string.Join(",", roles)}," }; user.SetPassword(password); database.Users.Add(user); return(user); }
public static void AddDefaultSettings(IScribeDatabase database) { var service = SiteSettings.Load(database); var settings = new SettingsView { ContactEmail = string.Empty, EnableGuestMode = false, LdapConnectionString = string.Empty, OverwriteFilesOnUpload = false, PrintCss = string.Empty, ViewCss = string.Empty }; service.Apply(settings); service.Save(); }
private static void AddOrUpdateEvent(IScribeDatabase database, BloodhoundEvent item, Event parent) { var entity = item.ToEntity(parent); var existingEvent = database.Events.FirstOrDefault(x => x.UniqueId == item.UniqueId); if (existingEvent != null) { existingEvent.Update(entity); } else { database.Events.Add(entity); } item.Children.ForEach(x => AddOrUpdateEvent(database, x, entity)); }
public static User AddUser(IScribeDatabase database, string userName, string emailAddress, string password, params string[] roles) { var user = new User { DisplayName = userName, EmailAddress = emailAddress, IsEnabled = true, IsActiveDirectory = false, Tags = $",{string.Join(",", roles)},", UserName = userName }; user.SetPassword(password); user.UpdatePictureUrl(); database.Users.Add(user); return(user); }
public static void AddDefaultSettings(IScribeDatabase database) { var service = SiteSettings.Load(database, true); var settings = new SettingsView { ContactEmail = "*****@*****.**", EnableGuestMode = false, LdapConnectionString = string.Empty, MailServer = "127.0.0.1", OverwriteFilesOnUpload = false, SoftDelete = false, ViewCss = string.Empty, PrintCss = string.Empty }; service.Apply(settings); service.Save(); }
public static PageVersion AddPage(IScribeDatabase database, string title, string content, User user, ApprovalStatus status = ApprovalStatus.None, bool published = false, bool homepage = false, params string[] tags) { var service = new ScribeService(database, null, GetSearchService(), user); var view = service.SavePage(new PageView { ApprovalStatus = status, Title = title, Text = content, Tags = tags }); switch (status) { case ApprovalStatus.Approved: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Approve }); break; case ApprovalStatus.Rejected: service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Reject }); break; } if (published) { service.UpdatePage(new PageUpdate { Id = view.Id, Type = PageUpdateType.Publish }); } if (homepage) { var settings = SiteSettings.Load(database); settings.FrontPagePrivateId = view.Id; settings.FrontPagePublicId = view.Id; settings.Save(); database.SaveChanges(); } return(database.PageVersions.OrderByDescending(x => x.PageId == view.Id).First()); }
public ScribeService(IScribeDatabase database, AccountService accountService, ISearchService searchService, User user) { _database = database; _accountService = accountService; _searchService = searchService; _siteSettings = SiteSettings.Load(database); _user = user; Converter = new MarkupConverter(); Converter.ImagedParsed += title => _database.Files.Where(x => x.Name == title).Select(x => new FileView { Id = x.Id, Name = x.Name }).FirstOrDefault(); Converter.LinkParsed += (title, title2) => { return(GetCurrentPagesQuery().Where(x => x.Title == title || x.Title == title2).Select(x => new PageView { Id = x.PageId, Title = x.Title }).FirstOrDefault() ?? GetCurrentPagesQuery().Where(x => "Page/" + x.PageId == title || x.PageId.ToString() == title).Select(x => new PageView { Id = x.PageId, Title = x.Title }).FirstOrDefault()); }; }
public AccountController(IScribeDatabase database, IAuthenticationService authenticationService, INotificationService notificationService) : base(database, authenticationService) { NotificationService = notificationService; }
public SettingsController(IScribeDatabase database, IAuthenticationService authenticationService, INotificationHub notificationHub) : base(database, authenticationService) { }
public AnalyticsService(IScribeDatabase database) { _database = database; }
private SiteSettings(IScribeDatabase database) : base(database.Settings, null) { }
public AnalyticsController(IScribeDatabase database, IAuthenticationService authenticationService, INotificationHub notificationHub) : base(database, authenticationService) { _notificationHub = notificationHub; _service = new AnalyticsService(Database); }
public AccountService(IScribeDatabase database, IAuthenticationService authenticationService) { _database = database; _authenticationService = authenticationService; _ldapConnectionString = SiteSettings.Load(database).LdapConnectionString; }
public PageController(IScribeDatabase database, IAuthenticationService authenticationService, INotificationHub notificationHub) : base(database, authenticationService) { _notificationHub = notificationHub; }
public FileController(IScribeDatabase database, IAuthenticationService authenticationService) : base(database, authenticationService) { }
public BaseApiController(IScribeDatabase database, IAuthenticationService authenticationService) { Database = database; AuthenticationService = authenticationService; }