Changes in / [dced479:ff7f308]
- Files:
-
- 35 deleted
- 2 edited
-
.dockerignore (deleted)
-
Dockerfile (deleted)
-
Program.cs (deleted)
-
iknow-api/Controllers/AuthController.cs (deleted)
-
iknow-api/Controllers/UserController.cs (deleted)
-
iknow-api/DTOs/RefreshTokenDTO.cs (deleted)
-
iknow-api/DTOs/UserDTO.cs (deleted)
-
iknow-api/Data/AppDbContext.cs (deleted)
-
iknow-api/Migrations/20251216191800_InitialCreate.Designer.cs (deleted)
-
iknow-api/Migrations/20251216191800_InitialCreate.cs (deleted)
-
iknow-api/Migrations/AppDbContextModelSnapshot.cs (deleted)
-
iknow-api/Models/ActiveSemester.cs (deleted)
-
iknow-api/Models/ContactInfo.cs (deleted)
-
iknow-api/Models/DependencySubject.cs (deleted)
-
iknow-api/Models/Documents.cs (deleted)
-
iknow-api/Models/EnrolledSemesters.cs (deleted)
-
iknow-api/Models/EnrollmentInfo.cs (deleted)
-
iknow-api/Models/HighSchool.cs (deleted)
-
iknow-api/Models/Major.cs (deleted)
-
iknow-api/Models/MajorSubjects.cs (deleted)
-
iknow-api/Models/PassedSubject.cs (deleted)
-
iknow-api/Models/Payment.cs (deleted)
-
iknow-api/Models/ProfessorSubjects.cs (deleted)
-
iknow-api/Models/RefreshToken.cs (deleted)
-
iknow-api/Models/SemesterSubjects.cs (deleted)
-
iknow-api/Models/Subjects.cs (deleted)
-
iknow-api/Models/User.cs (deleted)
-
iknow-api/Models/UserDocuments.cs (deleted)
-
iknow-api/Program.cs (modified) (2 diffs)
-
iknow-api/Repository/Implementations/UserRepository.cs (deleted)
-
iknow-api/Repository/Interface/IUserRepository.cs (deleted)
-
iknow-api/Services/Implementations/AuthService.cs (deleted)
-
iknow-api/Services/Implementations/UserService.cs (deleted)
-
iknow-api/Services/Interfaces/IAuthService.cs (deleted)
-
iknow-api/Services/Interfaces/IUserService.cs (deleted)
-
iknow-api/appsettings.json (modified) (1 diff)
-
render.yaml (deleted)
Legend:
- Unmodified
- Added
- Removed
-
iknow-api/Program.cs
rdced479 rff7f308 1 using System.Text;2 using System.Text.Json.Serialization;3 using iknow_api.Data;4 using iknow_api.Repositories;5 using iknow_api.Services;6 using Microsoft.AspNetCore.Authentication.JwtBearer;7 using Microsoft.EntityFrameworkCore;8 using Microsoft.IdentityModel.Tokens;9 10 1 var builder = WebApplication.CreateBuilder(args); 11 2 12 // Add CORS policy 13 builder.Services.AddCors(options => 14 { 15 options.AddPolicy("AllowFrontend", policy => 16 { 17 var allowedOrigins = builder.Configuration.GetSection("AllowedOrigins").Get<string[]>() 18 ?? new[] { "http://localhost:3000" }; 19 20 policy.WithOrigins(allowedOrigins) // Your frontend URL(s) 21 .AllowAnyHeader() 22 .AllowAnyMethod() 23 .AllowCredentials(); 24 }); 25 }); 3 // Add services to the container. 26 4 27 builder.Services.AddAuthentication(options => 28 { 29 options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; 30 options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; 31 }) 32 .AddJwtBearer(options => 33 { 34 options.RequireHttpsMetadata = false; // only for development 35 options.SaveToken = true; 36 options.TokenValidationParameters = new TokenValidationParameters 37 { 38 ValidateIssuer = true, 39 ValidIssuer = "iknow-api", 40 41 ValidateAudience = true, 42 ValidAudience = "iknow-api", 43 44 ValidateLifetime = true, 45 46 ValidateIssuerSigningKey = true, 47 IssuerSigningKey = new SymmetricSecurityKey( 48 Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"])) 49 }; 50 }); 51 // Add services to the container. 52 builder.Services.AddControllers() 53 .AddJsonOptions(options => 54 { 55 options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles; 56 options.JsonSerializerOptions.PropertyNameCaseInsensitive = true; 57 options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); 58 }); 5 builder.Services.AddControllers(); 6 // Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi 59 7 builder.Services.AddOpenApi(); 60 8 61 // Register DbContext62 builder.Services.AddDbContext<AppDbContext>(options =>63 options.UseNpgsql(builder.Configuration.GetConnectionString("DefaultConnection")));64 65 // Register your services66 builder.Services.AddScoped<IAuthService, AuthService>();67 builder.Services.AddScoped<IUserRepository, UserRepository>(); // You'll need to add the UserRepository implementation68 builder.Services.AddScoped<IUserService, UserService>();69 70 builder.Services.AddScoped<IRefreshTokenService, RefreshTokenService>();71 builder.Services.AddScoped<IUserRepository, UserRepository>();72 builder.Services.AddScoped<IRefreshTokenRepository, RefreshTokenRepository>();73 builder.Services.AddAuthorization();74 9 var app = builder.Build(); 75 10 … … 80 15 } 81 16 82 // Enable CORS - must be called before UseAuthentication and UseAuthorization 83 app.UseCors("AllowFrontend"); 17 app.UseHttpsRedirection(); 84 18 85 app.UseHttpsRedirection();86 app.UseAuthentication(); // <-- must come BEFORE UseAuthorization87 19 app.UseAuthorization(); 20 88 21 app.MapControllers(); 89 22 -
iknow-api/appsettings.json
rdced479 rff7f308 6 6 } 7 7 }, 8 "AllowedOrigins": [ 9 "http://localhost:3000", 10 "https://iknow-remaster.vercel.app" 11 ], 12 "ConnectionStrings": { 13 "DefaultConnection": "Host=ep-divine-term-aghfotgc-pooler.c-2.eu-central-1.aws.neon.tech; Database=neondb; Username=neondb_owner; Password=REDACTED_ROTATE_ME; SSL Mode=VerifyFull; Channel Binding=Require;" 14 }, 15 "Jwt": { 16 "Key": "REDACTED_SET_VIA_USER_SECRETS" 17 } 8 "AllowedHosts": "*" 18 9 }
Note:
See TracChangeset
for help on using the changeset viewer.
