From b8543782335e3f6e71ab7c494716a5f775f61703 Mon Sep 17 00:00:00 2001 From: sabdayagra Date: Thu, 9 Jan 2025 08:59:46 +0700 Subject: [PATCH] fix: fixed api in detail rewrite --- .../content-management/download/page.tsx | 115 ++++- .../rewrite/create/[id]/page.tsx | 14 +- .../rewrite/detail/[id]/page.tsx | 170 +++---- app/[locale]/auth/registration/page.tsx | 460 ++++++++++++++++++ .../landing-page/sidebar-management.tsx | 4 +- service/auth.ts | 56 ++- service/landing/landing.ts | 4 + 7 files changed, 714 insertions(+), 109 deletions(-) create mode 100644 app/[locale]/auth/registration/page.tsx diff --git a/app/[locale]/(public)/content-management/download/page.tsx b/app/[locale]/(public)/content-management/download/page.tsx index fe9e3fe6..67f9e180 100644 --- a/app/[locale]/(public)/content-management/download/page.tsx +++ b/app/[locale]/(public)/content-management/download/page.tsx @@ -12,7 +12,8 @@ import SidebarManagement from "@/components/landing-page/sidebar-management"; import withReactContent from "sweetalert2-react-content"; import { getCookiesDecrypt } from "@/lib/utils"; import Swal from "sweetalert2"; -import { useToast } from "@/components/ui/use-toast"; +import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; +import { Icon } from "@iconify/react/dist/iconify.js"; const Galery = (props: any) => { const [profile, setProfile] = useState(); @@ -282,6 +283,29 @@ const Galery = (props: any) => {
{video?.mediaUpload?.title}
+ + + + + + + + +
+ +
+
+ + handleDelete(video?.id)} className="flex items-center gap-1 hover:bg-slate-600 w-full rounded-lg"> + +

Hapus

+
+
+
+
@@ -296,11 +320,7 @@ const Galery = (props: any) => { contentAudio?.length > 0 ? (
{contentAudio?.map((audio: any) => ( - +
{
-
{audio?.mediaUpload?.title}
+ + {audio?.mediaUpload?.title} +
@@ -327,7 +349,30 @@ const Galery = (props: any) => {
- + + + + + + + + +
+ +
+
+ + handleDelete(audio?.id)} className="flex items-center gap-1 hover:bg-slate-600 w-full rounded-lg"> + +

Hapus

+
+
+
+
+
))}
) : ( @@ -346,6 +391,29 @@ const Galery = (props: any) => {
{image?.mediaUpload?.title}
+ + + + + + + + +
+ +
+
+ + handleDelete(image?.id)} className="flex items-center gap-1 hover:bg-slate-600 w-full rounded-lg"> + +

Hapus

+
+
+
+
))} @@ -357,7 +425,7 @@ const Galery = (props: any) => { ) : contentDocument.length > 0 ? (
{contentDocument?.map((document: any) => ( - +
{
-
{document?.mediaUpload?.title}
+ + {document?.mediaUpload?.title} +
@@ -376,7 +446,30 @@ const Galery = (props: any) => { Download Dokumen
- + + + + + + + + +
+ +
+
+ + handleDelete(document?.id)} className="flex items-center gap-1 hover:bg-slate-600 w-full rounded-lg"> + +

Hapus

+
+
+
+
+
))}
) : ( diff --git a/app/[locale]/(public)/content-management/rewrite/create/[id]/page.tsx b/app/[locale]/(public)/content-management/rewrite/create/[id]/page.tsx index 3f582c9a..5746c603 100644 --- a/app/[locale]/(public)/content-management/rewrite/create/[id]/page.tsx +++ b/app/[locale]/(public)/content-management/rewrite/create/[id]/page.tsx @@ -255,7 +255,7 @@ const page = (props: { states?: any }) => { const maxRetries = 20; try { - const waitForStatusUpdate = async () => { + const waitForStatusUpdate: any = async () => { while (retryCount < maxRetries) { const res = await getDetailArticle(id); const articleData = res?.data?.data; @@ -276,7 +276,7 @@ const page = (props: { states?: any }) => { const articleImagesData = articleData?.imagesUrl?.split(","); setValue("description", cleanArticleBody || ""); setArticleBody(cleanArticleBody || ""); - setDetailData(articleData); + setDetailArticle(articleData); setSelectedArticleId(id); setArticleImages(articleImagesData || []); } catch (error) { @@ -404,7 +404,11 @@ const page = (props: { states?: any }) => { {articleIds.map((id: any, index: any) => (

handleArticleIdClick(id)} > {id} @@ -429,7 +433,7 @@ const page = (props: { states?: any }) => { ) } /> - {articleBody === null || articleBody === "" ?

Deskripsi tidak boleh kosong*
: ""} + {articleBody === null || articleBody === "" ?

Deskripsi tidak boleh kosong*

: ""}
-
diff --git a/app/[locale]/(public)/content-management/rewrite/detail/[id]/page.tsx b/app/[locale]/(public)/content-management/rewrite/detail/[id]/page.tsx index 056fcbf5..169843f9 100644 --- a/app/[locale]/(public)/content-management/rewrite/detail/[id]/page.tsx +++ b/app/[locale]/(public)/content-management/rewrite/detail/[id]/page.tsx @@ -4,7 +4,7 @@ import { close, error, loading } from "@/config/swal"; import { useRouter } from "@/i18n/routing"; import { getCookiesDecrypt } from "@/lib/utils"; import { getContentRewrite, getInfoProfile } from "@/service/landing/landing"; -import { useSearchParams } from "next/navigation"; +import { useParams, useSearchParams } from "next/navigation"; import React, { useEffect, useState } from "react"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; @@ -15,6 +15,8 @@ import { generateDataArticle } from "@/service/content/ai"; import HeaderManagement from "@/components/landing-page/header-management"; import SidebarManagement from "@/components/landing-page/sidebar-management"; import { saveContentRewrite } from "@/service/content/content"; +import CustomEditor from "@/components/editor/custom-editor"; +import { Input } from "@/components/ui/input"; const page = (props: any) => { const { states } = props; @@ -23,7 +25,8 @@ const page = (props: any) => { const searchParams = useSearchParams(); const router = useRouter(); const [, setLoadingState] = useState(false); - const id: any = searchParams?.get("title"); + const getParams = useParams(); + const id: any = getParams?.id; const [content, setContent] = useState([]); const [isFromSPIT, setIsFromSPIT] = useState(false); const [listSuggestion, setListSuggestion] = useState(); @@ -199,96 +202,95 @@ const page = (props: any) => {
Detail Content Rewrite
- {/* {content && ( */} - <> -
-
-

Judul

-
- setSelectedTitle(e.target.value)} - /> -
-
-
-
-

Main Keyword

+ {content && ( + <> +
+
+

Judul

-
- -
-
-
-
- -
- - - // setSelectedMainKeyword(e.target.value) - // } - placeholder="Masukan Additional Keyword disini!" - defaultValue={content?.additionalKeyword} + className={`w-full mb-3 ${errors.title ? "is-invalid" : ""}`} + {...register("title", { + value: content?.title, + })} + id="title" + defaultValue={content?.title} + // onChange={(e) => setSelectedTitle(e.target.value)} />
-
+
+
+
+

Main Keyword

+
+
+ +
+
+
+
+ +
+ + // setSelectedMainKeyword(e.target.value) + // } + placeholder="Masukan Additional Keyword disini!" + defaultValue={content?.additionalKeyword} + /> +
+
-
-
+
+
+
+ +
+ + // setSelectedMainKeyword(e.target.value) + // } + placeholder="Masukan Meta Title disini!" + defaultValue={content?.metaTitle} + /> +
+
+
+ +
+ + // setSelectedMainKeyword(e.target.value) + // } + placeholder="Masukan Meta Description disini!" + defaultValue={content?.metaDescription} + /> +
+
+ +
- + + {}} initialData={articleBody || ""} />
- - // setSelectedMainKeyword(e.target.value) - // } - placeholder="Masukan Meta Title disini!" - defaultValue={content?.metaTitle} - />
-
-
- -
- - // setSelectedMainKeyword(e.target.value) - // } - placeholder="Masukan Meta Description disini!" - defaultValue={content?.metaDescription} - /> -
-
- -
-
- -
- {articleBody === null || articleBody === "" ?
Deskripsi tidak boleh kosong
: ""} -
- - {/* )} */} + + )}
diff --git a/app/[locale]/auth/registration/page.tsx b/app/[locale]/auth/registration/page.tsx new file mode 100644 index 00000000..28a7a87f --- /dev/null +++ b/app/[locale]/auth/registration/page.tsx @@ -0,0 +1,460 @@ +"use client"; + +import { Button } from "@/components/ui/button"; +import { Checkbox } from "@/components/ui/checkbox"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { close, error, loading, registerConfirm } from "@/config/swal"; +import { useRouter } from "@/i18n/routing"; +import { getDataByNIK, getDataByNRP, getDataJournalist, getDataPersonil, listCity, listDistricts, listInstitusi, listProvince, postRegistration, saveInstitutes } from "@/service/auth"; +import { verifyOTP } from "@/service/landing/landing"; +import { yupResolver } from "@hookform/resolvers/yup"; +import { useParams, useSearchParams } from "next/navigation"; +import { useEffect, useState } from "react"; +import { useForm, SubmitHandler } from "react-hook-form"; +import Swal from "sweetalert2"; +import withReactContent from "sweetalert2-react-content"; +import * as Yup from "yup"; + + +type Inputs = { + example: string; + exampleRequired: string; +}; + +const page = () => { + const params = useParams(); + const [stepOneActive] = useState(true); + const [stepTwoActive, setStepTwoActive] = useState(false); + const [stepThreeActive, setStepThreeActive] = useState(false); + const [typePass, setTypePass] = useState("password"); + const [typePassConf, setTypePassConf] = useState("password"); + const searchParams = useSearchParams(); + const [formProfile, setFormProfile] = useState(false); + const [journalistCertificate, setJournalistCertificate] = useState(); + const [personilNRP, setPersonilNRP] = useState(); + const [journalistData, setJournalistData] = useState(); + const [personilData, setPersonilData] = useState(); + const [userIdentity] = useState(); + const [userIdentityValidate, setUserIdentityValidate] = useState(""); + const [email, setEmail] = useState(); + const [emailValidate, setEmailValidate] = useState(""); + const [otpValidate, setOtpValidate] = useState(""); + const [password, setPassword] = useState(""); + const [passwordConf, setPasswordConf] = useState(""); + const [city, setCity] = useState([]); + const [isValidPassword, setIsValidPassword] = useState(false); + const MySwal = withReactContent(Swal); + const [isCustomActive, setIsCustomActive] = useState(false); + const [institusi, setInstitusi] = useState(); + const [customInstituteName, setCustomInstituteName] = useState(""); + const [institusiAddress, setInstitusiAddress] = useState(); + const [institution, setInstitution] = useState([]); + const [province, setProvince] = useState([]); + const router = useRouter(); + const category = searchParams?.get("category"); + const [districts, setDistricts] = useState([]); + + const [otp1, setOtp1] = useState(); + const [otp2, setOtp2] = useState(); + const [otp3, setOtp3] = useState(); + const [otp4, setOtp4] = useState(); + const [otp5, setOtp5] = useState(); + const [otp6, setOtp6] = useState(); + + const nMinuteSeconds = 60; + const nSecondInMiliseconds = 1000; + const [, setRefreshTimer] = useState(false); + + const validationSchema = Yup.object().shape({ + firstName: Yup.string().required("Nama Lengkap tidak boleh kosong"), + username: Yup.string().required("Username tidak boleh kosong"), + phoneNumber: Yup.string().required("Nomor Telepon tidak boleh kosong"), + address: Yup.string().required("Alamat tidak boleh kosong"), + email: Yup.string().required("Email tidak boleh kosong"), + provinsi: Yup.string().required("Provinsi tidak boleh kosong"), + kota: Yup.string().required("Kota tidak boleh kosong"), + kecamatan: Yup.string().required("Kecamatan tidak boleh kosong"), + password: Yup.string().required("Kata Sandi tidak boleh kosong"), + passwordConf: Yup.string().required( + "Konfirmasi Kata Sandi tidak boleh kosong", + ), + }); + + const formOptions = { + resolver: yupResolver(validationSchema), + }; + + const { register, handleSubmit, formState, setValue } = useForm(formOptions); + + const convertMinutesToMiliseconds = (minute: any) => + minute * nMinuteSeconds * nSecondInMiliseconds; + + const convertMilisecondsToHour = (miliseconds: any) => + new Date(miliseconds).toISOString().slice(17, -5); + + let [timerCount, setTimerCount] = useState(convertMinutesToMiliseconds(1)); + let interval; + + const showPass = () => { + setTypePass("text"); + }; + + const hidePass = () => { + setTypePass("password"); + }; + + const showPassConf = () => { + setTypePassConf("text"); + }; + + const hidePassConf = () => { + setTypePassConf("password"); + }; + + const setValUsername = (e: any) => { + const uname = e.replaceAll(/[^\w.-]/g, ""); + setValue("username", uname.toLowerCase()); + }; + + const setValPassword = (e: any) => { + setValue("password", e); + setPassword(e); + }; + + const setValPasswordConf = (e: any) => { + setPasswordConf(e); + }; + + + + async function save(data: any) { + // loading(); + let institutionId = 1; + + if (Number(category) == 6) { + const dataInstitution = + isCustomActive == true + ? { + name: customInstituteName, + address: institusiAddress, + categoryRoleId: Number(category), + } + : { + id: institusi, + address: institusiAddress, + }; + + console.log(dataInstitution); + + const resInstitution = await saveInstitutes(dataInstitution); + + institutionId = resInstitution?.data?.data?.id; + if (resInstitution?.error) { + error(resInstitution?.message); + return false; + } + } + + // const sanitizedFirstName = sanitizeHtml(data.firstName); + +// if (sanitizedFirstName == "") { +// error("Invalid Name"); +// } else { +// const datas = { +// firstName: sanitizedFirstName, +// lastName: "", +// username: data.username, +// phoneNumber: data.phoneNumber, +// email, +// address: data.address, +// memberIdentity: userIdentity, +// provinceId: Number(data.provinsi), +// cityId: Number(data.kota), +// districtId: Number(data.kecamatan), +// password: data.password, +// instituteId: Number(institutionId), +// roleId: Number(category), +// }; + +// const response = await postRegistration(datas); +// console.log(response); +// if (response?.error) { +// error(response?.message); +// return false; +// } + +// registerConfirm(); +// return false; +// } + } + +const handleJournalistCertificate = async () => { + const response = await getDataJournalist(journalistCertificate); + const data = response?.data?.data; + console.log(data); + if (data) { + setJournalistData(data[0]); + } + + console.log("Data jurnalis:", data); + return data; + }; + + const handleDataNRP = async () => { + const response = await getDataPersonil(personilNRP); + const data = response?.data?.data; + setPersonilData(data); + console.log("Data personil:", data); + return data; + }; + + const handleInstituteOption = (e: any) => { + if (e.target.value == "0") { + setIsCustomActive(true); + } else { + setIsCustomActive(false); + setInstitusi(e.target.value); + } + }; + +// const { +// register, +// handleSubmit, +// watch, +// formState: { errors }, +// } = useForm(); +// const onSubmit: SubmitHandler = (data) => console.log(data); +// console.log(watch("example")); + +function setDataToForm() { + if (Number(category) == 6 && journalistData) { + setValue("firstName", journalistData.journalistName); + setValue("memberIdentity", journalistData.certNumber); + const selectedProvince = province.find( + (o: any) => o.provName == journalistData.province?.toUpperCase(), + ); + + if (selectedProvince !== undefined) { + setValue("provinsi", selectedProvince.id); + } + } else if (Number(category) == 7 && personilData) { + setValue("firstName", personilData.lastName); + setValue("memberIdentity", personilData.nrp); + } + } + + + async function onSubmit(data: any) { + + console.log("Submit"); + + if (isValidPassword) { + MySwal.fire({ + title: "Buat akun", + text: "", + icon: "warning", + showCancelButton: true, + cancelButtonColor: "#d33", + confirmButtonColor: "#3085d6", + confirmButtonText: "Buat", + }).then((result) => { + if (result.isConfirmed) { + save(data); + } + }); + } else { + error("Kata Sandi harus sama"); + } + } + + const handleIdentity = async (e: any) => { + const id = e; + console.log(id); + await new Promise((resolve) => setTimeout(resolve, 2000)); // 2 sec + if (Number(category) == 5) { + const reqId = + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dlZF9pbiI6ImxvZ2luX3RydWUiLCJpZF91c2VyX2FjY291bnQiOiJJRDExMyIsInVzZXJuYW1lIjoiaXdhbjc0M0BnbWFpbC5jb20iLCJub21lcktUUCI6bnVsbCwicm9sZSI6IjEiLCJyZWRpcmVjdF9sb2dpbl92YWxpZCI6IjM0IiwiY29udHJvbGxlciI6InN5c3RlbXMiLCJuYW1hX2xlbmdrYXAiOiJJd2FuIEphZWxhbmksIFMuS29tIiwiaWRXYXJnYSI6IjIwMTgxMjA2MTMwNTQ1Iiwia29kZV9yYWhhc2lhIjoiWGJqMHRRR2djWXdVMnYiLCJpZF9zZXNzaW9uIjoiMnRwMTZUV2VpTEhQN1o0RGpyYkt2TlVBelhHIiwicGVyc29uYWxfYXRhdV9sZW1iYWdhIjoiTEVNQkFHQSIsImV4cGlyZV9zZXNzaW9uIjoiMjAyMi0wMS0yNyAxNTowMzozNiJ9.Nzq3QqAlKaeKAdDujI9fGuj_mJcIIyWe8lvBI_Ui06o"; + const response = await getDataByNIK(reqId, id); + const data = response?.data?.data_return[0]; + + console.log(data); + if (data !== undefined) { + setValue("firstName", data.nama_lengkap); + setValue("address", data.alamat); + const selectedProvince = province.find( + (o: any) => o.provName == data.prov?.toUpperCase(), + ); + + if (selectedProvince !== undefined) { + setValue("provinsi", selectedProvince.id); + } + + const selectedCity: any = city.find( + (o: any) => o.cityName == data.kab_kota?.toUpperCase(), + ); + + if (selectedCity !== undefined) { + setValue("kota", selectedCity?.id); + } + + const selectedDistrict: any = districts.find( + (o: any) => o.disName == data.kec?.toUpperCase(), + ); + + if (selectedDistrict !== undefined) { + setValue("kecamatan", selectedDistrict?.id); + } + } + } else if (Number(category) == 7) { + const reqId = + "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dlZF9pbiI6ImxvZ2luX3RydWUiLCJpZF91c2VyX2FjY291bnQiOiJJRDExMyIsInVzZXJuYW1lIjoiaXdhbjc0M0BnbWFpbC5jb20iLCJub21lcktUUCI6bnVsbCwicm9sZSI6IjEiLCJyZWRpcmVjdF9sb2dpbl92YWxpZCI6IjM0IiwiY29udHJvbGxlciI6InN5c3RlbXMiLCJuYW1hX2xlbmdrYXAiOiJJd2FuIEphZWxhbmksIFMuS29tIiwiaWRXYXJnYSI6IjIwMTgxMjA2MTMwNTQ1Iiwia29kZV9yYWhhc2lhIjoiWGJqMHRRR2djWXdVMnYiLCJpZF9zZXNzaW9uIjoiMnRwMTZUV2VpTEhQN1o0RGpyYkt2TlVBelhHIiwicGVyc29uYWxfYXRhdV9sZW1iYWdhIjoiTEVNQkFHQSIsImV4cGlyZV9zZXNzaW9uIjoiMjAyMi0wMS0yNyAxNTowMzozNiJ9.Nzq3QqAlKaeKAdDujI9fGuj_mJcIIyWe8lvBI_Ui06o"; + const response = await getDataByNRP(reqId, id); + const data = response?.data?.data_return[0]; + + console.log("Data :", data); + if (data !== undefined) { + setValue("firstName", data.nama); + setValue("address", data.lokasi); + } + } + }; + + const getCity = async (e: any) => { + const res = await listCity(e); + setCity(res?.data.data); + }; + + const getDistricts = async (e: any) => { + const res = await listDistricts(e); + setDistricts(res?.data.data); + }; + + const handleVerifyOTP = async () => { + const otp = `${otp1}${otp2}${otp3}${otp4}${otp5}${otp6}`; + + if (email != "" && otp.length == 6) { + console.log("verify otp"); + loading(); + // const response = { + // message: "success", + // }; + + const response = await verifyOTP(email, otp); + if (response?.error) { + error(response?.message); + return false; + } + close(); + // console.log(response); + if (response?.message == "success") { + console.log("success"); + setStepThreeActive(true); + setFormProfile(true); + setOtpValidate(""); + setValue("email", email); + setValue("memberIdentity", userIdentity); + handleIdentity(userIdentity); + setDataToForm(); + } else { + setOtpValidate("Kode OTP Tidak Valid"); + } + } + }; + + useEffect(() => { + async function initState() { + if (category != undefined) { + const resInstiution = await listInstitusi(category); + const res = await listProvince(); + setInstitution(resInstiution?.data.data); + setProvince(res?.data.data); + } + } + + initState(); + }, [category]); + + useEffect(() => { + function initState() { + for (const element of institution) { + const { id } = element; + + if (id == institusi) { + setInstitusiAddress(element.address); + } + } + } + + initState(); + }, [institusi]); + + useEffect(() => { + async function initState() { + if (category != undefined) { + const resInstiution = await listInstitusi(category); + const res = await listProvince(); + setInstitution(resInstiution?.data.data); + setProvince(res?.data.data); + } + } + + initState(); + }, [category]); + + return ( +
+
+
+
    +
  • +
    + + 1 + +
    +
  • +
  • +
    + + 2 + +
    +
  • +
  • +
    + + 3 + +
    +
  • +
+
+ +
+
+ +
+
+
+
+ ); +}; + +export default page; diff --git a/components/landing-page/sidebar-management.tsx b/components/landing-page/sidebar-management.tsx index 63846867..e7b074e4 100644 --- a/components/landing-page/sidebar-management.tsx +++ b/components/landing-page/sidebar-management.tsx @@ -65,7 +65,7 @@ const SidebarManagement = () => { // Render if (!hasMounted) return null; return ( -
+

Tentang Saya

@@ -94,7 +94,7 @@ const SidebarManagement = () => {
-
+
diff --git a/service/auth.ts b/service/auth.ts index 2d03c465..24c0b1a9 100644 --- a/service/auth.ts +++ b/service/auth.ts @@ -1,19 +1,14 @@ import qs from "qs"; import { getAPIDummy } from "./http-config/axiosCustom"; import { httpPost } from "./http-config/http-base-service"; -import { - httpGetInterceptor, - httpGetInterceptorWithToken, - httpPostInterceptor, -} from "./http-config/http-interceptor-service"; +import { httpGetInterceptor, httpGetInterceptorWithToken, httpPostInterceptor } from "./http-config/http-interceptor-service"; export async function login(data: any) { const pathUrl = "signin"; const headers = { - 'content-type': 'application/x-www-form-urlencoded', + "content-type": "application/x-www-form-urlencoded", }; return httpPost(pathUrl, headers, qs.stringify(data)); - } export async function getProfile(token: any) { @@ -35,4 +30,51 @@ export async function saveUser(data: any) { const url = "users/save"; return httpPostInterceptor(url, data); } +export async function saveInstitutes(data: any) { + const url = "public/users/save-institutes"; + return httpPostInterceptor(url, data); +} +export async function postRegistration(data: any) { + const url = "public/users/save"; + return httpPostInterceptor(url, data); +} +export async function getDataByNIK(reqid: any, nik: any) { + const url = `http://spitpolri.com/api/back_end/get_ktp?reqid=${reqid}&nik=${nik}`; + return getAPIDummy(url); +} + +export async function listInstitusi(roleId: any) { + const url = `public/users/institutes?categoryRoleId=${roleId}`; + return httpGetInterceptor(url); +} + +export async function listProvince() { + const url = "public/users/provinces"; + return httpGetInterceptor(url); +} + +export async function listCity(id: any) { + const url = `public/users/cities?provId=${id}`; + return httpGetInterceptor(url); +} + +export async function listDistricts(id: any) { + const url = `public/users/districts?cityId=${id}`; + return httpGetInterceptor(url); +} + +export async function getDataByNRP(reqid: any, nrp: any) { + const url = `http://spitpolri.com/api/back_end/get_nrp?reqid=${reqid}&nrp=${nrp}`; + return getAPIDummy(url); +} + +export async function getDataJournalist(cert: any) { + const url = `public/users/search-journalist?cert=${cert}`; + return httpGetInterceptor({ url }); +} + +export async function getDataPersonil(nrp: any) { + const url = `public/users/search-personil?nrp=${nrp}`; + return httpGetInterceptor({ url }); +} diff --git a/service/landing/landing.ts b/service/landing/landing.ts index b2182f91..a876265b 100644 --- a/service/landing/landing.ts +++ b/service/landing/landing.ts @@ -113,3 +113,7 @@ export async function getPublicSuggestionList(id: any) { const url = `media/public/suggestion?mediaId=${id}`; return httpGetInterceptor(url); } +export async function verifyOTP(email: any, otp: any) { + const url = `public/users/verify-otp?email=${email}&otp=${otp}`; + return httpPostInterceptor(url); +}