step 22 : no_login -> login dan list riwayat pake JWT done, masih belum done di refreshToken karena check waktu expired salah

This commit is contained in:
sindhu
2025-02-26 19:28:02 +07:00
parent 113da748fa
commit a28830deb0
14 changed files with 1897 additions and 3 deletions

View File

@@ -0,0 +1,103 @@
import '../../model/person_ktp_model.dart';
import '../../model/sex_model.dart';
import '../../model/sukses_person_model.dart';
import '../base_repository.dart';
class NoLoginScanRepository extends BaseRepository {
NoLoginScanRepository({required super.dio});
Future<List<PersonKtp>> listRiwayatScanRepo({
required String host,
required String userId,
required String token,
}) async {
// final service = "${Constant.baseUrl}xauth/login";
final service =
"http://${host}/one-api/scan-ktpv2-no-login/Scanktpv2/listRiwayatScan";
final resp = await post(
param: {"userId": userId},
service: service,
token: token,
);
final result = List<PersonKtp>.empty(growable: true);
resp['data'].forEach((e) {
final model = PersonKtp.fromJson(e);
result.add(model);
});
return result;
}
Future<List<SuksesPersonModel>> prosesScan({
required String host,
required String base64File,
required String userId,
}) async {
final service =
"http://${host}/one-api/scan-ktpv2-no-login/Scanktp/proses_scan";
final resp = await post(param: {
"base64File": base64File,
"userId": userId,
}, service: service);
final result = List<SuksesPersonModel>.empty(growable: true);
resp['data'].forEach((e) {
final model = SuksesPersonModel.fromJson(e);
result.add(model);
});
return result;
}
// sex
Future<List<SexModel>> sexRepo({
required String host,
}) async {
// final service = "${Constant.baseUrl}xauth/login";
final service = "http://${host}/one-api/scan-ktpv2-no-login/Scanktp/getSex";
final resp = await post(param: {}, service: service);
final result = List<SexModel>.empty(growable: true);
resp['data'].forEach((e) {
final model = SexModel.fromJson(e);
result.add(model);
});
return result;
}
// edit
Future<String> prosesEdit({
required String host,
required String userId,
required String Person_ID,
required String Person_NIK,
required String Person_Name,
required String Person_Dob,
required String Person_Sex,
}) async {
final service =
"http://${host}/one-api/scan-ktpv2-no-login/Scanktp/proses_edit";
final resp = await post(
param: {
"Person_ID": Person_ID,
"Person_NIK": Person_NIK,
"Person_Name": Person_Name,
"Person_Dob": Person_Dob,
"Person_Sex": Person_Sex,
"userId": userId,
},
service: service,
);
if (resp['status'] == "OK") {
return "Sukses Update Data";
} else {
resp['message'];
}
return resp['message'];
}
}

View File

@@ -0,0 +1,85 @@
import '../../model/no-login/no_login_auth_model.dart';
import '../base_repository.dart';
class NoLoginAuthRepository extends BaseRepository {
NoLoginAuthRepository({required super.dio});
// loginF
Future<NoLoginAuthModel> loginF({
required String client_id,
required String host,
required String password,
}) async {
final param = {"client_id": client_id, "password": password, "host":host};
final service = "http://$host/one-api/scan-ktpv2-no-login/Scanktpv2/loginF";
final resp = await post(param: param, service: service);
// if (resp['status'] != "OK") {
// return resp['message'];
// }
// return resp['status'];
final result = NoLoginAuthModel(
host: resp['data']['host'],
token: resp["data"]["token"],
client_id: resp['data']['client_id'],
expire_date: resp['data']['expire_date'],
isLogin: resp['data']['isLogin'],
);
return result;
}
// createToken
Future<NoLoginAuthModel> createToken({
required String client_id,
required String host,
}) async {
final param = {
"client_id": client_id,
"host": host,
};
// final service = "${Constant.baseUrl}xauth/login";
final service =
"http://$host/one-api/scan-ktpv2-no-login/Scanktpv2/createToken";
final resp = await post(param: param, service: service);
final result = NoLoginAuthModel(
host: resp['data']['host'],
token: resp["data"]["token"],
client_id: resp['data']['client_id'],
expire_date: resp['data']['expire_date'],
isLogin: resp['data']['isLogin'],
);
return result;
}
// refreshToken
Future<NoLoginAuthModel> refreshToken(
{required String client_id,
required String host,
required String expire_date}) async {
final param = {
"client_id": client_id,
"host": host,
"expire_date": expire_date,
};
// final service = "${Constant.baseUrl}xauth/login";
final service =
"http://$host/one-api/scan-ktpv2-no-login/Scanktpv2/refreshToken";
final resp = await post(param: param, service: service);
final result = NoLoginAuthModel(
host: resp['data']['host'],
token: resp["data"]["token"],
client_id: resp['data']['client_id'],
expire_date: resp['data']['expire_date'],
isLogin: resp['data']['isLogin'],
);
return result;
}
}