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 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;
|
||||
|
||||
[PrimaryKey(nameof(Id))]
|
||||
public class User
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public long TelegramId { get; set; }
|
||||
|
||||
[Key]
|
||||
public required long TelegramId { get; set; }
|
||||
public string? Username { get; set; }
|
||||
public DateTime CreatedAt { get; set; } = DateTime.Now;
|
||||
}
|
@ -1,19 +1,36 @@
|
||||
namespace JOBot.Backend.Services.gRPC;
|
||||
|
||||
using Grpc.Core;
|
||||
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(
|
||||
RegisterRequest request,
|
||||
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
|
||||
{
|
||||
UserId = request.UserId
|
||||
Success = true
|
||||
});
|
||||
}
|
||||
|
||||
return Task.FromResult(new RegisterResponse
|
||||
{
|
||||
Success = false
|
||||
});
|
||||
}
|
||||
}
|
@ -11,5 +11,5 @@ message RegisterRequest{
|
||||
}
|
||||
|
||||
message RegisterResponse{
|
||||
int64 user_id = 1;
|
||||
bool success = 1;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user