Adding Flags API
This commit is contained in:
53
src/api/MicCheck.Api/Data/DatabaseSeeder.cs
Normal file
53
src/api/MicCheck.Api/Data/DatabaseSeeder.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using MicCheck.Api.Organizations;
|
||||
using MicCheck.Api.Projects;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using AppEnvironment = MicCheck.Api.Environments.Environment;
|
||||
|
||||
namespace MicCheck.Api.Data;
|
||||
|
||||
public class DatabaseSeeder
|
||||
{
|
||||
private readonly MicCheckDbContext _db;
|
||||
|
||||
public DatabaseSeeder(MicCheckDbContext db)
|
||||
{
|
||||
_db = db;
|
||||
}
|
||||
|
||||
public async Task SeedAsync(CancellationToken ct = default)
|
||||
{
|
||||
if (await _db.Organizations.AnyAsync(ct))
|
||||
return;
|
||||
|
||||
var organization = new Organization
|
||||
{
|
||||
Name = "Default",
|
||||
CreatedAt = DateTimeOffset.UtcNow
|
||||
};
|
||||
_db.Organizations.Add(organization);
|
||||
await _db.SaveChangesAsync(ct);
|
||||
|
||||
var project = new Project
|
||||
{
|
||||
Name = "My Project",
|
||||
OrganizationId = organization.Id,
|
||||
CreatedAt = DateTimeOffset.UtcNow
|
||||
};
|
||||
_db.Projects.Add(project);
|
||||
await _db.SaveChangesAsync(ct);
|
||||
|
||||
var environmentNames = new[] { "Development", "Staging", "Production" };
|
||||
foreach (var name in environmentNames)
|
||||
{
|
||||
_db.Environments.Add(new AppEnvironment
|
||||
{
|
||||
Name = name,
|
||||
ApiKey = $"env-{Guid.NewGuid():N}",
|
||||
ProjectId = project.Id,
|
||||
CreatedAt = DateTimeOffset.UtcNow
|
||||
});
|
||||
}
|
||||
|
||||
await _db.SaveChangesAsync(ct);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user