// ignore_for_file: invalid_annotation_target

import 'package:freezed_annotation/freezed_annotation.dart';

part 'profile_data.freezed.dart';
part 'profile_data.g.dart';

@freezed
abstract class ProfileData with _$ProfileData {
  const factory ProfileData({
    required String? id,
    @JsonKey(name: 'full_name') required String? fullName,
    required String? username,
    required String? email,
    required String? role,
    required String? status,
    required String? department,
    required String? position,
    required String? phone,
    @JsonKey(name: 'profile_image') required String? profileImage,
    @JsonKey(name: 'is_verified') required bool? isVerified,
    @JsonKey(name: 'last_login_at') required int? lastLoginAt,
    @JsonKey(name: 'created_at') required int? createdAt,
    @JsonKey(name: 'updated_at') required int? updatedAt,
  }) = _ProfileData;

  factory ProfileData.fromJson(Map<String, Object?> json) =>
      _$ProfileDataFromJson(json);
}
