Skip to content

Commit b66f6d8

Browse files
Removed the seed data from AppDBContext
1 parent 1624560 commit b66f6d8

File tree

2 files changed

+56
-111
lines changed

2 files changed

+56
-111
lines changed

UserManagementApi/Data/AppDbContext.cs

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -56,60 +56,7 @@ protected override void OnModelCreating(ModelBuilder b)
5656
.WithMany(f => f.RoleFunctions)
5757
.HasForeignKey(rf => rf.FunctionId);
5858

59-
// ---------- Seed Data ----------
60-
// Categories
61-
b.Entity<Category>().HasData(
62-
new Category { Id = 1, Name = "Administration" },
63-
new Category { Id = 2, Name = "Operations" }
64-
);
65-
66-
// Modules
67-
b.Entity<Module>().HasData(
68-
new Module { Id = 1, Name = "User Management", Area = "Admin", Controller = "Users", Action = "Index", CategoryId = 1 },
69-
new Module { Id = 2, Name = "Role Management", Area = "Admin", Controller = "Roles", Action = "Index", CategoryId = 1 },
70-
new Module { Id = 3, Name = "Payments", Area = "Ops", Controller = "Payments", Action = "Index", CategoryId = 2 }
71-
);
72-
73-
// Functions
74-
b.Entity<Function>().HasData(
75-
new Function { Id = 1, ModuleId = 1, Code = "Users.View", DisplayName = "View Users" },
76-
new Function { Id = 2, ModuleId = 1, Code = "Users.Edit", DisplayName = "Edit Users" },
77-
new Function { Id = 3, ModuleId = 2, Code = "Roles.View", DisplayName = "View Roles" },
78-
new Function { Id = 4, ModuleId = 2, Code = "Roles.Assign", DisplayName = "Assign Roles" },
79-
new Function { Id = 5, ModuleId = 3, Code = "Payments.View", DisplayName = "View Payments" }
80-
);
81-
82-
// Roles
83-
b.Entity<Role>().HasData(
84-
new Role { Id = 1, Name = "Admin" },
85-
new Role { Id = 2, Name = "Operator" }
86-
);
87-
88-
// Users
89-
b.Entity<AppUser>().HasData(
90-
new AppUser { Id = 1, UserName = "alice" },
91-
new AppUser { Id = 2, UserName = "bob" }
92-
);
93-
94-
// User ↔ Role
95-
b.Entity<UserRole>().HasData(
96-
new UserRole { UserId = 1, RoleId = 1 }, // alice → Admin
97-
new UserRole { UserId = 2, RoleId = 2 } // bob → Operator
98-
);
99-
100-
// Role ↔ Function
101-
b.Entity<RoleFunction>().HasData(
102-
// Admin gets everything
103-
new RoleFunction { RoleId = 1, FunctionId = 1 },
104-
new RoleFunction { RoleId = 1, FunctionId = 2 },
105-
new RoleFunction { RoleId = 1, FunctionId = 3 },
106-
new RoleFunction { RoleId = 1, FunctionId = 4 },
107-
new RoleFunction { RoleId = 1, FunctionId = 5 },
108-
109-
// Operator gets limited
110-
new RoleFunction { RoleId = 2, FunctionId = 1 }, // Users.View
111-
new RoleFunction { RoleId = 2, FunctionId = 5 } // Payments.View
112-
);
59+
11360
}
11461
}
11562
}

UserManagementApi/DbSeeder.cs

Lines changed: 55 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -15,73 +15,71 @@ public static void Seed(IServiceProvider serviceProvider)
1515
context.Database.Migrate();
1616

1717
// Only seed if DB is empty (idempotent)
18-
if (!context.Categories.Any())
18+
var categories = new List<Category>
1919
{
20-
var categories = new List<Category>
21-
{
22-
new Category { Id = 1, Name = "Administration" },
23-
new Category { Id = 2, Name = "Operations" }
24-
};
20+
new Category { Id = 1, Name = "Administration" },
21+
new Category { Id = 2, Name = "Operations" }
22+
};
2523

26-
var modules = new List<Module>
27-
{
28-
new Module { Id = 1, Name = "User Management", Area = "Admin", Controller = "Users", Action = "Index", CategoryId = 1 },
29-
new Module { Id = 2, Name = "Role Management", Area = "Admin", Controller = "Roles", Action = "Index", CategoryId = 1 },
30-
new Module { Id = 3, Name = "Payments", Area = "Ops", Controller = "Payments", Action = "Index", CategoryId = 2 }
31-
};
24+
var modules = new List<Module>
25+
{
26+
new Module { Id = 1, Name = "User Management", Area = "Admin", Controller = "Users", Action = "Index", CategoryId = 1 },
27+
new Module { Id = 2, Name = "Role Management", Area = "Admin", Controller = "Roles", Action = "Index", CategoryId = 1 },
28+
new Module { Id = 3, Name = "Payments", Area = "Ops", Controller = "Payments", Action = "Index", CategoryId = 2 }
29+
};
3230

