Move Data.MongoDB to Data
This commit is contained in:
parent
6e412f4f26
commit
005eea35e2
11 changed files with 55 additions and 10 deletions
|
@ -13,7 +13,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robware.Auth.Tests", "Robwa
|
||||||
EndProject
|
EndProject
|
||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "..\build\_build.csproj", "{19A36DA9-BFBF-4988-B7C7-4808D6B57246}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "..\build\_build.csproj", "{19A36DA9-BFBF-4988-B7C7-4808D6B57246}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robware.Data.MongoDB", "Robware.Data.MongoDB\Robware.Data.MongoDB.csproj", "{574A8F26-06E4-4225-AE82-5824A721DD10}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robware.Data", "Robware.Data\Robware.Data.csproj", "{574A8F26-06E4-4225-AE82-5824A721DD10}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Robware.Auth\Robware.Auth.csproj" />
|
<ProjectReference Include="..\Robware.Auth\Robware.Auth.csproj" />
|
||||||
<ProjectReference Include="..\Robware.Data.MongoDB\Robware.Data.MongoDB.csproj" />
|
<ProjectReference Include="..\Robware.Data\Robware.Data.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -6,7 +6,7 @@ using Microsoft.Extensions.Hosting;
|
||||||
using MongoDB.Driver;
|
using MongoDB.Driver;
|
||||||
using Robware.Auth.API;
|
using Robware.Auth.API;
|
||||||
using Robware.Auth.Users;
|
using Robware.Auth.Users;
|
||||||
using Robware.Data.MongoDB;
|
using Robware.Data;
|
||||||
|
|
||||||
namespace Robware.Api.Auth {
|
namespace Robware.Api.Auth {
|
||||||
public class Startup {
|
public class Startup {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using Robware.Auth.API;
|
using Robware.Auth.API;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Robware.Data.MongoDB {
|
namespace Robware.Data {
|
||||||
public class ApiKeyRepository : IApiKeys {
|
public class ApiKeyRepository : IApiKeys {
|
||||||
public Task<ApiKey> Get(string key) {
|
public Task<ApiKey> Get(string key) {
|
||||||
throw new System.NotImplementedException();
|
throw new System.NotImplementedException();
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
using MongoDB.Driver;
|
using MongoDB.Driver;
|
||||||
using Robware.Auth.Users;
|
using Robware.Auth.Users;
|
||||||
using Robware.Data.MongoDB.Users;
|
using Robware.Data.Users;
|
||||||
using Robware.Data.MongoDB.Users.States;
|
using Robware.Data.Users.States;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Robware.Data.MongoDB {
|
namespace Robware.Data {
|
||||||
public class UserRepository : IUsers {
|
public class UserRepository : IUsers {
|
||||||
IMongoCollection<UserState> _collection;
|
IMongoCollection<UserState> _collection;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using MongoDB.Bson.Serialization.Attributes;
|
using MongoDB.Bson.Serialization.Attributes;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Robware.Data.MongoDB.Users.States {
|
namespace Robware.Data.Users.States {
|
||||||
public class UserState {
|
public class UserState {
|
||||||
[BsonId]
|
[BsonId]
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
10
src/Robware.Data/ApiKeyRepository.cs
Normal file
10
src/Robware.Data/ApiKeyRepository.cs
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
using Robware.Auth.API;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Robware.Data {
|
||||||
|
public class ApiKeyRepository : IApiKeys {
|
||||||
|
public Task<ApiKey> Get(string key) {
|
||||||
|
throw new System.NotImplementedException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
23
src/Robware.Data/UserRepository.cs
Normal file
23
src/Robware.Data/UserRepository.cs
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
using MongoDB.Driver;
|
||||||
|
using Robware.Auth.Users;
|
||||||
|
using Robware.Data.Users;
|
||||||
|
using Robware.Data.Users.States;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Robware.Data {
|
||||||
|
public class UserRepository : IUsers {
|
||||||
|
IMongoCollection<UserState> _collection;
|
||||||
|
|
||||||
|
public UserRepository(IMongoDatabase database) {
|
||||||
|
_collection = database.GetCollection<UserState>("users");
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<User> GetByEmail(string email) {
|
||||||
|
var result = (await _collection.FindAsync(user => user.Email == email)).FirstOrDefault();
|
||||||
|
if (result == null)
|
||||||
|
throw new UserNotFoundException(email);
|
||||||
|
|
||||||
|
return new DatabaseUser(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
using Robware.Auth.Users;
|
using Robware.Auth.Users;
|
||||||
using Robware.Data.MongoDB.Users.States;
|
using Robware.Data.Users.States;
|
||||||
|
|
||||||
namespace Robware.Data.MongoDB.Users {
|
namespace Robware.Data.Users {
|
||||||
public class DatabaseUser : User {
|
public class DatabaseUser : User {
|
||||||
public DatabaseUser(UserState state) {
|
public DatabaseUser(UserState state) {
|
||||||
Username = state.Email;
|
Username = state.Email;
|
12
src/Robware.Data/Users/States/UserState.cs
Normal file
12
src/Robware.Data/Users/States/UserState.cs
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
using MongoDB.Bson.Serialization.Attributes;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Robware.Data.Users.States {
|
||||||
|
public class UserState {
|
||||||
|
[BsonId]
|
||||||
|
public int Id { get; set; }
|
||||||
|
public string Email { get; set; }
|
||||||
|
public string Password { get; set; }
|
||||||
|
public DateTime Created{ get; set; }
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue