Fix lint
authorChocobozzz <florian.bigard@gmail.com>
Thu, 30 Nov 2017 12:16:23 +0000 (13:16 +0100)
committerChocobozzz <florian.bigard@gmail.com>
Thu, 30 Nov 2017 12:16:23 +0000 (13:16 +0100)
14 files changed:
.travis.yml
scripts/travis.sh
scripts/update-host.ts
server.ts
server/controllers/activitypub/client.ts
server/controllers/activitypub/outbox.ts
server/lib/activitypub/send/send-delete.ts
server/middlewares/validators/video-channels.ts
server/middlewares/validators/videos.ts
server/models/video/video-channel-share-interface.ts
server/models/video/video-share-interface.ts
server/tests/client.ts
server/tests/index.ts
server/tests/utils/index.ts

index bb7e2c1302fa7d3c6415ff9511db7cf00c5c88a2..1ca6ea886163a2cdcbd0a341784190edc8cd90dc 100644 (file)
@@ -38,7 +38,7 @@ before_script:
 
 matrix:
   include:
-  - env: TEST_SUITE=client
+  - env: TEST_SUITE=misc
   - env: TEST_SUITE=api-fast
   - env: TEST_SUITE=api-slow
   - env: TEST_SUITE=cli
index e0a59806af88057ceaa09afa99339a450f8361a5..f24aac885df8c9e8e82ba8ebc07e3b91ca8fb6da 100755 (executable)
@@ -5,9 +5,9 @@ if [ $# -eq 0 ]; then
     exit -1
 fi
 
-if [ "$1" = "client" ]; then
+if [ "$1" = "misc" ]; then
     npm run build
-    mocha --exit --require ts-node/register --bail server/tests/client.ts
+    mocha --exit --require ts-node/register --bail server/tests/client.ts server/tests/activitypub.ts
 elif [ "$1" = "api" ]; then
     npm run build:server
     mocha --exit --require ts-node/register --bail server/tests/api/index.ts
index 4410e1ff7e67110fad1830c6a7526bb7f320c1a8..759443623ef74950c8cdfcb65cc9eb5b5422b6f8 100755 (executable)
@@ -6,7 +6,7 @@ db.init(true)
     return getServerAccount()
   })
   .then(serverAccount => {
-    return db.AccountFollow.listAcceptedFollowingUrlsForApi([ serverAccount.id ])
+    return db.AccountFollow.listAcceptedFollowingUrlsForApi([ serverAccount.id ], undefined)
   })
   .then(res => {
     return res.total > 0
index 3221c17907f925c46988dc3982ed7c1ad47f3de8..a723dd32b6443ee22188ff96faa15bc90f50c530 100644 (file)
--- a/server.ts
+++ b/server.ts
@@ -129,7 +129,11 @@ app.use('/', staticRouter)
 
 // Always serve index client page (the client is a single page application, let it handle routing)
 app.use('/*', function (req, res) {
-  res.sendFile(path.join(__dirname, '../client/dist/index.html'))
+  if (req.accepts('html')) {
+    return res.sendFile(path.join(__dirname, '../client/dist/index.html'))
+  }
+
+  return res.status(404).end()
 })
 
 // ----------- Errors -----------
index 62cde1fc7aaa6aa182c40e11730a1e29d2377c80..a478acd1404f39dfc48fa547754554e00d307747 100644 (file)
@@ -73,7 +73,7 @@ async function accountFollowersController (req: express.Request, res: express.Re
   const page = req.query.page || 1
   const { start, count } = pageToStartAndCount(page, ACTIVITY_PUB.COLLECTION_ITEMS_PER_PAGE)
 
-  const result = await db.AccountFollow.listAcceptedFollowerUrlsForApi([ account.id ], start, count)
+  const result = await db.AccountFollow.listAcceptedFollowerUrlsForApi([ account.id ], undefined, start, count)
   const activityPubResult = activityPubCollectionPagination(CONFIG.WEBSERVER.URL + req.url, page, result)
 
   return res.json(activityPubResult)
@@ -85,7 +85,7 @@ async function accountFollowingController (req: express.Request, res: express.Re
   const page = req.query.page || 1
   const { start, count } = pageToStartAndCount(page, ACTIVITY_PUB.COLLECTION_ITEMS_PER_PAGE)
 
-  const result = await db.AccountFollow.listAcceptedFollowingUrlsForApi([ account.id ], start, count)
+  const result = await db.AccountFollow.listAcceptedFollowingUrlsForApi([ account.id ], undefined, start, count)
   const activityPubResult = activityPubCollectionPagination(CONFIG.WEBSERVER.URL + req.url, page, result)
 
   return res.json(activityPubResult)
index e2c4e9b1e67fd6342cd48489deff42fb2554332f..5a2d43f3dd8b803dba2d6efe11ad66768d4b17c6 100644 (file)
@@ -38,15 +38,16 @@ async function outboxController (req: express.Request, res: express.Response, ne
     const videoObject = video.toActivityPubObject()
 
     // This is a shared video
+    const videoChannel = video.VideoChannel
     if (video.VideoShares !== undefined && video.VideoShares.length !== 0) {
-      const addActivity = await addActivityData(video.url, video.VideoChannel.Account, video, video.VideoChannel.url, videoObject)
+      const addActivity = await addActivityData(video.url, videoChannel.Account, video, videoChannel.url, videoObject, undefined)
 
       const url = getAnnounceActivityPubUrl(video.url, account)
-      const announceActivity = await announceActivityData(url, account, addActivity)
+      const announceActivity = await announceActivityData(url, account, addActivity, undefined)
 
       activities.push(announceActivity)
     } else {
-      const addActivity = await addActivityData(video.url, account, video, video.VideoChannel.url, videoObject)
+      const addActivity = await addActivityData(video.url, account, video, videoChannel.url, videoObject, undefined)
 
       activities.push(addActivity)
     }
index c49cda04f905f6da7e39614e7a145bfcfab5b3d4..8193790b3fc8210051cbe42e198f8000fa0b4555 100644 (file)
@@ -27,7 +27,7 @@ async function sendDeleteVideo (video: VideoInstance, t: Transaction) {
 }
 
 async function sendDeleteAccount (account: AccountInstance, t: Transaction) {
-  const data = await deleteActivityData(account.url, account)
+  const data = deleteActivityData(account.url, account)
 
   return broadcastToFollowers(data, account, [ account ], t)
 }
index 4683c91e139518f97ec7fc1c69a26ef15c8f6929..3d31a7e52ef81d631ed1b182ba673eb7c9eebfaa 100644 (file)
@@ -109,7 +109,7 @@ const videoChannelsShareValidator = [
     if (areValidationErrors(req, res)) return
     if (!await isVideoChannelExist(req.params.id, res)) return
 
-    const share = await db.VideoChannelShare.load(res.locals.video.id, req.params.accountId)
+    const share = await db.VideoChannelShare.load(res.locals.video.id, req.params.accountId, undefined)
     if (!share) {
       return res.status(404)
         .end()
index 52b4475ce314c68e33ba32c81073c53af75cf393..f21680aa04674a322a2b869d5e23a1eb813b41ec 100644 (file)
@@ -222,7 +222,7 @@ const videosShareValidator = [
     if (areValidationErrors(req, res)) return
     if (!await isVideoExist(req.params.id, res)) return
 
-    const share = await db.VideoShare.load(req.params.accountId, res.locals.video.id)
+    const share = await db.VideoShare.load(req.params.accountId, res.locals.video.id, undefined)
     if (!share) {
       return res.status(404)
         .end()
index 0482e82971f78b209721b298f494c658ef8101ff..2fff41a1b9d7589228dfbe885ed1c0028b8e1c75 100644 (file)
@@ -1,12 +1,11 @@
 import * as Bluebird from 'bluebird'
 import * as Sequelize from 'sequelize'
-import { Transaction } from 'sequelize'
 import { AccountInstance } from '../account/account-interface'
 import { VideoChannelInstance } from './video-channel-interface'
 
 export namespace VideoChannelShareMethods {
-  export type LoadAccountsByShare = (videoChannelId: number, t: Transaction) => Bluebird<AccountInstance[]>
-  export type Load = (accountId: number, videoId: number, t: Transaction) => Bluebird<VideoChannelShareInstance>
+  export type LoadAccountsByShare = (videoChannelId: number, t: Sequelize.Transaction) => Bluebird<AccountInstance[]>
+  export type Load = (accountId: number, videoId: number, t: Sequelize.Transaction) => Bluebird<VideoChannelShareInstance>
 }
 
 export interface VideoChannelShareClass {
index 8ad10e095b6ed9a3ab27b2cce309b3260bb23b99..3946303f178fc9f9ff933acce4c2b9c54d4c0abe 100644 (file)
@@ -1,12 +1,11 @@
 import * as Bluebird from 'bluebird'
 import * as Sequelize from 'sequelize'
-import { Transaction } from 'sequelize'
 import { AccountInstance } from '../account/account-interface'
 import { VideoInstance } from './video-interface'
 
 export namespace VideoShareMethods {
-  export type LoadAccountsByShare = (videoId: number, t: Transaction) => Bluebird<AccountInstance[]>
-  export type Load = (accountId: number, videoId: number, t: Transaction) => Bluebird<VideoShareInstance>
+  export type LoadAccountsByShare = (videoId: number, t: Sequelize.Transaction) => Bluebird<AccountInstance[]>
+  export type Load = (accountId: number, videoId: number, t: Sequelize.Transaction) => Bluebird<VideoShareInstance>
 }
 
 export interface VideoShareClass {
index 0d70e345199f9ff4433d208a4bd6ae4a58ad620d..8c4334c5345030a7af841b3f5188597510d8328e 100644 (file)
@@ -41,8 +41,9 @@ describe('Test a client controllers', function () {
 
   it('Should have valid Open Graph tags on the watch page with video id', async function () {
     const res = await request(server.url)
-                        .get('/videos/watch/' + server.video.id)
-                        .expect(200)
+      .get('/videos/watch/' + server.video.id)
+      .set('Accept', 'text/html')
+      .expect(200)
 
     expect(res.text).to.contain('<meta property="og:title" content="my super name for server 1" />')
     expect(res.text).to.contain('<meta property="og:description" content="my super description for server 1" />')
@@ -50,8 +51,9 @@ describe('Test a client controllers', function () {
 
   it('Should have valid Open Graph tags on the watch page with video uuid', async function () {
     const res = await request(server.url)
-                        .get('/videos/watch/' + server.video.uuid)
-                        .expect(200)
+      .get('/videos/watch/' + server.video.uuid)
+      .set('Accept', 'text/html')
+      .expect(200)
 
     expect(res.text).to.contain('<meta property="og:title" content="my super name for server 1" />')
     expect(res.text).to.contain('<meta property="og:description" content="my super description for server 1" />')
@@ -61,6 +63,7 @@ describe('Test a client controllers', function () {
     const path = '/videos/watch/' + server.video.uuid
     const res = await request(server.url)
       .get(path)
+      .set('Accept', 'text/html')
       .expect(200)
 
     const expectedLink = '<link rel="alternate" type="application/json+oembed" href="http://localhost:9001/services/oembed?' +
index a7dd0d824fc154daff26f0fb8d333abdd56caf89..755fb26046e1263049aff1b1148c4803c4246a4c 100644 (file)
@@ -1,4 +1,5 @@
 // Order of the tests we want to execute
 import './client'
+import './activitypub'
 import './api/'
 import './cli/'
index 4308fd49a2207f373433ab75abb63279c03849cf..b918ee83d21ed09d8a9bdc2ce69e99f5c81efc7b 100644 (file)
@@ -1,3 +1,4 @@
+export * from './activitypub'
 export * from './cli'
 export * from './clients'
 export * from './config'