feat: created register method for entry
This commit is contained in:
parent
881ae85ef7
commit
c09d17047d
@ -8,4 +8,12 @@ class AppDbContext : DbContext
|
|||||||
public DbSet<User> Users { get; set; }
|
public DbSet<User> Users { get; set; }
|
||||||
|
|
||||||
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
|
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
|
||||||
|
|
||||||
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
base.OnModelCreating(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity<User>()
|
||||||
|
.HasAlternateKey(b => b.TelegramId);
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,9 +1,15 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
namespace JOBot.Backend.DAL.Models;
|
namespace JOBot.Backend.DAL.Models;
|
||||||
|
|
||||||
|
[PrimaryKey(nameof(Id))]
|
||||||
public class User
|
public class User
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
public long TelegramId { get; set; }
|
|
||||||
|
[Key]
|
||||||
|
public required long TelegramId { get; set; }
|
||||||
public string? Username { get; set; }
|
public string? Username { get; set; }
|
||||||
public DateTime CreatedAt { get; set; } = DateTime.Now;
|
public DateTime CreatedAt { get; set; } = DateTime.Now;
|
||||||
}
|
}
|
@ -1,19 +1,36 @@
|
|||||||
namespace JOBot.Backend.Services.gRPC;
|
|
||||||
|
|
||||||
using Grpc.Core;
|
using Grpc.Core;
|
||||||
using JOBot.Proto;
|
using JOBot.Proto;
|
||||||
|
using JOBot.Backend.DAL.Context;
|
||||||
|
|
||||||
class UserService : User.UserBase
|
using Models = JOBot.Backend.DAL.Models;
|
||||||
|
|
||||||
|
namespace JOBot.Backend.Services.gRPC;
|
||||||
|
class UserService(AppDbContext dbContext) : User.UserBase
|
||||||
{
|
{
|
||||||
|
|
||||||
public override Task<RegisterResponse> Register(
|
public override Task<RegisterResponse> Register(
|
||||||
RegisterRequest request,
|
RegisterRequest request,
|
||||||
ServerCallContext context)
|
ServerCallContext context)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
if(!dbContext.Users.Where(x => x.TelegramId == request.UserId)
|
||||||
|
.Any())
|
||||||
|
{
|
||||||
|
dbContext.Users.Add(new Models.User()
|
||||||
|
{
|
||||||
|
TelegramId = request.UserId,
|
||||||
|
Username = !string.IsNullOrEmpty(request.Username) ? request.Username : null
|
||||||
|
});
|
||||||
|
|
||||||
|
return Task.FromResult(new RegisterResponse
|
||||||
|
{
|
||||||
|
Success = true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return Task.FromResult(new RegisterResponse
|
return Task.FromResult(new RegisterResponse
|
||||||
{
|
{
|
||||||
UserId = request.UserId
|
Success = false
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,5 +11,5 @@ message RegisterRequest{
|
|||||||
}
|
}
|
||||||
|
|
||||||
message RegisterResponse{
|
message RegisterResponse{
|
||||||
int64 user_id = 1;
|
bool success = 1;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user