web: migrate health notifications to js_interop; add browser hook
- Replace dart:js with package:js in health_check_service_web.dart\n- Implement showHealthCheckNotification in web/index.html\n- Pin js dependency to ^0.6.7 for flutter_secure_storage_web compatibility auth: harden AuthInterceptor + tests - Allow overrideAuthRepository injection for testing\n- Normalize imports to package: paths\n- Add unit test covering token attach, 401→refresh→retry, and failure path\n- Add integration test skeleton gated by env vars ui/data: map User.companyName to list column - Add companyName to domain User\n- Map UserDto.company?.name\n- Render companyName in user_list cleanup: remove legacy equipment table + unused code; minor warnings - Remove _buildFlexibleTable and unused helpers\n- Remove unused zipcode details and cache retry constant\n- Fix null-aware and non-null assertions\n- Address child-last warnings in administrator dialog docs: update AGENTS.md session context
This commit is contained in:
@@ -32,6 +32,9 @@ mixin _$User {
|
||||
/// 전화번호 (선택, "010-1234-5678" 형태)
|
||||
String? get phone => throw _privateConstructorUsedError;
|
||||
|
||||
/// 소속 회사명 (UI 표시용, 백엔드 미저장)
|
||||
String? get companyName => throw _privateConstructorUsedError;
|
||||
|
||||
/// UI용 필드들 (백엔드 저장하지 않음)
|
||||
String get username => throw _privateConstructorUsedError; // UI 호환용
|
||||
UserRole get role => throw _privateConstructorUsedError; // UI 호환용
|
||||
@@ -58,6 +61,7 @@ abstract class $UserCopyWith<$Res> {
|
||||
String name,
|
||||
String? email,
|
||||
String? phone,
|
||||
String? companyName,
|
||||
String username,
|
||||
UserRole role,
|
||||
bool isActive,
|
||||
@@ -84,6 +88,7 @@ class _$UserCopyWithImpl<$Res, $Val extends User>
|
||||
Object? name = null,
|
||||
Object? email = freezed,
|
||||
Object? phone = freezed,
|
||||
Object? companyName = freezed,
|
||||
Object? username = null,
|
||||
Object? role = null,
|
||||
Object? isActive = null,
|
||||
@@ -107,6 +112,10 @@ class _$UserCopyWithImpl<$Res, $Val extends User>
|
||||
? _value.phone
|
||||
: phone // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
companyName: freezed == companyName
|
||||
? _value.companyName
|
||||
: companyName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
username: null == username
|
||||
? _value.username
|
||||
: username // ignore: cast_nullable_to_non_nullable
|
||||
@@ -143,6 +152,7 @@ abstract class _$$UserImplCopyWith<$Res> implements $UserCopyWith<$Res> {
|
||||
String name,
|
||||
String? email,
|
||||
String? phone,
|
||||
String? companyName,
|
||||
String username,
|
||||
UserRole role,
|
||||
bool isActive,
|
||||
@@ -166,6 +176,7 @@ class __$$UserImplCopyWithImpl<$Res>
|
||||
Object? name = null,
|
||||
Object? email = freezed,
|
||||
Object? phone = freezed,
|
||||
Object? companyName = freezed,
|
||||
Object? username = null,
|
||||
Object? role = null,
|
||||
Object? isActive = null,
|
||||
@@ -189,6 +200,10 @@ class __$$UserImplCopyWithImpl<$Res>
|
||||
? _value.phone
|
||||
: phone // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
companyName: freezed == companyName
|
||||
? _value.companyName
|
||||
: companyName // ignore: cast_nullable_to_non_nullable
|
||||
as String?,
|
||||
username: null == username
|
||||
? _value.username
|
||||
: username // ignore: cast_nullable_to_non_nullable
|
||||
@@ -221,6 +236,7 @@ class _$UserImpl implements _User {
|
||||
required this.name,
|
||||
this.email,
|
||||
this.phone,
|
||||
this.companyName,
|
||||
this.username = '',
|
||||
this.role = UserRole.staff,
|
||||
this.isActive = true,
|
||||
@@ -246,6 +262,10 @@ class _$UserImpl implements _User {
|
||||
@override
|
||||
final String? phone;
|
||||
|
||||
/// 소속 회사명 (UI 표시용, 백엔드 미저장)
|
||||
@override
|
||||
final String? companyName;
|
||||
|
||||
/// UI용 필드들 (백엔드 저장하지 않음)
|
||||
@override
|
||||
@JsonKey()
|
||||
@@ -267,7 +287,7 @@ class _$UserImpl implements _User {
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'User(id: $id, name: $name, email: $email, phone: $phone, username: $username, role: $role, isActive: $isActive, createdAt: $createdAt, updatedAt: $updatedAt)';
|
||||
return 'User(id: $id, name: $name, email: $email, phone: $phone, companyName: $companyName, username: $username, role: $role, isActive: $isActive, createdAt: $createdAt, updatedAt: $updatedAt)';
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -279,6 +299,8 @@ class _$UserImpl implements _User {
|
||||
(identical(other.name, name) || other.name == name) &&
|
||||
(identical(other.email, email) || other.email == email) &&
|
||||
(identical(other.phone, phone) || other.phone == phone) &&
|
||||
(identical(other.companyName, companyName) ||
|
||||
other.companyName == companyName) &&
|
||||
(identical(other.username, username) ||
|
||||
other.username == username) &&
|
||||
(identical(other.role, role) || other.role == role) &&
|
||||
@@ -292,8 +314,8 @@ class _$UserImpl implements _User {
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType, id, name, email, phone, username,
|
||||
role, isActive, createdAt, updatedAt);
|
||||
int get hashCode => Object.hash(runtimeType, id, name, email, phone,
|
||||
companyName, username, role, isActive, createdAt, updatedAt);
|
||||
|
||||
/// Create a copy of User
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@@ -317,6 +339,7 @@ abstract class _User implements User {
|
||||
required final String name,
|
||||
final String? email,
|
||||
final String? phone,
|
||||
final String? companyName,
|
||||
final String username,
|
||||
final UserRole role,
|
||||
final bool isActive,
|
||||
@@ -341,6 +364,10 @@ abstract class _User implements User {
|
||||
@override
|
||||
String? get phone;
|
||||
|
||||
/// 소속 회사명 (UI 표시용, 백엔드 미저장)
|
||||
@override
|
||||
String? get companyName;
|
||||
|
||||
/// UI용 필드들 (백엔드 저장하지 않음)
|
||||
@override
|
||||
String get username; // UI 호환용
|
||||
|
||||
Reference in New Issue
Block a user