diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-11-09 17:51:58 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-11-27 19:40:51 +0100 |
commit | e4f97babf701481b55cc10fb3448feab5f97c867 (patch) | |
tree | af37402a594dc5ff09f71ecb0687e8cfe4cdb471 /server/helpers/core-utils.ts | |
parent | 343ad675f2a26c15b86150a9a3552e619d5d44f4 (diff) | |
download | PeerTube-e4f97babf701481b55cc10fb3448feab5f97c867.tar.gz PeerTube-e4f97babf701481b55cc10fb3448feab5f97c867.tar.zst PeerTube-e4f97babf701481b55cc10fb3448feab5f97c867.zip |
Begin activitypub
Diffstat (limited to 'server/helpers/core-utils.ts')
-rw-r--r-- | server/helpers/core-utils.ts | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/server/helpers/core-utils.ts b/server/helpers/core-utils.ts index 3dae78144..d8748e1d7 100644 --- a/server/helpers/core-utils.ts +++ b/server/helpers/core-utils.ts | |||
@@ -19,8 +19,10 @@ import * as mkdirp from 'mkdirp' | |||
19 | import * as bcrypt from 'bcrypt' | 19 | import * as bcrypt from 'bcrypt' |
20 | import * as createTorrent from 'create-torrent' | 20 | import * as createTorrent from 'create-torrent' |
21 | import * as rimraf from 'rimraf' | 21 | import * as rimraf from 'rimraf' |
22 | import * as openssl from 'openssl-wrapper' | 22 | import * as pem from 'pem' |
23 | import * as Promise from 'bluebird' | 23 | import * as jsonld from 'jsonld' |
24 | import * as jsig from 'jsonld-signatures' | ||
25 | jsig.use('jsonld', jsonld) | ||
24 | 26 | ||
25 | function isTestInstance () { | 27 | function isTestInstance () { |
26 | return process.env.NODE_ENV === 'test' | 28 | return process.env.NODE_ENV === 'test' |
@@ -54,6 +56,12 @@ function escapeHTML (stringParam) { | |||
54 | return String(stringParam).replace(/[&<>"'`=\/]/g, s => entityMap[s]) | 56 | return String(stringParam).replace(/[&<>"'`=\/]/g, s => entityMap[s]) |
55 | } | 57 | } |
56 | 58 | ||
59 | function pageToStartAndCount (page: number, itemsPerPage: number) { | ||
60 | const start = (page - 1) * itemsPerPage | ||
61 | |||
62 | return { start, count: itemsPerPage } | ||
63 | } | ||
64 | |||
57 | function promisify0<A> (func: (cb: (err: any, result: A) => void) => void): () => Promise<A> { | 65 | function promisify0<A> (func: (cb: (err: any, result: A) => void) => void): () => Promise<A> { |
58 | return function promisified (): Promise<A> { | 66 | return function promisified (): Promise<A> { |
59 | return new Promise<A>((resolve: (arg: A) => void, reject: (err: any) => void) => { | 67 | return new Promise<A>((resolve: (arg: A) => void, reject: (err: any) => void) => { |
@@ -104,13 +112,16 @@ const readdirPromise = promisify1<string, string[]>(readdir) | |||
104 | const mkdirpPromise = promisify1<string, string>(mkdirp) | 112 | const mkdirpPromise = promisify1<string, string>(mkdirp) |
105 | const pseudoRandomBytesPromise = promisify1<number, Buffer>(pseudoRandomBytes) | 113 | const pseudoRandomBytesPromise = promisify1<number, Buffer>(pseudoRandomBytes) |
106 | const accessPromise = promisify1WithVoid<string | Buffer>(access) | 114 | const accessPromise = promisify1WithVoid<string | Buffer>(access) |
107 | const opensslExecPromise = promisify2WithVoid<string, any>(openssl.exec) | 115 | const createPrivateKey = promisify1<number, { key: string }>(pem.createPrivateKey) |
116 | const getPublicKey = promisify1<string, { publicKey: string }>(pem.getPublicKey) | ||
108 | const bcryptComparePromise = promisify2<any, string, boolean>(bcrypt.compare) | 117 | const bcryptComparePromise = promisify2<any, string, boolean>(bcrypt.compare) |
109 | const bcryptGenSaltPromise = promisify1<number, string>(bcrypt.genSalt) | 118 | const bcryptGenSaltPromise = promisify1<number, string>(bcrypt.genSalt) |
110 | const bcryptHashPromise = promisify2<any, string | number, string>(bcrypt.hash) | 119 | const bcryptHashPromise = promisify2<any, string | number, string>(bcrypt.hash) |
111 | const createTorrentPromise = promisify2<string, any, any>(createTorrent) | 120 | const createTorrentPromise = promisify2<string, any, any>(createTorrent) |
112 | const rimrafPromise = promisify1WithVoid<string>(rimraf) | 121 | const rimrafPromise = promisify1WithVoid<string>(rimraf) |
113 | const statPromise = promisify1<string, Stats>(stat) | 122 | const statPromise = promisify1<string, Stats>(stat) |
123 | const jsonldSignPromise = promisify2<object, { privateKeyPem: string, creator: string }, object>(jsig.sign) | ||
124 | const jsonldVerifyPromise = promisify2<object, object, object>(jsig.verify) | ||
114 | 125 | ||
115 | // --------------------------------------------------------------------------- | 126 | // --------------------------------------------------------------------------- |
116 | 127 | ||
@@ -118,9 +129,11 @@ export { | |||
118 | isTestInstance, | 129 | isTestInstance, |
119 | root, | 130 | root, |
120 | escapeHTML, | 131 | escapeHTML, |
132 | pageToStartAndCount, | ||
121 | 133 | ||
122 | promisify0, | 134 | promisify0, |
123 | promisify1, | 135 | promisify1, |
136 | |||
124 | readdirPromise, | 137 | readdirPromise, |
125 | readFilePromise, | 138 | readFilePromise, |
126 | readFileBufferPromise, | 139 | readFileBufferPromise, |
@@ -130,11 +143,14 @@ export { | |||
130 | mkdirpPromise, | 143 | mkdirpPromise, |
131 | pseudoRandomBytesPromise, | 144 | pseudoRandomBytesPromise, |
132 | accessPromise, | 145 | accessPromise, |
133 | opensslExecPromise, | 146 | createPrivateKey, |
147 | getPublicKey, | ||
134 | bcryptComparePromise, | 148 | bcryptComparePromise, |
135 | bcryptGenSaltPromise, | 149 | bcryptGenSaltPromise, |
136 | bcryptHashPromise, | 150 | bcryptHashPromise, |
137 | createTorrentPromise, | 151 | createTorrentPromise, |
138 | rimrafPromise, | 152 | rimrafPromise, |
139 | statPromise | 153 | statPromise, |
154 | jsonldSignPromise, | ||
155 | jsonldVerifyPromise | ||
140 | } | 156 | } |