Skip to content

Commit

Permalink
Short link (#179)
Browse files Browse the repository at this point in the history
  • Loading branch information
ksibisamir committed May 18, 2023
2 parents d0c1d60 + 8981d64 commit 1efe8a4
Show file tree
Hide file tree
Showing 5 changed files with 720 additions and 17,237 deletions.
40 changes: 21 additions & 19 deletions controllers/campaign.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ const GridFsStorage = require('multer-gridfs-storage')
const { create } = require('ipfs-http-client')
var mongoose = require('mongoose')
var fs = require('fs')
const axios = require('axios');

const cron = require('node-cron')
//const ipfs = IPFS('ipfs.infura.io', '5001', {protocol: 'https'})
const {
Expand Down Expand Up @@ -163,6 +165,8 @@ const { Constants, TronConstant, wrapConstants } = require('../conf/const')
const { BigNumber } = require('ethers')
const { token } = require('morgan')
const { request } = require('http')
const { URL } = require('url');
const { http, https } = require('follow-redirects');
const { Console } = require('console')

//const conn = mongoose.createConnection(mongoConnection().mongoURI)
Expand Down Expand Up @@ -2830,34 +2834,32 @@ module.exports.initStat = () => {
rejected: 0,
}
}
module.exports.expandUrl = (req, res) => {
module.exports.expandUrl = async (req, res) => {
const shortUrl = req.query.shortUrl;
const options = {
method: 'HEAD',
url: shortUrl,
maxRedirects: 5,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'
},
agent: shortUrl.startsWith('https') ? https : http
};

try {
var child_process = require('child_process')
let { shortUrl } = req.query

function runCmd(cmd) {
var resp = child_process.execSync(cmd)
var result = resp.toString('UTF8')
return result
}
var cmd = `curl -sLI ${shortUrl} | grep -i Location`
var result = runCmd(cmd)
const response = await axios(options);
const expandedUrl = response.request.res.responseUrl || shortUrl;
const parsedUrl = new URL(expandedUrl);

return responseHandler.makeResponseData(
res,
200,
'shorted successfully',
result.split('Location: ')[1] || result.split('location: ')[1]
)
return responseHandler.makeResponseData(res, 200, 'success', parsedUrl)
} catch (err) {
return responseHandler.makeResponseError(
res,
500,
err.message ? err.message : err.error
)
}
}

};
module.exports.statLinkCampaign = async (req, res) => {
try {
let id_campaign = req.params.hash
Expand Down
8 changes: 4 additions & 4 deletions controllers/profile.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -1087,23 +1087,23 @@ module.exports.ProfilPrivacy = async (req, res) => {
let tiktokProfile = await TikTokProfile.findOne({ userId })
let getUrl = `https://open-api.tiktok.com/oauth/refresh_token?client_key=${process.env.TIKTOK_KEY}&grant_type=refresh_token&refresh_token=${tiktokProfile.refreshToken}`
let resMedia = await rp.get(getUrl)
const linkedinData = {
const linkedinData = await{
url: 'https://open.tiktokapis.com/v2/video/list/?fields=cover_image_url,id,title',
method: 'POST',
body: {
max_count: 20,
},
headers: {
Authorization: 'Bearer ' + resMedia?.data.access_token,
Authorization: 'Bearer ' + resMedia?.data.data.access_token,
},
json: true,
}
let postData = await rp.post('https://open.tiktokapis.com/v2/video/list/?fields=cover_image_url,id,title',{
max_count: 20,
},{headers :{
Authorization: 'Bearer ' + resMedia?.data.access_token,
Authorization: 'Bearer ' + resMedia?.data.data.access_token,
}})
if (postData.data.videos.length === 0) {
if (postData.data.data.videos.length === 0) {
privacy = 'private'
} else {
privacy = 'public'
Expand Down
Loading

0 comments on commit 1efe8a4

Please sign in to comment.