upd
This commit is contained in:
+3
-6
@@ -8,10 +8,8 @@ import connectDB from "./config/db.js";
|
||||
import morgan from "morgan";
|
||||
import apartmentRoute from "./routes/apartment.js";
|
||||
import apartmentsRoute from "./routes/apartments.js";
|
||||
import updateAccessToken from "./routes/zohoAccessToken.js";
|
||||
import unitsRoute from "./routes/unitsRoute.js";
|
||||
import updateApartments2Route from "./routes/updateApartments2Route.js";
|
||||
// import updateApartmentsRoute from "./routes/updateApartmentsRoute.js";
|
||||
import testRoute from "./routes/testRoute.js";
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
@@ -33,10 +31,9 @@ app.use(morgan("combined", { stream: accessLogStream }));
|
||||
|
||||
app.use("/apartments", apartmentsRoute);
|
||||
app.use("/apartment", apartmentRoute);
|
||||
app.use("/updateAccessToken", updateAccessToken);
|
||||
// app.use("/updateAccessToken", updateAccessToken);
|
||||
app.use("/units", unitsRoute);
|
||||
// app.use("/update-apartments", updateApartmentsRoute);
|
||||
// app.use("/update-apartments-2", updateApartments2Route);
|
||||
app.use("/test", testRoute);
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(`Server is listening on port ${port}`);
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
import { Router } from "express";
|
||||
import got from "got";
|
||||
import getAccessToken from "../utils/getAccessToken.js";
|
||||
|
||||
const router = Router();
|
||||
|
||||
async function getData(accessToken: string, page: number) {
|
||||
try {
|
||||
const result: any = await got
|
||||
.get(
|
||||
`https://www.zohoapis.com/crm/v7/Products?fields=Product_Name,Project_Name,Property_Status,Purchse_Price,Unit_Type1,Floor,Unit_No,Unit_View,Total_Area_Sqft&page=${page}`,
|
||||
{
|
||||
headers: {
|
||||
Authorization: `Zoho-oauthtoken ${accessToken}`,
|
||||
},
|
||||
}
|
||||
)
|
||||
.json();
|
||||
|
||||
return result;
|
||||
} catch (error) {
|
||||
return (error as Error).message;
|
||||
}
|
||||
}
|
||||
|
||||
router.get("/", async (req, res) => {
|
||||
let accessToken;
|
||||
|
||||
try {
|
||||
const result = await getAccessToken();
|
||||
|
||||
if (!("accessToken" in result)) {
|
||||
return res.json(result.error);
|
||||
}
|
||||
|
||||
accessToken = result.accessToken;
|
||||
} catch (error) {
|
||||
return res.json({ error: (error as Error).message });
|
||||
}
|
||||
|
||||
console.log("accessToken", accessToken);
|
||||
|
||||
let page = 1;
|
||||
const data: any[] = [];
|
||||
|
||||
if (!accessToken) {
|
||||
return res.json({ error: "No accessToken" });
|
||||
}
|
||||
|
||||
const get = async () => {
|
||||
const result: any = await getData(accessToken, page);
|
||||
data.push(...(result.data as any[]));
|
||||
page++;
|
||||
|
||||
if (result.info.next_page_token) {
|
||||
await get();
|
||||
}
|
||||
};
|
||||
|
||||
await get();
|
||||
|
||||
return res.json(data);
|
||||
});
|
||||
|
||||
export default router;
|
||||
@@ -0,0 +1,33 @@
|
||||
import got from "got";
|
||||
|
||||
interface IResult {
|
||||
access_token: string;
|
||||
scope: string;
|
||||
api_domain: string;
|
||||
token_type: string;
|
||||
expires_in: number;
|
||||
}
|
||||
|
||||
async function getAccessToken() {
|
||||
try {
|
||||
const refreshToken =
|
||||
"1000.3fe84b5d46a29eda6ea809f87f9bd763.41ed80716ca3cc53c149d0c2c238456b";
|
||||
const grantType = "refresh_token";
|
||||
const clientId = "1000.AXAHCN0E0GKQMDP4K8LM0XJ5KQQMCL";
|
||||
const clientSecret = "59f54273e498401489bbf211e63c14a7c747a26afe";
|
||||
|
||||
const result: IResult = await got
|
||||
.post(
|
||||
`https://accounts.zoho.com/oauth/v2/token?refresh_token=${refreshToken}&grant_type=${grantType}&client_id=${clientId}&client_secret=${clientSecret}`
|
||||
)
|
||||
.json();
|
||||
|
||||
console.log("result", result);
|
||||
|
||||
return { accessToken: result.access_token };
|
||||
} catch (error) {
|
||||
return { error: (error as Error).message };
|
||||
}
|
||||
}
|
||||
|
||||
export default getAccessToken;
|
||||
Reference in New Issue
Block a user