feat: 회사 관리 API 연동 구현
- CompanyService 및 RemoteDataSource 구현 - Company, Branch DTO 모델 생성 (Freezed) - 의존성 주입 컨테이너 업데이트 - 회사 등록/수정 폼에 API 연동 로직 적용 - API 통합 계획 문서 업데이트
This commit is contained in:
69
lib/data/models/company/branch_dto.dart
Normal file
69
lib/data/models/company/branch_dto.dart
Normal file
@@ -0,0 +1,69 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
|
||||
part 'branch_dto.freezed.dart';
|
||||
part 'branch_dto.g.dart';
|
||||
|
||||
@freezed
|
||||
class CreateBranchRequest with _$CreateBranchRequest {
|
||||
const factory CreateBranchRequest({
|
||||
@JsonKey(name: 'branch_name') required String branchName,
|
||||
required String address,
|
||||
required String phone,
|
||||
@JsonKey(name: 'manager_name') String? managerName,
|
||||
@JsonKey(name: 'manager_phone') String? managerPhone,
|
||||
String? remark,
|
||||
}) = _CreateBranchRequest;
|
||||
|
||||
factory CreateBranchRequest.fromJson(Map<String, dynamic> json) =>
|
||||
_$CreateBranchRequestFromJson(json);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class UpdateBranchRequest with _$UpdateBranchRequest {
|
||||
const factory UpdateBranchRequest({
|
||||
@JsonKey(name: 'branch_name') String? branchName,
|
||||
String? address,
|
||||
String? phone,
|
||||
@JsonKey(name: 'manager_name') String? managerName,
|
||||
@JsonKey(name: 'manager_phone') String? managerPhone,
|
||||
String? remark,
|
||||
}) = _UpdateBranchRequest;
|
||||
|
||||
factory UpdateBranchRequest.fromJson(Map<String, dynamic> json) =>
|
||||
_$UpdateBranchRequestFromJson(json);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class BranchResponse with _$BranchResponse {
|
||||
const factory BranchResponse({
|
||||
required int id,
|
||||
@JsonKey(name: 'company_id') required int companyId,
|
||||
@JsonKey(name: 'branch_name') required String branchName,
|
||||
required String address,
|
||||
required String phone,
|
||||
@JsonKey(name: 'manager_name') String? managerName,
|
||||
@JsonKey(name: 'manager_phone') String? managerPhone,
|
||||
String? remark,
|
||||
@JsonKey(name: 'created_at') required DateTime createdAt,
|
||||
@JsonKey(name: 'updated_at') required DateTime updatedAt,
|
||||
@JsonKey(name: 'address_id') int? addressId,
|
||||
}) = _BranchResponse;
|
||||
|
||||
factory BranchResponse.fromJson(Map<String, dynamic> json) =>
|
||||
_$BranchResponseFromJson(json);
|
||||
}
|
||||
|
||||
@freezed
|
||||
class BranchListDto with _$BranchListDto {
|
||||
const factory BranchListDto({
|
||||
required int id,
|
||||
@JsonKey(name: 'company_id') required int companyId,
|
||||
@JsonKey(name: 'branch_name') required String branchName,
|
||||
required String address,
|
||||
required String phone,
|
||||
@JsonKey(name: 'manager_name') String? managerName,
|
||||
}) = _BranchListDto;
|
||||
|
||||
factory BranchListDto.fromJson(Map<String, dynamic> json) =>
|
||||
_$BranchListDtoFromJson(json);
|
||||
}
|
||||
Reference in New Issue
Block a user