import 'package:get/get.dart'; import 'package:starwork_flutter/api/api_path.dart'; import 'package:starwork_flutter/api/api_response.dart'; import 'package:starwork_flutter/api/base_api_service.dart'; import 'package:starwork_flutter/api/model/team/request/bind_team_star_cloud_account_request.dart'; import 'package:starwork_flutter/api/model/team/request/change_current_team_request.dart'; import 'package:starwork_flutter/api/model/team/request/create_new_depart_request.dart'; import 'package:starwork_flutter/api/model/team/request/create_new_person.dart'; import 'package:starwork_flutter/api/model/team/request/create_new_role_request.dart'; import 'package:starwork_flutter/api/model/team/request/create_team_request.dart'; import 'package:starwork_flutter/api/model/team/request/get_depart_list_request.dart'; import 'package:starwork_flutter/api/model/team/request/invite_info_request.dart'; import 'package:starwork_flutter/api/model/team/request/role_list_request.dart'; import 'package:starwork_flutter/api/model/team/request/update_invite_parameter_config_request.dart'; import 'package:starwork_flutter/api/model/team/request/update_team_info_request.dart'; import 'package:starwork_flutter/api/model/team/response/all_team_list_response.dart'; import 'package:starwork_flutter/api/model/team/response/create_team_response.dart'; import 'package:starwork_flutter/api/model/team/response/depart_list_reponse.dart'; import 'package:starwork_flutter/api/model/team/response/invite_info_response.dart'; import 'package:starwork_flutter/api/model/team/response/role_list_response.dart'; import 'package:starwork_flutter/api/model/team/response/scene_info_response.dart'; import 'package:starwork_flutter/api/model/team/response/team_invite_parameter_config_response.dart'; import 'package:starwork_flutter/api/model/user/request/validation_code_login.dart'; import 'package:starwork_flutter/api/model/user/response/token_response.dart'; import 'package:starwork_flutter/common/constant/http_constant.dart'; class TeamApiService { final BaseApiService _api; TeamApiService(this._api); // 通过构造函数注入 // 创建团队 Future> requestCreateTeam({ required CreateTeamRequest request, }) { return _api.makeRequest( path: ApiPath.createTeam, method: HttpConstant.post, data: request.toJson(), fromJson: (data) => CreateTeamResponse.fromJson(data), ); } // 所有团队列表 Future> requestAllTeamInfoList() { return _api.makeRequest( path: ApiPath.allTeamList, method: HttpConstant.post, fromJson: (data) => AllTeamListResponse.fromJson(data), ); } // 所有团队使用场景列表 Future> requestAllSceneInfoList() { return _api.makeRequest( path: ApiPath.sceneList, method: HttpConstant.post, fromJson: (data) => SceneInfoResponseList.fromJson(data), ); } // 切换当前团队 Future> requestChangeCurrentTeam({ required ChangeCurrentTeamRequest request, }) { return _api.makeRequest( path: ApiPath.changeTeam, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } // 团队绑定星云账号 Future> requestBindTeamStarCloudAccount({ required BindTeamStarCloudAccountRequest request, }) { return _api.makeRequest( path: ApiPath.bindTeamStarCloudAccount, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } // 修改团队信息 Future> requestUpdateTeamInfo({ required UpdateTeamInfoRequest request, }) { return _api.makeRequest( path: ApiPath.updateTeamInfo, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } /// 获取邀请信息 Future> requestInviteInfo({ required InviteInfoRequest request, }) { return _api.makeRequest( path: ApiPath.getInviteInfo, method: HttpConstant.post, data: request.toJson(), fromJson: (data) => InviteInfoResponse.fromJson(data), ); } // 请求邀请参数信息配置 Future> requestInviteParameterConfig() { return _api.makeRequest( path: ApiPath.getTeamInviteConfig, method: HttpConstant.post, fromJson: (data) => TeamInviteParameterConfigResponse.fromJson(data), ); } // 请求邀请参数信息修改 Future> requestUpdateInviteParameterConfig({ required UpdateInviteParameterConfigRequest request, }) { return _api.makeRequest( path: ApiPath.updateTeamInviteConfig, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } // 获取组织列表 Future> requestDepartList({ required GetDepartListRequest request, }) { return _api.makeRequest( path: ApiPath.departList, method: HttpConstant.post, data: request.toJson(), fromJson: (data) => DepartListResponse.fromJson(data), ); } // 创建新的组织 Future> requestCreateDepart({ required CreateNewDepartRequest request, }) { return _api.makeRequest( path: ApiPath.departCreate, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } // 获取团队角色列表 Future>> requestTeamRoleList() { return _api.makeRequest( path: ApiPath.roleList, method: HttpConstant.post, fromJson: (data) => RoleListResponse.fromJsonList(data), ); } // 创建新的角色 Future> requestCreateTeamRole({ required CreateNewRoleRequest request, }) { return _api.makeRequest( path: ApiPath.roleCreate, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } // 添加新的人员 Future> requestAddPerson({ required CreateNewPerson request, }) { return _api.makeRequest( path: ApiPath.createPerson, method: HttpConstant.post, data: request.toJson(), fromJson: (data) {}, ); } }