starwork_flutter/lib/api/service/team_api_service.dart
2025-09-12 15:25:36 +08:00

93 lines
3.1 KiB
Dart

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_team_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/scene_info_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<ApiResponse<CreateTeamResponse>> requestCreateTeam({
required CreateTeamRequest request,
}) {
return _api.makeRequest(
// 通过实例调用
path: ApiPath.createTeam,
method: HttpConstant.post,
data: request.toJson(),
fromJson: (data) => CreateTeamResponse.fromJson(data),
);
}
// 所有团队列表
Future<ApiResponse<AllTeamListResponse>> requestAllTeamInfoList() {
return _api.makeRequest(
// 通过实例调用
path: ApiPath.allTeamList,
method: HttpConstant.post,
fromJson: (data) => AllTeamListResponse.fromJson(data),
);
}
// 所有团队使用场景列表
Future<ApiResponse<SceneInfoResponseList>> requestAllSceneInfoList() {
return _api.makeRequest(
// 通过实例调用
path: ApiPath.sceneList,
method: HttpConstant.post,
fromJson: (data) => SceneInfoResponseList.fromJson(data),
);
}
// 切换当前团队
Future<ApiResponse<void>> requestChangeCurrentTeam({
required ChangeCurrentTeamRequest request,
}) {
return _api.makeRequest(
// 通过实例调用
path: ApiPath.changeTeam,
method: HttpConstant.post,
data: request,
fromJson: (data) {},
);
}
// 团队绑定星云账号
Future<ApiResponse<SceneInfoResponseList>> requestBindTeamStarCloudAccount({
required BindTeamStarCloudAccountRequest request,
}) {
return _api.makeRequest(
// 通过实例调用
path: ApiPath.bindTeamStarCloudAccount,
method: HttpConstant.post,
data: request,
fromJson: (data) => SceneInfoResponseList.fromJson(data),
);
}
// 修改团队信息
Future<ApiResponse<void>> requestUpdateTeamInfo({
required UpdateTeamInfoRequest request,
}) {
return _api.makeRequest(
// 通过实例调用
path: ApiPath.updateTeamInfo,
method: HttpConstant.post,
data: request,
fromJson: (data) {},
);
}
}