add version 0.1.0.0
parent
49bb2d2b09
commit
d5834894d0
|
@ -13,7 +13,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"SiteSettings": {
|
"SiteSettings": {
|
||||||
"BaseUrl": "http://localhost:32769",
|
"BaseUrl": "http://192.168.88.12:32769",
|
||||||
"UserSetting": {
|
"UserSetting": {
|
||||||
"Username": "root",
|
"Username": "root",
|
||||||
"Email": "info@brizco.io",
|
"Email": "info@brizco.io",
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||||
<DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
|
<DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
|
||||||
|
<AssemblyVersion>0.1.0.0</AssemblyVersion>
|
||||||
|
<FileVersion>0.1.0.0</FileVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
namespace Brizco.Api.Controllers;
|
using Brizco.Core.EntityServices;
|
||||||
|
|
||||||
|
namespace Brizco.Api.Controllers;
|
||||||
|
|
||||||
public class RoleController : ICarterModule
|
public class RoleController : ICarterModule
|
||||||
{
|
{
|
||||||
|
@ -11,6 +13,10 @@ public class RoleController : ICarterModule
|
||||||
.MapGroup($"api/role")
|
.MapGroup($"api/role")
|
||||||
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser());
|
.RequireAuthorization(builder => builder.AddAuthenticationSchemes("Bearer").RequireAuthenticatedUser());
|
||||||
|
|
||||||
|
group.MapGet("/permission", GetPermissions)
|
||||||
|
.WithDisplayName("Permissions")
|
||||||
|
.HasApiVersion(1.0);
|
||||||
|
|
||||||
group.MapGet("", GetAllAsync)
|
group.MapGet("", GetAllAsync)
|
||||||
.WithDisplayName("GetAllRoles")
|
.WithDisplayName("GetAllRoles")
|
||||||
.HasApiVersion(1.0);
|
.HasApiVersion(1.0);
|
||||||
|
@ -48,4 +54,7 @@ public class RoleController : ICarterModule
|
||||||
// DELETE:Delete Entity
|
// DELETE:Delete Entity
|
||||||
public async Task<IResult> Delete(Guid id, IUserService userService, CancellationToken cancellationToken)
|
public async Task<IResult> Delete(Guid id, IUserService userService, CancellationToken cancellationToken)
|
||||||
=> TypedResults.Ok(await userService.RemoveRoleAsync(id));
|
=> TypedResults.Ok(await userService.RemoveRoleAsync(id));
|
||||||
|
|
||||||
|
public IResult GetPermissions(IUserService userService)
|
||||||
|
=> TypedResults.Ok(userService.GetPermissions());
|
||||||
}
|
}
|
|
@ -26,7 +26,7 @@ public class CreateComplexUserCommandHandler : IRequestHandler<CreateComplexUser
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
await _repositoryWrapper.BeginTransaction(cancellationToken);
|
//await _repositoryWrapper.BeginTransaction(cancellationToken);
|
||||||
var complex = await _repositoryWrapper.SetRepository<Domain.Entities.Complex.Complex>().TableNoTracking
|
var complex = await _repositoryWrapper.SetRepository<Domain.Entities.Complex.Complex>().TableNoTracking
|
||||||
.FirstOrDefaultAsync(c => c.Id == request.ComplexId, cancellationToken);
|
.FirstOrDefaultAsync(c => c.Id == request.ComplexId, cancellationToken);
|
||||||
if (complex == null)
|
if (complex == null)
|
||||||
|
@ -53,7 +53,7 @@ public class CreateComplexUserCommandHandler : IRequestHandler<CreateComplexUser
|
||||||
|
|
||||||
_repositoryWrapper.SetRepository<ComplexUser>().Add(complexUser);
|
_repositoryWrapper.SetRepository<ComplexUser>().Add(complexUser);
|
||||||
await _repositoryWrapper.SaveChangesAsync(cancellationToken);
|
await _repositoryWrapper.SaveChangesAsync(cancellationToken);
|
||||||
await _repositoryWrapper.CommitAsync(cancellationToken);
|
//await _repositoryWrapper.CommitAsync(cancellationToken);
|
||||||
return complexUser.AdaptToSDto();
|
return complexUser.AdaptToSDto();
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,57 @@
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Brizco.Repository.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class editTask : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "TaskDays",
|
||||||
|
schema: "public",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
DayOfWeek = table.Column<int>(type: "integer", nullable: false),
|
||||||
|
TaskId = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
RemovedAt = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
|
||||||
|
CreatedAt = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
|
||||||
|
CreatedBy = table.Column<string>(type: "text", nullable: false),
|
||||||
|
IsRemoved = table.Column<bool>(type: "boolean", nullable: false),
|
||||||
|
RemovedBy = table.Column<string>(type: "text", nullable: false),
|
||||||
|
ModifiedAt = table.Column<DateTime>(type: "timestamp without time zone", nullable: false),
|
||||||
|
ModifiedBy = table.Column<string>(type: "text", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_TaskDays", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_TaskDays_Tasks_TaskId",
|
||||||
|
column: x => x.TaskId,
|
||||||
|
principalSchema: "public",
|
||||||
|
principalTable: "Tasks",
|
||||||
|
principalColumn: "Id",
|
||||||
|
onDelete: ReferentialAction.Restrict);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_TaskDays_TaskId",
|
||||||
|
schema: "public",
|
||||||
|
table: "TaskDays",
|
||||||
|
column: "TaskId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "TaskDays",
|
||||||
|
schema: "public");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,30 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Brizco.Repository.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class editUserNationalId : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.RenameColumn(
|
||||||
|
name: "InternationalId",
|
||||||
|
schema: "public",
|
||||||
|
table: "Users",
|
||||||
|
newName: "NationalId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.RenameColumn(
|
||||||
|
name: "NationalId",
|
||||||
|
schema: "public",
|
||||||
|
table: "Users",
|
||||||
|
newName: "InternationalId");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -431,6 +431,49 @@ namespace Brizco.Repository.Migrations
|
||||||
b.UseTphMappingStrategy();
|
b.UseTphMappingStrategy();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Brizco.Domain.Entities.Task.TaskDay", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreatedAt")
|
||||||
|
.HasColumnType("timestamp without time zone");
|
||||||
|
|
||||||
|
b.Property<string>("CreatedBy")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("DayOfWeek")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<bool>("IsRemoved")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<DateTime>("ModifiedAt")
|
||||||
|
.HasColumnType("timestamp without time zone");
|
||||||
|
|
||||||
|
b.Property<string>("ModifiedBy")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<DateTime>("RemovedAt")
|
||||||
|
.HasColumnType("timestamp without time zone");
|
||||||
|
|
||||||
|
b.Property<string>("RemovedBy")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<Guid>("TaskId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("TaskId");
|
||||||
|
|
||||||
|
b.ToTable("TaskDays", "public");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Brizco.Domain.Entities.Task.TaskRole", b =>
|
modelBuilder.Entity("Brizco.Domain.Entities.Task.TaskRole", b =>
|
||||||
{
|
{
|
||||||
b.Property<Guid>("Id")
|
b.Property<Guid>("Id")
|
||||||
|
@ -640,10 +683,6 @@ namespace Brizco.Repository.Migrations
|
||||||
b.Property<int>("Gender")
|
b.Property<int>("Gender")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<string>("InternationalId")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("text");
|
|
||||||
|
|
||||||
b.Property<string>("LastName")
|
b.Property<string>("LastName")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
@ -654,6 +693,10 @@ namespace Brizco.Repository.Migrations
|
||||||
b.Property<DateTimeOffset?>("LockoutEnd")
|
b.Property<DateTimeOffset?>("LockoutEnd")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
|
b.Property<string>("NationalId")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<string>("NormalizedEmail")
|
b.Property<string>("NormalizedEmail")
|
||||||
.HasMaxLength(256)
|
.HasMaxLength(256)
|
||||||
.HasColumnType("character varying(256)");
|
.HasColumnType("character varying(256)");
|
||||||
|
@ -920,6 +963,17 @@ namespace Brizco.Repository.Migrations
|
||||||
b.Navigation("Complex");
|
b.Navigation("Complex");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Brizco.Domain.Entities.Task.TaskDay", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Brizco.Domain.Entities.Task.Task", "Task")
|
||||||
|
.WithMany("Days")
|
||||||
|
.HasForeignKey("TaskId")
|
||||||
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("Task");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Brizco.Domain.Entities.Task.TaskRole", b =>
|
modelBuilder.Entity("Brizco.Domain.Entities.Task.TaskRole", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("Brizco.Domain.Entities.User.ApplicationRole", "Role")
|
b.HasOne("Brizco.Domain.Entities.User.ApplicationRole", "Role")
|
||||||
|
@ -1067,6 +1121,8 @@ namespace Brizco.Repository.Migrations
|
||||||
|
|
||||||
modelBuilder.Entity("Brizco.Domain.Entities.Task.Task", b =>
|
modelBuilder.Entity("Brizco.Domain.Entities.Task.Task", b =>
|
||||||
{
|
{
|
||||||
|
b.Navigation("Days");
|
||||||
|
|
||||||
b.Navigation("Roles");
|
b.Navigation("Roles");
|
||||||
|
|
||||||
b.Navigation("Shifts");
|
b.Navigation("Shifts");
|
||||||
|
|
|
@ -62,6 +62,19 @@ public static class ApplicationClaims
|
||||||
Detail = "دسترسی به افزودن و مدیریت فعالیت ها فروشگاه شما"
|
Detail = "دسترسی به افزودن و مدیریت فعالیت ها فروشگاه شما"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static List<ClaimDto> AllClaimDtos = new List<ClaimDto>
|
||||||
|
{
|
||||||
|
ManageActivities,
|
||||||
|
ViewTasks,
|
||||||
|
ManageTasks,
|
||||||
|
|
||||||
|
ManageShiftPlans,
|
||||||
|
ViewShifts,
|
||||||
|
ManageShifts,
|
||||||
|
|
||||||
|
ViewComplexes,
|
||||||
|
ManageComplexes,
|
||||||
|
};
|
||||||
|
|
||||||
public static List<Claim> AllClaims = new List<Claim>
|
public static List<Claim> AllClaims = new List<Claim>
|
||||||
{
|
{
|
||||||
|
|
|
@ -129,6 +129,7 @@ public class JwtService : IJwtService
|
||||||
var claims = new List<Claim>();
|
var claims = new List<Claim>();
|
||||||
claims.Add(new Claim("JwtID", jwtId));
|
claims.Add(new Claim("JwtID", jwtId));
|
||||||
claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
|
claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
|
||||||
|
claims.Add(new Claim("SignUpStatus", ((int)baseUser.SignUpStatus).ToString()));
|
||||||
claims.Add(new Claim(ClaimTypes.NameIdentifier, baseUser.Id.ToString()));
|
claims.Add(new Claim(ClaimTypes.NameIdentifier, baseUser.Id.ToString()));
|
||||||
if (baseUser.Email != null)
|
if (baseUser.Email != null)
|
||||||
claims.Add(new Claim(ClaimTypes.Email, baseUser.Email));
|
claims.Add(new Claim(ClaimTypes.Email, baseUser.Email));
|
||||||
|
@ -142,6 +143,7 @@ public class JwtService : IJwtService
|
||||||
var applicationRole = await _roleManager.FindByIdAsync(roleId);
|
var applicationRole = await _roleManager.FindByIdAsync(roleId);
|
||||||
var roleClaims = await _roleManager.GetClaimsAsync(applicationRole);
|
var roleClaims = await _roleManager.GetClaimsAsync(applicationRole);
|
||||||
var claims = new List<Claim>();
|
var claims = new List<Claim>();
|
||||||
|
claims.Add(new Claim("SignUpStatus",((int)baseUser.SignUpStatus).ToString()));
|
||||||
claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
|
claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
|
||||||
claims.Add(new Claim(ClaimTypes.NameIdentifier, baseUser.Id.ToString()));
|
claims.Add(new Claim(ClaimTypes.NameIdentifier, baseUser.Id.ToString()));
|
||||||
claims.Add(new Claim(ClaimTypes.Role,applicationRole.EnglishName));
|
claims.Add(new Claim(ClaimTypes.Role,applicationRole.EnglishName));
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
<Using Include="Brizco.Core.EntityServices.Abstracts" />
|
<Using Include="Brizco.Core.EntityServices.Abstracts" />
|
||||||
<Using Include="Brizco.Domain.CommandQueries.Commands" />
|
<Using Include="Brizco.Domain.CommandQueries.Commands" />
|
||||||
<Using Include="Brizco.Domain.Dtos.RequestDtos" />
|
<Using Include="Brizco.Domain.Dtos.RequestDtos" />
|
||||||
|
<Using Include="Brizco.Domain.Dtos.ResponseDto" />
|
||||||
<Using Include="Brizco.Domain.Dtos.SmallDtos" />
|
<Using Include="Brizco.Domain.Dtos.SmallDtos" />
|
||||||
<Using Include="Brizco.Domain.Entities.Complex" />
|
<Using Include="Brizco.Domain.Entities.Complex" />
|
||||||
<Using Include="Brizco.Domain.Entities.User" />
|
<Using Include="Brizco.Domain.Entities.User" />
|
||||||
|
|
|
@ -4,7 +4,7 @@ public interface IAccountService : IScopedDependency
|
||||||
{
|
{
|
||||||
public Task<AccessToken<ApplicationUserSDto>> LoginWithPasswordAsync(string userName, string password, CancellationToken cancellationToken);
|
public Task<AccessToken<ApplicationUserSDto>> LoginWithPasswordAsync(string userName, string password, CancellationToken cancellationToken);
|
||||||
public Task<AccessToken<ApplicationUserSDto>> LoginWithVerifyCodeAsync(string userName, string verifyCode, CancellationToken cancellationToken);
|
public Task<AccessToken<ApplicationUserSDto>> LoginWithVerifyCodeAsync(string userName, string verifyCode, CancellationToken cancellationToken);
|
||||||
public Task<SignUpStatus> GetVerifyCodeAsync(string phoneNumber);
|
public Task<VerifyCodeResponseDto> GetVerifyCodeAsync(string phoneNumber);
|
||||||
public Task<bool> ForgetPasswordAsync(string phoneNumber);
|
public Task<bool> ForgetPasswordAsync(string phoneNumber);
|
||||||
public Task<bool> CheckMemberShipAsync(string phoneNumber);
|
public Task<bool> CheckMemberShipAsync(string phoneNumber);
|
||||||
public Task<AccessToken<ApplicationUserSDto>> CompleteComplexSignUpAsync(SignUpRequestDto requestDto, CancellationToken cancellationToken);
|
public Task<AccessToken<ApplicationUserSDto>> CompleteComplexSignUpAsync(SignUpRequestDto requestDto, CancellationToken cancellationToken);
|
||||||
|
|
|
@ -64,7 +64,7 @@ public class AccountService : IAccountService
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<SignUpStatus> GetVerifyCodeAsync(string phoneNumber)
|
public async Task<VerifyCodeResponseDto> GetVerifyCodeAsync(string phoneNumber)
|
||||||
{
|
{
|
||||||
var newPhoneNumber = StringExtensions.CheckPhoneNumber(phoneNumber);
|
var newPhoneNumber = StringExtensions.CheckPhoneNumber(phoneNumber);
|
||||||
if (!PhoneNumberExtensions.CheckPhoneNumber(newPhoneNumber))
|
if (!PhoneNumberExtensions.CheckPhoneNumber(newPhoneNumber))
|
||||||
|
@ -74,8 +74,8 @@ public class AccountService : IAccountService
|
||||||
user = await _userService.CreateUserAsync(phoneNumber);
|
user = await _userService.CreateUserAsync(phoneNumber);
|
||||||
|
|
||||||
var token = await _userManager.GenerateTwoFactorTokenAsync(user, "Phone");
|
var token = await _userManager.GenerateTwoFactorTokenAsync(user, "Phone");
|
||||||
await _smsService.SendVerifyCodeAsync(newPhoneNumber, token);
|
//await _smsService.SendVerifyCodeAsync(newPhoneNumber, token);
|
||||||
return user.SignUpStatus;
|
return new VerifyCodeResponseDto { SignUpStatus = SignUpStatus.StartSignOn };
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<AccessToken<ApplicationUserSDto>> LoginWithPasswordAsync(string userName, string password, CancellationToken cancellationToken)
|
public async Task<AccessToken<ApplicationUserSDto>> LoginWithPasswordAsync(string userName, string password, CancellationToken cancellationToken)
|
||||||
|
@ -133,12 +133,14 @@ public class AccountService : IAccountService
|
||||||
throw new AppException("آدرس مجموعه را وارد کنید");
|
throw new AppException("آدرس مجموعه را وارد کنید");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
user.FirstName = requestDto.FirstName;
|
user.FirstName = requestDto.FirstName;
|
||||||
user.LastName = requestDto.LastName;
|
user.LastName = requestDto.LastName;
|
||||||
user.SignUpStatus = SignUpStatus.ComplexCreated;
|
user.SignUpStatus = SignUpStatus.ComplexCreated;
|
||||||
var result = await _userManager.UpdateAsync(user);
|
var result = await _userManager.UpdateAsync(user);
|
||||||
if (!result.Succeeded)
|
if (!result.Succeeded)
|
||||||
throw new AppException(string.Join('|', result.Errors));
|
throw new AppException(string.Join('|', result.Errors.Select(e => e.Description)));
|
||||||
|
|
||||||
var complex = await _complexService.CreateComplexAsync(requestDto.ComplexName,
|
var complex = await _complexService.CreateComplexAsync(requestDto.ComplexName,
|
||||||
requestDto.ComplexAddress,
|
requestDto.ComplexAddress,
|
||||||
|
|
|
@ -16,4 +16,5 @@ public interface IUserService : IScopedDependency
|
||||||
Task<ApplicationRole> CreateRoleAsync(RoleActionRequestDto request);
|
Task<ApplicationRole> CreateRoleAsync(RoleActionRequestDto request);
|
||||||
Task<bool> EditRoleAsync(RoleActionRequestDto request);
|
Task<bool> EditRoleAsync(RoleActionRequestDto request);
|
||||||
Task<bool> RemoveRoleAsync(Guid roleId);
|
Task<bool> RemoveRoleAsync(Guid roleId);
|
||||||
|
List<ClaimDto> GetPermissions();
|
||||||
}
|
}
|
|
@ -44,7 +44,7 @@ public class UserService : IUserService
|
||||||
{
|
{
|
||||||
UserName = phoneNumber,
|
UserName = phoneNumber,
|
||||||
PhoneNumber = phoneNumber,
|
PhoneNumber = phoneNumber,
|
||||||
SignUpStatus = SignUpStatus.StartSignUp
|
SignUpStatus = SignUpStatus.StartSignOn
|
||||||
};
|
};
|
||||||
var result = await _userManager.CreateAsync(user);
|
var result = await _userManager.CreateAsync(user);
|
||||||
if (!result.Succeeded)
|
if (!result.Succeeded)
|
||||||
|
@ -65,7 +65,7 @@ public class UserService : IUserService
|
||||||
PhoneNumber = request.PhoneNumber,
|
PhoneNumber = request.PhoneNumber,
|
||||||
FirstName = request.FirstName,
|
FirstName = request.FirstName,
|
||||||
LastName = request.LastName,
|
LastName = request.LastName,
|
||||||
InternationalId = request.InternationalId,
|
NationalId = request.NationalId,
|
||||||
BirthDate = request.BirthDate,
|
BirthDate = request.BirthDate,
|
||||||
Gender = request.Gender,
|
Gender = request.Gender,
|
||||||
SignUpStatus = SignUpStatus.SignUpCompleted
|
SignUpStatus = SignUpStatus.SignUpCompleted
|
||||||
|
@ -105,7 +105,7 @@ public class UserService : IUserService
|
||||||
user.PhoneNumber = request.PhoneNumber;
|
user.PhoneNumber = request.PhoneNumber;
|
||||||
user.FirstName = request.FirstName;
|
user.FirstName = request.FirstName;
|
||||||
user.LastName = request.LastName;
|
user.LastName = request.LastName;
|
||||||
user.InternationalId = request.InternationalId;
|
user.NationalId = request.NationalId;
|
||||||
user.BirthDate = request.BirthDate;
|
user.BirthDate = request.BirthDate;
|
||||||
user.Gender = request.Gender;
|
user.Gender = request.Gender;
|
||||||
|
|
||||||
|
@ -140,7 +140,7 @@ public class UserService : IUserService
|
||||||
user.PhoneNumber = request.PhoneNumber;
|
user.PhoneNumber = request.PhoneNumber;
|
||||||
user.FirstName = request.FirstName;
|
user.FirstName = request.FirstName;
|
||||||
user.LastName = request.LastName;
|
user.LastName = request.LastName;
|
||||||
user.InternationalId = request.InternationalId;
|
user.NationalId = request.NationalId;
|
||||||
user.BirthDate = request.BirthDate;
|
user.BirthDate = request.BirthDate;
|
||||||
user.Gender = request.Gender;
|
user.Gender = request.Gender;
|
||||||
|
|
||||||
|
@ -284,4 +284,8 @@ public class UserService : IUserService
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ClaimDto> GetPermissions()
|
||||||
|
{
|
||||||
|
return ApplicationClaims.AllClaimDtos;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -7,7 +7,7 @@ public class UserActionRequestDto
|
||||||
public string LastName { get; set; } = string.Empty;
|
public string LastName { get; set; } = string.Empty;
|
||||||
public DateTime BirthDate { get; set; }
|
public DateTime BirthDate { get; set; }
|
||||||
public Gender Gender { get; set; }
|
public Gender Gender { get; set; }
|
||||||
public string InternationalId { get; set; } = string.Empty;
|
public string NationalId { get; set; } = string.Empty;
|
||||||
public string Password { get; set; } = string.Empty;
|
public string Password { get; set; } = string.Empty;
|
||||||
public List<Guid> RoleIds { get; set; } = new();
|
public List<Guid> RoleIds { get; set; } = new();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
namespace Brizco.Domain.Dtos.ResponseDto;
|
||||||
|
|
||||||
|
public class VerifyCodeResponseDto
|
||||||
|
{
|
||||||
|
public SignUpStatus SignUpStatus { get; set; }
|
||||||
|
}
|
|
@ -12,5 +12,5 @@ public class ApplicationUserSDto : BaseDto<ApplicationUserSDto,ApplicationUser>
|
||||||
public SignUpStatus SignUpStatus { get; set; }
|
public SignUpStatus SignUpStatus { get; set; }
|
||||||
public string SelectedRoleName { get; set; } = string.Empty;
|
public string SelectedRoleName { get; set; } = string.Empty;
|
||||||
public string SelectedComplexName { get; set; } = string.Empty;
|
public string SelectedComplexName { get; set; } = string.Empty;
|
||||||
public string InternationalId { get; set; } = string.Empty;
|
public string NationalId { get; set; } = string.Empty;
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
namespace Brizco.Domain.Entities.Task;
|
namespace Brizco.Domain.Entities.Task;
|
||||||
|
|
||||||
public class TaskDay
|
public class TaskDay : ApiEntity
|
||||||
{
|
{
|
||||||
public TaskDay()
|
public TaskDay()
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,7 +6,7 @@ public class ApplicationUser : IdentityUser<Guid>
|
||||||
{
|
{
|
||||||
public string FirstName { get; set; } = string.Empty;
|
public string FirstName { get; set; } = string.Empty;
|
||||||
public string LastName { get; set; } = string.Empty;
|
public string LastName { get; set; } = string.Empty;
|
||||||
public string InternationalId { get; set; } = string.Empty;
|
public string NationalId { get; set; } = string.Empty;
|
||||||
public DateTime BirthDate { get; set; }
|
public DateTime BirthDate { get; set; }
|
||||||
public Gender Gender { get; set; }
|
public Gender Gender { get; set; }
|
||||||
public SignUpStatus SignUpStatus { get; set; }
|
public SignUpStatus SignUpStatus { get; set; }
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
public enum SignUpStatus
|
public enum SignUpStatus
|
||||||
{
|
{
|
||||||
StartSignUp = 0,
|
StartSignOn = 0,
|
||||||
PhoneNumberVerified = 1,
|
PhoneNumberVerified = 1,
|
||||||
ComplexCreated = 2,
|
ComplexCreated = 2,
|
||||||
SignUpCompleted = 3,
|
SignUpCompleted = 3,
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace Brizco.Domain.Mappers
|
||||||
{
|
{
|
||||||
FirstName = p1.FirstName,
|
FirstName = p1.FirstName,
|
||||||
LastName = p1.LastName,
|
LastName = p1.LastName,
|
||||||
InternationalId = p1.InternationalId,
|
NationalId = p1.NationalId,
|
||||||
BirthDate = p1.BirthDate,
|
BirthDate = p1.BirthDate,
|
||||||
Gender = p1.Gender,
|
Gender = p1.Gender,
|
||||||
SignUpStatus = p1.SignUpStatus,
|
SignUpStatus = p1.SignUpStatus,
|
||||||
|
@ -31,7 +31,7 @@ namespace Brizco.Domain.Mappers
|
||||||
|
|
||||||
result.FirstName = p2.FirstName;
|
result.FirstName = p2.FirstName;
|
||||||
result.LastName = p2.LastName;
|
result.LastName = p2.LastName;
|
||||||
result.InternationalId = p2.InternationalId;
|
result.NationalId = p2.NationalId;
|
||||||
result.BirthDate = p2.BirthDate;
|
result.BirthDate = p2.BirthDate;
|
||||||
result.Gender = p2.Gender;
|
result.Gender = p2.Gender;
|
||||||
result.SignUpStatus = p2.SignUpStatus;
|
result.SignUpStatus = p2.SignUpStatus;
|
||||||
|
@ -44,7 +44,7 @@ namespace Brizco.Domain.Mappers
|
||||||
{
|
{
|
||||||
FirstName = p4.FirstName,
|
FirstName = p4.FirstName,
|
||||||
LastName = p4.LastName,
|
LastName = p4.LastName,
|
||||||
InternationalId = p4.InternationalId,
|
NationalId = p4.NationalId,
|
||||||
BirthDate = p4.BirthDate,
|
BirthDate = p4.BirthDate,
|
||||||
Gender = p4.Gender,
|
Gender = p4.Gender,
|
||||||
SignUpStatus = p4.SignUpStatus,
|
SignUpStatus = p4.SignUpStatus,
|
||||||
|
@ -61,7 +61,7 @@ namespace Brizco.Domain.Mappers
|
||||||
BirthDate = p5.BirthDate,
|
BirthDate = p5.BirthDate,
|
||||||
Gender = p5.Gender,
|
Gender = p5.Gender,
|
||||||
SignUpStatus = p5.SignUpStatus,
|
SignUpStatus = p5.SignUpStatus,
|
||||||
InternationalId = p5.InternationalId,
|
NationalId = p5.NationalId,
|
||||||
Id = p5.Id
|
Id = p5.Id
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -79,7 +79,7 @@ namespace Brizco.Domain.Mappers
|
||||||
result.BirthDate = p6.BirthDate;
|
result.BirthDate = p6.BirthDate;
|
||||||
result.Gender = p6.Gender;
|
result.Gender = p6.Gender;
|
||||||
result.SignUpStatus = p6.SignUpStatus;
|
result.SignUpStatus = p6.SignUpStatus;
|
||||||
result.InternationalId = p6.InternationalId;
|
result.NationalId = p6.NationalId;
|
||||||
result.Id = p6.Id;
|
result.Id = p6.Id;
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ namespace Brizco.Domain.Mappers
|
||||||
BirthDate = p8.BirthDate,
|
BirthDate = p8.BirthDate,
|
||||||
Gender = p8.Gender,
|
Gender = p8.Gender,
|
||||||
SignUpStatus = p8.SignUpStatus,
|
SignUpStatus = p8.SignUpStatus,
|
||||||
InternationalId = p8.InternationalId,
|
NationalId = p8.NationalId,
|
||||||
Id = p8.Id
|
Id = p8.Id
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ public class MapsterRegister : IRegister
|
||||||
.Map(s=>s.ComplexName,o=>o.Complex!=null ? o.Complex.Name : string.Empty)
|
.Map(s=>s.ComplexName,o=>o.Complex!=null ? o.Complex.Name : string.Empty)
|
||||||
.Map(s=>s.FirstName,o=>o.User!=null ? o.User.FirstName : string.Empty)
|
.Map(s=>s.FirstName,o=>o.User!=null ? o.User.FirstName : string.Empty)
|
||||||
.Map(s=>s.LastName,o=>o.User!=null ? o.User.LastName : string.Empty)
|
.Map(s=>s.LastName,o=>o.User!=null ? o.User.LastName : string.Empty)
|
||||||
.Map(s=>s.InternationalId,o=>o.User!=null ? o.User.InternationalId : string.Empty)
|
.Map(s=>s.InternationalId,o=>o.User!=null ? o.User.NationalId : string.Empty)
|
||||||
.TwoWays();
|
.TwoWays();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,20 @@
|
||||||
|
FROM registry.vnfco.ir/library/dotnet/aspnet:7.0 AS base
|
||||||
|
ENV ASPNETCORE_URLS=http://0.0.0.0:8010
|
||||||
|
WORKDIR /app
|
||||||
|
EXPOSE 8010
|
||||||
|
|
||||||
|
FROM registry.vnfco.ir/library/dotnet/sdk:7.0 AS build
|
||||||
|
WORKDIR /src
|
||||||
|
COPY ["Berizco.Api/Brizco.Api.csproj", "Brizco.Api/"]
|
||||||
|
RUN dotnet restore "Brizco.Api/Brizco.Api.csproj"
|
||||||
|
COPY . .
|
||||||
|
WORKDIR "/src/Brizco.Api"
|
||||||
|
RUN dotnet build "Brizco.Api.csproj" -c Release -o /app/build
|
||||||
|
|
||||||
|
FROM build AS publish
|
||||||
|
RUN dotnet publish "Brizco.Api.csproj" -c Release -o /app/publish
|
||||||
|
|
||||||
|
FROM base AS final
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=publish /app/publish .
|
||||||
|
ENTRYPOINT ["dotnet", "Brizco.Api.dll"]
|
16
NuGet.config
16
NuGet.config
|
@ -1,14 +1,22 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
<configuration>
|
<configuration>
|
||||||
<config>
|
<config>
|
||||||
<add key="maxHttpRequestsPerSource" value="10" />
|
<add key='maxHttpRequestsPerSource' value='10' />
|
||||||
</config>
|
</config>
|
||||||
<packageSources>
|
<packageSources>
|
||||||
<clear />
|
<clear />
|
||||||
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
|
<add key="VnfRepos" value="https://packages.vnfco.ir/repository/nuget-group/index.json" />
|
||||||
|
<!-- <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> -->
|
||||||
</packageSources>
|
</packageSources>
|
||||||
</configuration>
|
|
||||||
|
|
||||||
|
<packageSourceCredentials>
|
||||||
|
<VnfRepos>
|
||||||
|
<add key="Username" value="runner" />
|
||||||
|
<add key="ClearTextPassword" value="22102210aA" />
|
||||||
|
</VnfRepos>
|
||||||
|
</packageSourceCredentials>
|
||||||
|
</configuration>
|
||||||
|
|
||||||
<!-- <configuration>
|
<!-- <configuration>
|
||||||
<config>
|
<config>
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
#/!bin/sh
|
||||||
|
defaultVersionValue=$(head -1 .version);
|
||||||
|
read -p "Enter Version : " version
|
||||||
|
version=${version:-$defaultVersionValue}
|
||||||
|
echo "version : $version"
|
||||||
|
|
||||||
|
docker build -t registry.vnfco.ir/brizco/api:latest -t registry.vnfco.ir/brizco/api:$version . || exit 1;
|
||||||
|
docker push registry.vnfco.ir/brizco/api:latest || exit 1;
|
||||||
|
docker push registry.vnfco.ir/brizco/api:$version || exit 1;
|
Loading…
Reference in New Issue