33-
var functions = new List<Function>
34-
{
35-
new Function { Id = 1, ModuleId = 1, Code = "Users.View", DisplayName = "View Users" },
36-
new Function { Id = 2, ModuleId = 1, Code = "Users.Edit", DisplayName = "Edit Users" },
37-
new Function { Id = 3, ModuleId = 2, Code = "Roles.View", DisplayName = "View Roles" },
38-
new Function { Id = 4, ModuleId = 2, Code = "Roles.Assign", DisplayName = "Assign Roles" },
39-
new Function { Id = 5, ModuleId = 3, Code = "Payments.View", DisplayName = "View Payments" }
40-
};
31+
var functions = new List<Function>
32+
{
33+
new Function { Id = 1, ModuleId = 1, Code = "Users.View", DisplayName = "View Users" },
34+
new Function { Id = 2, ModuleId = 1, Code = "Users.Edit", DisplayName = "Edit Users" },
35+
new Function { Id = 3, ModuleId = 2, Code = "Roles.View", DisplayName = "View Roles" },
36+
new Function { Id = 4, ModuleId = 2, Code = "Roles.Assign", DisplayName = "Assign Roles" },
37+
new Function { Id = 5, ModuleId = 3, Code = "Payments.View", DisplayName = "View Payments" }
38+
};
4139

42-
var roles = new List<Role>
43-
{
44-
new Role { Id = 1, Name = "Admin" },
45-
new Role { Id = 2, Name = "Operator" }
46-
};
40+
var roles = new List<Role>
41+
{
42+
new Role { Id = 1, Name = "Admin" },
43+
new Role { Id = 2, Name = "Operator" }
44+
};
4745

48-
var users = new List<AppUser>
49-
{
50-
new AppUser { Id = 1, UserName = "alice", Password = BCrypt.Net.BCrypt.HashPassword("alice") },
51-
new AppUser { Id = 2, UserName = "bob", Password = BCrypt.Net.BCrypt.HashPassword("boob") }
52-
};
46+
var users = new List<AppUser>
47+
{
48+
new AppUser { Id = 1, UserName = "alice", Password = BCrypt.Net.BCrypt.HashPassword("alice") },
49+
new AppUser { Id = 2, UserName = "bob", Password = BCrypt.Net.BCrypt.HashPassword("boob") }
50+
};
5351

54-
var userRoles = new List<UserRole>
55-
{
56-
new UserRole { UserId = 1, RoleId = 1 }, // alice → Admin
57-
new UserRole { UserId = 2, RoleId = 2 } // bob → Operator
58-
};
52+
var userRoles = new List<UserRole>
53+
{
54+
new UserRole { UserId = 1, RoleId = 1 }, // alice → Admin
55+
new UserRole { UserId = 2, RoleId = 2 } // bob → Operator
56+
};
5957

60-
var roleFunctions = new List<RoleFunction>
61-
{
62-
// Admin gets everything
63-
new RoleFunction { RoleId = 1, FunctionId = 1 },
64-
new RoleFunction { RoleId = 1, FunctionId = 2 },
65-
new RoleFunction { RoleId = 1, FunctionId = 3 },
66-
new RoleFunction { RoleId = 1, FunctionId = 4 },
67-
new RoleFunction { RoleId = 1, FunctionId = 5 },
58+
var roleFunctions = new List<RoleFunction>
59+
{
60+
// Admin gets everything
61+
new RoleFunction { RoleId = 1, FunctionId = 1 },
62+
new RoleFunction { RoleId = 1, FunctionId = 2 },
63+
new RoleFunction { RoleId = 1, FunctionId = 3 },
64+
new RoleFunction { RoleId = 1, FunctionId = 4 },
65+
new RoleFunction { RoleId = 1, FunctionId = 5 },
6866

69-
// Operator gets limited
70-
new RoleFunction { RoleId = 2, FunctionId = 1 }, // Users.View
71-
new RoleFunction { RoleId = 2, FunctionId = 5 } // Payments.View
72-
};
67+
// Operator gets limited
68+
new RoleFunction { RoleId = 2, FunctionId = 1 }, // Users.View
69+
new RoleFunction { RoleId = 2, FunctionId = 5 } // Payments.View
70+
};
7371

74-
// Add and save
75-
context.Categories.AddRange(categories);
76-
context.Modules.AddRange(modules);
77-
context.Functions.AddRange(functions);
78-
context.Roles.AddRange(roles);
79-
context.Users.AddRange(users);
80-
context.UserRoles.AddRange(userRoles);
81-
context.RoleFunctions.AddRange(roleFunctions);
72+
// Add and save
73+
context.Categories.AddRange(categories);
74+
context.Modules.AddRange(modules);
75+
context.Functions.AddRange(functions);
76+
context.Roles.AddRange(roles);
77+
context.Users.AddRange(users);
78+
context.UserRoles.AddRange(userRoles);
79+
context.RoleFunctions.AddRange(roleFunctions);
8280

83-
context.SaveChanges();
84-
}
81+
context.SaveChanges();
82+
8583
}
8684
}
8785
}

0 commit comments

Comments
 (0)