199 lines
6.6 KiB
Dart
199 lines
6.6 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_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_details_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<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.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
|
|
// 团队绑定星云账号
|
|
Future<ApiResponse<void>> requestBindTeamStarCloudAccount({
|
|
required BindTeamStarCloudAccountRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.bindTeamStarCloudAccount,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
|
|
// 修改团队信息
|
|
Future<ApiResponse<void>> requestUpdateTeamInfo({
|
|
required UpdateTeamInfoRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.updateTeamInfo,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
|
|
// 查询团队详情
|
|
Future<ApiResponse<TeamDetailsResponse>> requestTeamDetails() {
|
|
return _api.makeRequest(
|
|
path: ApiPath.teamDetail,
|
|
method: HttpConstant.post,
|
|
fromJson: (data) => TeamDetailsResponse.fromJson(data),
|
|
);
|
|
}
|
|
|
|
|
|
/// 获取邀请信息
|
|
Future<ApiResponse<InviteInfoResponse>> requestInviteInfo({
|
|
required InviteInfoRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.getInviteInfo,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) => InviteInfoResponse.fromJson(data),
|
|
);
|
|
}
|
|
|
|
// 请求邀请参数信息配置
|
|
Future<ApiResponse<TeamInviteParameterConfigResponse>> requestInviteParameterConfig() {
|
|
return _api.makeRequest(
|
|
path: ApiPath.getTeamInviteConfig,
|
|
method: HttpConstant.post,
|
|
fromJson: (data) => TeamInviteParameterConfigResponse.fromJson(data),
|
|
);
|
|
}
|
|
|
|
// 请求邀请参数信息修改
|
|
Future<ApiResponse<void>> requestUpdateInviteParameterConfig({
|
|
required UpdateInviteParameterConfigRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.updateTeamInviteConfig,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
|
|
// 获取组织列表
|
|
Future<ApiResponse<DepartListResponse>> requestDepartList({
|
|
required GetDepartListRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.departList,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) => DepartListResponse.fromJson(data),
|
|
);
|
|
}
|
|
|
|
// 创建新的组织
|
|
Future<ApiResponse<void>> requestCreateDepart({
|
|
required CreateNewDepartRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.departCreate,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
|
|
// 获取团队角色列表
|
|
Future<ApiResponse<List<RoleListResponse>>> requestTeamRoleList() {
|
|
return _api.makeRequest(
|
|
path: ApiPath.roleList,
|
|
method: HttpConstant.post,
|
|
fromJson: (data) => RoleListResponse.fromJsonList(data),
|
|
);
|
|
}
|
|
|
|
// 创建新的角色
|
|
Future<ApiResponse<void>> requestCreateTeamRole({
|
|
required CreateNewRoleRequest request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.roleCreate,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
|
|
// 添加新的人员
|
|
Future<ApiResponse<void>> requestAddPerson({
|
|
required CreateNewPerson request,
|
|
}) {
|
|
return _api.makeRequest(
|
|
path: ApiPath.createPerson,
|
|
method: HttpConstant.post,
|
|
data: request.toJson(),
|
|
fromJson: (data) {},
|
|
);
|
|
}
|
|
}
|