Skip to content

Instantly share code, notes, and snippets.

Judah Gabriel Himango JudahGabriel

Block or report user

Report or block JudahGabriel

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@JudahGabriel
JudahGabriel / CowboysController.cs
Created Aug 1, 2019
Querying for orange-lovin' cowboys in a RavenDB Cloud cluster
View CowboysController.cs
using (var session = raven.OpenSession())
{
var cowboys = session.Query<Cowboy>().Where(c => c.FavoriteColor == "Orange");
}
@JudahGabriel
JudahGabriel / CowboysController.cs
Created Aug 1, 2019
Saving a real Cowboy to a RavenDB Cloud cluster
View CowboysController.cs
using (var session = raven.OpenSession())
{
var cowboy = new Cowboy
{
Name = "Maunder, C.",
FavoriteColor = "Orange"
};
session.Store(outlaw);
session.SaveChanges();
}
@JudahGabriel
JudahGabriel / Startup.cs
Created Aug 1, 2019
Configuring a connection to a RavenDB Cloud cluster
View Startup.cs
// Connect to our RavenDB Cloud cluster.
// Notice the only thing that has changed is that we're passing 3 URLs in, one for each node in our cluster.
var raven = new DocumentStore
{
Database = "OldWestHeroes",
Urls = new[]
{
"https://a.cluster.clistctrl.ravendb.cloud",
"https://b.cluster.clistctrl.ravendb.cloud",
"https://c.cluster.clistctrl.ravendb.cloud",
View OutlawsController.cs
using (var session = raven.OpenSession())
{
var gunslingers = session.Query<Outlaw>().Where(o => o.IsGunslinger);
}
@JudahGabriel
JudahGabriel / HomeController.cs
Created Aug 1, 2019
Using RavenDB to store an object
View HomeController.cs
using (var session = raven.OpenSession())
{
var outlaw = new Outlaw
{
Name = "Simmons, J.",
IsGunslinger = true
};
session.Store(outlaw);
session.SaveChanges();
}
View Startup.cs
var raven = new DocumentStore
{
Urls = new[] { "https://a.free.clistctrl.ravendb.cloud" },
Database = "Outlaws",
Certificate = new X509Certificate2("\path\to\free.clistctrl.client.certificate.pfx", "")
};
raven.Initialize();
View AccountController.cs
public class AccountController : Controller
{
private UserManager<AppUser> userManager;
private SignInManager<AppUser> signInManager;
// RavenDB.Identity provides a UserManager and SignInManager for dependency injection.
public AccountController(UserManager<AppUser> userManager, SignInManager<AppUser> signInManager)
{
this.userManager = userManager;
this.signInManager = signInManager;
View HomeController.cs
public class HomeController : Controller
{
[Authorize] // Authorize: the user must be signed in
public IActionResult Index()
{
}
[Authorize(Roles = "Admin"] // Authorize: the signed in user must be an admin
public IActionResult Index()
{
View Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add RavenDB and identity.
services
.AddRavenDb(Configuration.GetConnectionString("RavenDbConnection")) // Create a RavenDB DocumentStore singleton.
.AddRavenDbAsyncSession() // Create a RavenDB IAsyncDocumentSession for each request.
.AddRavenDbIdentity<AppUser>(); // Use Raven for users and roles. AppUser is your class, a simple DTO to hold user data. See https://github.com/JudahGabriel/RavenDB.Identity/blob/master/Sample/Models/AppUser.cs
...
}
View UserController.js
UsersController.prototype.fetchUsers = function () {
return __awaiter(this, void 0, void 0, function () {
var results;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, this.usersApi.getUsers(0, 100)];
case 1:
results = _a.sent();
this.users = results;
return [2 /*return*/];
You can’t perform that action at this time.