1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
import axios from 'axios';
// uncomment for local dev
// const base = `http://localhost:8080/api`
const base = `https://api.ctrl-v.app/api`
export function FetchPaste(hash) {
const serverURL = `${base}/${hash}`
return axios.get(serverURL)
}
export function FetchPasswordPaste(hash, pass) {
var bodyFormData = new FormData();
bodyFormData.set('password', pass);
return axios({
method: 'post',
url: `${base}/${hash}`,
data: bodyFormData,
headers: { 'Content-Type': 'multipart/form-data' },
})
}
export function PostNewPaste(title, content, language, pass, expiry) {
var bodyFormData = new FormData();
bodyFormData.set('title', title);
bodyFormData.set('content', content);
bodyFormData.set('language', language);
bodyFormData.set('password', pass);
bodyFormData.set('expiry', parseExpiry(expiry));
return axios({
method: 'post',
url: base,
data: bodyFormData,
headers: { 'Content-Type': 'multipart/form-data' },
})
}
function parseExpiry(e) {
var cur = new Date();
var inSeconds = 0
switch (e) {
case '5 years':
inSeconds = 600 * 6 * 24 * 7 * 4 * 12 * 5
break;
case '1 year':
inSeconds = 600 * 6 * 24 * 7 * 4 * 12
break;
case '1 month':
inSeconds = 600 * 6 * 24 * 7 * 4
break;
case '1 day':
inSeconds = 600 * 6 * 24
break;
case '1 hour':
inSeconds = 600 * 6
break;
case '10 min':
inSeconds = 600
break;
case '1 week':
default:
inSeconds = 600 * 6 * 24 * 7
break;
}
return new Date(cur.getTime() + inSeconds * 1000).toISOString();
}
|