Changeset c2f79d7


Ignore:
Timestamp:
12/08/25 21:51:12 (10 months ago)
Author:
Stefan-Saveski <stefan@…>
Branches:
master
Children:
bb656bc
Parents:
a92a2a4
Message:

Refactor and enhance application structure

Enhanced error handling in AuthController with detailed exception handling for user registration. Updated UserDTO to improve JSON serialization and renamed enums for clarity. Introduced new entities (Major, PassedSubject, etc.) and seeded initial data in AppDbContext.

Replaced legacy migrations with 20251208203846_InitialCreate, reflecting the updated schema. Fixed typographical errors and improved JSON serialization in Program.cs with case-insensitive property matching and enum handling.

Refactored repository interfaces for better null safety. Improved debugging in AuthService and updated connection strings. Added the PassedSubject entity and cleaned up redundant code and unused imports for better maintainability.

Location:
iknow-api
Files:
3 added
2 deleted
14 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Controllers/AuthController.cs

    ra92a2a4 rc2f79d7  
    3737        public async Task<IActionResult> Register([FromBody] RegisterDto request)
    3838        {
    39             var result = await _authService.RegisterAsync(request);
    40             if (!result) return BadRequest("User already exists");
    41             return Ok("User registered successfully");
     39            //Console.WriteLine(request);
     40
     41            try
     42            {
     43                var result = await _authService.RegisterAsync(request);
     44                return Ok("User registered successfully");
     45            }
     46            catch (InvalidOperationException ex)
     47            {
     48                return BadRequest(new { message = ex.Message });
     49            }
     50            catch (Exception ex)
     51            {
     52                return StatusCode(500, new { message = "An error occurred during registration", error = ex.Message });
     53            }
    4254        }
    4355
     
    6577            { return BadRequest(new { message = "No token found!" }); }
    6678        }
     79
    6780    }
    6881}
  • iknow-api/DTOs/UserDTO.cs

    ra92a2a4 rc2f79d7  
    1 namespace iknow_api.DTOs
     1using System.Text.Json.Serialization;
     2
     3namespace iknow_api.DTOs
    24{
    35    // Login DTO
     
    2527        public UserRole Role { get; set; }
    2628        public float gpa { get; set; }
    27         public Type tip { get; set; }
     29        public HighSchoolType tip { get; set; }
    2830        public string city { get; set; } = string.Empty;
    2931        public string address { get; set; } = string.Empty;
     
    5759        Student
    5860    }
    59     public enum Type
     61    public enum HighSchoolType
    6062    {
    6163        strucen, gimnazija
     
    6567        drzavna, privatna, stipendija
    6668    }
    67     public enum Major
    68     {
    69         SIIS, PIT, KN, KI, IMB, IE, SSP, SEIS
    70     }
    7169}
  • iknow-api/Data/AppDbContext.cs

    ra92a2a4 rc2f79d7  
    1717        public DbSet<Subject> Subjects { get; set; }
    1818        public DbSet<DependencySubject> DependencySubjects { get; set; }
     19        public DbSet<Major> Majors { get; set; }
     20        public DbSet<PassedSubject> PassedSubjects { get; set; }
    1921
    2022
     
    2224        {
    2325            base.OnModelCreating(modelBuilder);
     26
     27            modelBuilder.Entity<Major>().HasData(
     28                new Major { Id = 1, Name = "PIT" },
     29                new Major { Id = 2, Name = "SIIS" },
     30                new Major { Id = 3, Name = "SEIS" },
     31                new Major { Id = 4, Name = "KN" }
     32            );
     33
    2434
    2535            // -------------------------
     
    128138                .HasForeignKey(ss => ss.EnrolledSemesterId)
    129139                .OnDelete(DeleteBehavior.Restrict);
     140
     141            // -------------------------
     142            // PassedSubject (one-to-one with SemesterSubject)
     143            // -------------------------
     144            modelBuilder.Entity<PassedSubject>()
     145                .HasKey(ps => ps.Id);
     146
     147            modelBuilder.Entity<PassedSubject>()
     148                .HasOne(ps => ps.SemesterSubject)
     149                .WithOne(ss => ss.PassedSubject)
     150                .HasForeignKey<PassedSubject>(ps => ps.SemesterSubjectId)
     151                .OnDelete(DeleteBehavior.Cascade);
    130152        }
    131153
  • iknow-api/Migrations/AppDbContextModelSnapshot.cs

    ra92a2a4 rc2f79d7  
    5757                });
    5858
     59            modelBuilder.Entity("iknow_api.Models.DependencySubject", b =>
     60                {
     61                    b.Property<int>("SubjectId")
     62                        .HasColumnType("integer");
     63
     64                    b.Property<int>("DependencyId")
     65                        .HasColumnType("integer");
     66
     67                    b.HasKey("SubjectId", "DependencyId");
     68
     69                    b.HasIndex("DependencyId");
     70
     71                    b.ToTable("DependencySubjects");
     72                });
     73
     74            modelBuilder.Entity("iknow_api.Models.Documents", b =>
     75                {
     76                    b.Property<int>("Id")
     77                        .ValueGeneratedOnAdd()
     78                        .HasColumnType("integer");
     79
     80                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
     81
     82                    b.Property<string>("body")
     83                        .HasColumnType("text");
     84
     85                    b.Property<int>("cost")
     86                        .HasColumnType("integer");
     87
     88                    b.Property<string>("name")
     89                        .HasColumnType("text");
     90
     91                    b.HasKey("Id");
     92
     93                    b.ToTable("Documents");
     94                });
     95
     96            modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
     97                {
     98                    b.Property<int>("Id")
     99                        .ValueGeneratedOnAdd()
     100                        .HasColumnType("integer");
     101
     102                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
     103
     104                    b.Property<int>("MajorId")
     105                        .HasColumnType("integer");
     106
     107                    b.Property<int>("QuotaType")
     108                        .HasColumnType("integer");
     109
     110                    b.Property<int>("Type")
     111                        .HasColumnType("integer");
     112
     113                    b.Property<int>("UserId")
     114                        .HasColumnType("integer");
     115
     116                    b.Property<int>("Year")
     117                        .HasColumnType("integer");
     118
     119                    b.HasKey("Id");
     120
     121                    b.HasIndex("MajorId");
     122
     123                    b.HasIndex("UserId");
     124
     125                    b.ToTable("EnrolledSemesters");
     126                });
     127
    59128            modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
    60129                {
     
    65134                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
    66135
     136                    b.Property<int>("MajorId")
     137                        .HasColumnType("integer");
     138
    67139                    b.Property<int>("UserId")
    68140                        .HasColumnType("integer");
     
    71143                        .HasColumnType("integer");
    72144
    73                     b.Property<int>("major")
    74                         .HasColumnType("integer");
    75 
    76                     b.HasKey("Id");
     145                    b.Property<int>("quota")
     146                        .HasColumnType("integer");
     147
     148                    b.HasKey("Id");
     149
     150                    b.HasIndex("MajorId");
    77151
    78152                    b.HasIndex("UserId")
     
    107181                });
    108182
     183            modelBuilder.Entity("iknow_api.Models.Major", b =>
     184                {
     185                    b.Property<int>("Id")
     186                        .ValueGeneratedOnAdd()
     187                        .HasColumnType("integer");
     188
     189                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
     190
     191                    b.Property<string>("Name")
     192                        .HasColumnType("text");
     193
     194                    b.HasKey("Id");
     195
     196                    b.ToTable("Majors");
     197
     198                    b.HasData(
     199                        new
     200                        {
     201                            Id = 1,
     202                            Name = "PIT"
     203                        },
     204                        new
     205                        {
     206                            Id = 2,
     207                            Name = "SIIS"
     208                        },
     209                        new
     210                        {
     211                            Id = 3,
     212                            Name = "SEIS"
     213                        },
     214                        new
     215                        {
     216                            Id = 4,
     217                            Name = "KN"
     218                        });
     219                });
     220
     221            modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
     222                {
     223                    b.Property<int>("MajorId")
     224                        .HasColumnType("integer");
     225
     226                    b.Property<int>("SubjectId")
     227                        .HasColumnType("integer");
     228
     229                    b.Property<int>("Akreditacija")
     230                        .HasColumnType("integer");
     231
     232                    b.Property<int>("MandatorySemester")
     233                        .HasColumnType("integer");
     234
     235                    b.HasKey("MajorId", "SubjectId");
     236
     237                    b.HasIndex("SubjectId");
     238
     239                    b.ToTable("MajorSubjects");
     240                });
     241
     242            modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
     243                {
     244                    b.Property<int>("Id")
     245                        .ValueGeneratedOnAdd()
     246                        .HasColumnType("integer");
     247
     248                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
     249
     250                    b.Property<DateTime>("DatePassed")
     251                        .HasColumnType("timestamp with time zone");
     252
     253                    b.Property<int>("Grade")
     254                        .HasColumnType("integer");
     255
     256                    b.Property<int>("SemesterSubjectId")
     257                        .HasColumnType("integer");
     258
     259                    b.HasKey("Id");
     260
     261                    b.HasIndex("SemesterSubjectId")
     262                        .IsUnique();
     263
     264                    b.ToTable("PassedSubjects");
     265                });
     266
     267            modelBuilder.Entity("iknow_api.Models.Payment", b =>
     268                {
     269                    b.Property<int>("UserId")
     270                        .HasColumnType("integer");
     271
     272                    b.Property<int>("EnrollmentInfoId")
     273                        .HasColumnType("integer");
     274
     275                    b.Property<int>("Id")
     276                        .HasColumnType("integer");
     277
     278                    b.HasKey("UserId", "EnrollmentInfoId");
     279
     280                    b.HasIndex("EnrollmentInfoId");
     281
     282                    b.ToTable("Payment");
     283                });
     284
    109285            modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
    110286                {
     
    134310                });
    135311
     312            modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
     313                {
     314                    b.Property<int>("Id")
     315                        .ValueGeneratedOnAdd()
     316                        .HasColumnType("integer");
     317
     318                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
     319
     320                    b.Property<int>("EnrolledSemesterId")
     321                        .HasColumnType("integer");
     322
     323                    b.Property<int>("ProfessorId")
     324                        .HasColumnType("integer");
     325
     326                    b.Property<int>("SubjectId")
     327                        .HasColumnType("integer");
     328
     329                    b.Property<int>("UserId")
     330                        .HasColumnType("integer");
     331
     332                    b.HasKey("Id");
     333
     334                    b.HasIndex("EnrolledSemesterId");
     335
     336                    b.HasIndex("ProfessorId");
     337
     338                    b.HasIndex("SubjectId");
     339
     340                    b.HasIndex("UserId");
     341
     342                    b.ToTable("SemesterSubject");
     343                });
     344
     345            modelBuilder.Entity("iknow_api.Models.Subject", b =>
     346                {
     347                    b.Property<int>("Id")
     348                        .ValueGeneratedOnAdd()
     349                        .HasColumnType("integer");
     350
     351                    NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
     352
     353                    b.Property<int?>("AwardedCredits")
     354                        .HasColumnType("integer");
     355
     356                    b.Property<string>("Code")
     357                        .HasColumnType("text");
     358
     359                    b.Property<int?>("DependencyCredit")
     360                        .HasColumnType("integer");
     361
     362                    b.Property<string>("Name")
     363                        .HasColumnType("text");
     364
     365                    b.HasKey("Id");
     366
     367                    b.ToTable("Subjects");
     368                });
     369
    136370            modelBuilder.Entity("iknow_api.Models.User", b =>
    137371                {
     
    174408                });
    175409
     410            modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
     411                {
     412                    b.Property<int>("UserId")
     413                        .HasColumnType("integer");
     414
     415                    b.Property<int>("DocumentId")
     416                        .HasColumnType("integer");
     417
     418                    b.HasKey("UserId", "DocumentId");
     419
     420                    b.HasIndex("DocumentId");
     421
     422                    b.ToTable("UserDocuments");
     423                });
     424
    176425            modelBuilder.Entity("iknow_api.Models.ContactInfo", b =>
    177426                {
     
    185434                });
    186435
     436            modelBuilder.Entity("iknow_api.Models.DependencySubject", b =>
     437                {
     438                    b.HasOne("iknow_api.Models.Subject", "Dependency")
     439                        .WithMany("Dependents")
     440                        .HasForeignKey("DependencyId")
     441                        .OnDelete(DeleteBehavior.Restrict)
     442                        .IsRequired();
     443
     444                    b.HasOne("iknow_api.Models.Subject", "Subject")
     445                        .WithMany("Dependencies")
     446                        .HasForeignKey("SubjectId")
     447                        .OnDelete(DeleteBehavior.Restrict)
     448                        .IsRequired();
     449
     450                    b.Navigation("Dependency");
     451
     452                    b.Navigation("Subject");
     453                });
     454
     455            modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
     456                {
     457                    b.HasOne("iknow_api.Models.Major", "Major")
     458                        .WithMany()
     459                        .HasForeignKey("MajorId")
     460                        .OnDelete(DeleteBehavior.Cascade)
     461                        .IsRequired();
     462
     463                    b.HasOne("iknow_api.Models.User", "User")
     464                        .WithMany()
     465                        .HasForeignKey("UserId")
     466                        .OnDelete(DeleteBehavior.Cascade)
     467                        .IsRequired();
     468
     469                    b.Navigation("Major");
     470
     471                    b.Navigation("User");
     472                });
     473
    187474            modelBuilder.Entity("iknow_api.Models.EnrollmentInfo", b =>
    188475                {
     476                    b.HasOne("iknow_api.Models.Major", "Major")
     477                        .WithMany()
     478                        .HasForeignKey("MajorId")
     479                        .OnDelete(DeleteBehavior.Cascade)
     480                        .IsRequired();
     481
    189482                    b.HasOne("iknow_api.Models.User", "User")
    190483                        .WithOne("EnrollmentInfo")
     
    193486                        .IsRequired();
    194487
     488                    b.Navigation("Major");
     489
    195490                    b.Navigation("User");
    196491                });
     
    207502                });
    208503
     504            modelBuilder.Entity("iknow_api.Models.MajorSubjects", b =>
     505                {
     506                    b.HasOne("iknow_api.Models.Major", "Majors")
     507                        .WithMany("Subjects")
     508                        .HasForeignKey("MajorId")
     509                        .OnDelete(DeleteBehavior.Cascade)
     510                        .IsRequired();
     511
     512                    b.HasOne("iknow_api.Models.Subject", "Subjects")
     513                        .WithMany("Majors")
     514                        .HasForeignKey("SubjectId")
     515                        .OnDelete(DeleteBehavior.Cascade)
     516                        .IsRequired();
     517
     518                    b.Navigation("Majors");
     519
     520                    b.Navigation("Subjects");
     521                });
     522
     523            modelBuilder.Entity("iknow_api.Models.PassedSubject", b =>
     524                {
     525                    b.HasOne("iknow_api.Models.SemesterSubject", "SemesterSubject")
     526                        .WithOne("PassedSubject")
     527                        .HasForeignKey("iknow_api.Models.PassedSubject", "SemesterSubjectId")
     528                        .OnDelete(DeleteBehavior.Cascade)
     529                        .IsRequired();
     530
     531                    b.Navigation("SemesterSubject");
     532                });
     533
     534            modelBuilder.Entity("iknow_api.Models.Payment", b =>
     535                {
     536                    b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemesters")
     537                        .WithMany("Users")
     538                        .HasForeignKey("EnrollmentInfoId")
     539                        .OnDelete(DeleteBehavior.Cascade)
     540                        .IsRequired();
     541
     542                    b.HasOne("iknow_api.Models.User", "User")
     543                        .WithMany("EnrolledSemesters")
     544                        .HasForeignKey("UserId")
     545                        .OnDelete(DeleteBehavior.Cascade)
     546                        .IsRequired();
     547
     548                    b.Navigation("EnrolledSemesters");
     549
     550                    b.Navigation("User");
     551                });
     552
    209553            modelBuilder.Entity("iknow_api.Models.RefreshToken", b =>
    210554                {
     
    218562                });
    219563
     564            modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
     565                {
     566                    b.HasOne("iknow_api.Models.EnrolledSemesters", "EnrolledSemester")
     567                        .WithMany("SemesterSubjects")
     568                        .HasForeignKey("EnrolledSemesterId")
     569                        .OnDelete(DeleteBehavior.Restrict)
     570                        .IsRequired();
     571
     572                    b.HasOne("iknow_api.Models.User", "Professor")
     573                        .WithMany("TeachingSubjects")
     574                        .HasForeignKey("ProfessorId")
     575                        .OnDelete(DeleteBehavior.Restrict)
     576                        .IsRequired();
     577
     578                    b.HasOne("iknow_api.Models.Subject", "Subject")
     579                        .WithMany("SemesterSubjects")
     580                        .HasForeignKey("SubjectId")
     581                        .OnDelete(DeleteBehavior.Restrict)
     582                        .IsRequired();
     583
     584                    b.HasOne("iknow_api.Models.User", "User")
     585                        .WithMany("EnrolledSemesterUserSubjects")
     586                        .HasForeignKey("UserId")
     587                        .OnDelete(DeleteBehavior.Restrict)
     588                        .IsRequired();
     589
     590                    b.Navigation("EnrolledSemester");
     591
     592                    b.Navigation("Professor");
     593
     594                    b.Navigation("Subject");
     595
     596                    b.Navigation("User");
     597                });
     598
     599            modelBuilder.Entity("iknow_api.Models.UserDocuments", b =>
     600                {
     601                    b.HasOne("iknow_api.Models.Documents", "Documents")
     602                        .WithMany("User")
     603                        .HasForeignKey("DocumentId")
     604                        .OnDelete(DeleteBehavior.Cascade)
     605                        .IsRequired();
     606
     607                    b.HasOne("iknow_api.Models.User", "User")
     608                        .WithMany("Documents")
     609                        .HasForeignKey("UserId")
     610                        .OnDelete(DeleteBehavior.Cascade)
     611                        .IsRequired();
     612
     613                    b.Navigation("Documents");
     614
     615                    b.Navigation("User");
     616                });
     617
     618            modelBuilder.Entity("iknow_api.Models.Documents", b =>
     619                {
     620                    b.Navigation("User");
     621                });
     622
     623            modelBuilder.Entity("iknow_api.Models.EnrolledSemesters", b =>
     624                {
     625                    b.Navigation("SemesterSubjects");
     626
     627                    b.Navigation("Users");
     628                });
     629
     630            modelBuilder.Entity("iknow_api.Models.Major", b =>
     631                {
     632                    b.Navigation("Subjects");
     633                });
     634
     635            modelBuilder.Entity("iknow_api.Models.SemesterSubject", b =>
     636                {
     637                    b.Navigation("PassedSubject");
     638                });
     639
     640            modelBuilder.Entity("iknow_api.Models.Subject", b =>
     641                {
     642                    b.Navigation("Dependencies");
     643
     644                    b.Navigation("Dependents");
     645
     646                    b.Navigation("Majors");
     647
     648                    b.Navigation("SemesterSubjects");
     649                });
     650
    220651            modelBuilder.Entity("iknow_api.Models.User", b =>
    221652                {
    222653                    b.Navigation("ContactInfo");
    223654
     655                    b.Navigation("Documents");
     656
     657                    b.Navigation("EnrolledSemesterUserSubjects");
     658
     659                    b.Navigation("EnrolledSemesters");
     660
    224661                    b.Navigation("EnrollmentInfo");
    225662
    226663                    b.Navigation("HighSchool");
     664
     665                    b.Navigation("TeachingSubjects");
    227666                });
    228667#pragma warning restore 612, 618
  • iknow-api/Models/EnrollmentInfo.cs

    ra92a2a4 rc2f79d7  
    1111        public int Id { get; set; }
    1212        public int enrollmentYear { get; set; }
    13         public Quota quota;
     13        // CS1597 fix: no semicolon after accessor block
     14        public Quota quota { get; set; }
    1415        public int MajorId { get; set; }
    1516        public Major? Major { get; set; }
  • iknow-api/Models/SemesterSubjects.cs

    ra92a2a4 rc2f79d7  
    1414        public Subject? Subject { get; set; }
    1515        public User? Professor { get; set; }           
     16        public PassedSubject? PassedSubject { get; set; }
    1617    }
    1718}
  • iknow-api/Models/User.cs

    ra92a2a4 rc2f79d7  
    77        Admin,
    88        Professor,
    9         Strudent
     9        Student
    1010    }
    1111
  • iknow-api/Program.cs

    ra92a2a4 rc2f79d7  
    3838    {
    3939        options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles;
     40        options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;
     41        options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
    4042    });
    4143builder.Services.AddOpenApi();
  • iknow-api/Repository/Implementations/UserRepository.cs

    ra92a2a4 rc2f79d7  
    11using iknow_api.Models;
    22using iknow_api.Data;
    3 using iknow_api.Models;
    43using Microsoft.EntityFrameworkCore;
    54
     
    6463            return await _context.User.CountAsync();
    6564        }
     65
    6666    }
    6767}
  • iknow-api/Repository/Interface/IUserRepository.cs

    ra92a2a4 rc2f79d7  
    1 using iknow_api.Models;
     1using iknow_api.Models;
    22namespace iknow_api.Repositories
    33{
     
    1111        Task AddHighSchoolAsync(HighSchool highSchool);
    1212        Task<int> GetUsersCountAsync();
    13         Task<User> GetUserByIdAsync(int id);
     13        Task<User?> GetUserByIdAsync(int id);
    1414        Task<User?> GetOnlyUserByIdAsync(int id);
    1515
  • iknow-api/Services/Implementations/AuthService.cs

    ra92a2a4 rc2f79d7  
    2929        public async Task<bool> RegisterAsync(RegisterDto registerDto)
    3030        {
     31            // Debug: Log all incoming DTO values
     32            Console.WriteLine("=== RegisterDto Debug Info ===");
     33            Console.WriteLine($"Name: {registerDto.Name}");
     34            Console.WriteLine($"Email: {registerDto.Email}");
     35            Console.WriteLine($"majorType: {registerDto.majorType}");
     36            Console.WriteLine($"enrollmentYear: {registerDto.enrollmentYear}");
     37            Console.WriteLine($"quotaType: {registerDto.quotaType}");
     38            Console.WriteLine($"Role: {registerDto.Role}");
     39            Console.WriteLine($"tip: {registerDto.tip}");
     40            Console.WriteLine("==============================");
     41
     42            // Check if user already exists
    3143            if (await _userRepository.UserExistsAsync(registerDto.Email))
    32                 return false;
     44                throw new InvalidOperationException("User with this email already exists");
    3345
    3446            var user = new User
  • iknow-api/Services/Interfaces/IAuthService.cs

    ra92a2a4 rc2f79d7  
    11using iknow_api.DTOs;
    2 using iknow_api.DTOs;
     2using iknow_api.Models;
    33namespace iknow_api.Services
    44{
     
    99        Task<int> GetUsersCountAsync();
    1010        Task<AuthResultDto> GenerateNewJWT(VerifyRefreshTokenDto token);
     11       
    1112    }
    1213}
  • iknow-api/appsettings.Development.json

    ra92a2a4 rc2f79d7  
    77  },
    88    "ConnectionStrings": {
    9         "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username=postgres;Password=newpassword"
     9        "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username=postgres;Password=user"
    1010    }
    1111}
  • iknow-api/appsettings.json

    ra92a2a4 rc2f79d7  
    77  },
    88  "ConnectionStrings": {
    9     "DefaultConnection": "Host=localhost;Port=55432;Database=myappdb;Username=postgres;Password=newpassword"
     9    "DefaultConnection": "Host=localhost;Port=5432;Database=myappdb;Username=postgres;Password=user"
    1010  },
    1111  "Jwt": {
Note: See TracChangeset for help on using the changeset viewer.