Example #1
0
"use strict";

var Prerequisites = require(`../../../classes/prerequisites`);

var PublishedProjectsModel = require(`../model`);
var publishedProjectsController = require(`../controller`);

module.exports = [{
  path: `/publishedProjects/{id}/remix`,
  method: `PUT`,
  config: {
    pre: [
      Prerequisites.confirmRecordExists(PublishedProjectsModel, {
        mode: `param`,
        requestKey: `id`
      }),
      Prerequisites.validateUser()
    ],
    handler: publishedProjectsController.remix.bind(publishedProjectsController),
    description: `Create a new project object.`
  }
}];
Example #2
0
const Joi = require(`joi`);

const Errors = require(`../../../classes/errors`);
const Prerequisites = require(`../../../classes/prerequisites`);

const UsersModel = require(`../model`);
const usersController = require(`../controller`);
const schema = require(`../schema`);

module.exports = [{
  method: `PUT`,
  path: `/users/{id}`,
  config: {
    pre: [
      Prerequisites.confirmRecordExists(UsersModel, {
        mode: `param`,
        requestKey: `id`
      }),
      Prerequisites.validateUser(),
      Prerequisites.validateOwnership()
    ],
    handler: usersController.update.bind(usersController),
    description: `Update a user object based on \`id\`.`,
    validate: {
      payload: schema,
      params: {
        id: Joi.number().integer().required()
      },
      failAction: Errors.id
    }
  }
}];
Example #3
0
const Joi = require(`joi`);

const Errors = require(`../../../classes/errors`);
const Prerequisites = require(`../../../classes/prerequisites`);

const ProjectsModel = require(`../model`);
const projectsController = require(`../controller`);

module.exports = [{
  method: `GET`,
  path: `/projects/{id}`,
  config: {
    pre: [
      Prerequisites.confirmRecordExists(ProjectsModel, {
        mode: `param`,
        requestKey: `id`
      }),
      Prerequisites.validateUser(),
      Prerequisites.validateOwnership()
    ],
    handler: projectsController.getOne.bind(projectsController),
    description: `Retrieve a single project object based on \`id\`.`,
    validate: {
      params: {
        id: Joi.number().integer().required()
      },
      failAction: Errors.id
    }
  }
}, {
  method: `GET`,
Example #4
0
module.exports = [{
  method: `PUT`,
  path: `/files/{id}`,
  config: {
    payload: {
      allow: `multipart/form-data`,
      parse: true,
      output: `file`,
      maxBytes: process.env.FILE_SIZE_LIMIT || 1048576 * 5 // 5mb
    },
    pre: [
      Prerequisites.trackTemporaryFile(),
      Prerequisites.confirmRecordExists(FilesModel, {
        mode: `param`,
        requestKey: `id`,
        columns: [`id`, `path`, `project_id`]
      }),
      Prerequisites.validateUser(),
      Prerequisites.validateOwnership(false, FilesModel.userForFile, true)
    ],
    handler: filesController.update.bind(filesController),
    description: `Update a single file object based on \`id\`.`,
    validate: {
      payload: schema,
      params: {
        id: Joi.number().integer().required()
      },
      failAction: Errors.id
    }
  }
Example #5
0
const Joi = require(`joi`);

const Errors = require(`../../../classes/errors`);
const Prerequisites = require(`../../../classes/prerequisites`);

const PublishedFilesModel = require(`../model`);
const publishedFilesController = require(`../controller`);

module.exports = [{
  method: `GET`,
  path: `/publishedFiles/{id}`,
  config: {
    auth: false,
    pre: [
      Prerequisites.confirmRecordExists(PublishedFilesModel, {
        mode: `param`,
        requestKey: `id`
      })
    ],
    handler: publishedFilesController.getOne.bind(publishedFilesController),
    description: `Retrieve a single published file object based on \`id\`.`,
    validate: {
      params: {
        id: Joi.number().integer().required()
      },
      failAction: Errors.id
    }
  }
}, {
  method: `GET`,
  path: `/publishedProjects/{published_id}/publishedFiles`,
  config: {
Example #6
0
const Joi = require(`joi`);

const Errors = require(`../../../classes/errors`);
const Prerequistes = require(`../../../classes/prerequisites`);

const FilesModel = require(`../model`);
const filesController = require(`../controller`);

module.exports = [{
  method: `DELETE`,
  path: `/files/{id}`,
  config: {
    pre: [
      Prerequistes.confirmRecordExists(FilesModel, {
        mode: `param`,
        requestKey: `id`
      }),
      Prerequistes.validateUser(),
      Prerequistes.validateOwnership()
    ],
    handler: filesController.delete.bind(filesController),
    description: `Delete a single file object based on \`id\`.`,
    validate: {
      params: {
        id: Joi.number().integer().required()
      },
      failAction: Errors.id
    }
  }
}];