Add user and employee management enhancements with database schema updates
- Introduced new columns `status`, `created_by`, and `updated_by` in the `users` table to track user status and ownership. - Updated the `employees` table to include a foreign key reference to the `users` table via `user_id`. - Created migration script `0012_users_primary.sql` to apply these changes to the database schema. - Enhanced the `EmployeesService` and `EmployeesRepository` to support user assignments and related data retrieval. - Updated DTOs and service methods to reflect the new user and employee relationships. - Added unit tests to validate the new functionality and ensure data integrity. - Modified existing controllers to accommodate the new fields and relationships in user and employee management.
This commit is contained in:
@@ -14,9 +14,13 @@ export const employees = pgTable(
|
||||
name: varchar('name', { length: 64 }).notNull(),
|
||||
phone: text('phone').notNull(),
|
||||
position: text('position').notNull(),
|
||||
userId: uuid('user_id').references(() => users.id, { onDelete: 'set null' }),
|
||||
...primaryEntityColumns(users),
|
||||
},
|
||||
(t) => [uniqueIndex('employees_code_unique').on(t.code)],
|
||||
(t) => [
|
||||
uniqueIndex('employees_code_unique').on(t.code),
|
||||
uniqueIndex('employees_user_id_unique').on(t.userId),
|
||||
],
|
||||
);
|
||||
|
||||
export type EmployeeRow = typeof employees.$inferSelect;
|
||||
|
||||
Reference in New Issue
Block a user