* fix(file.controller.js): set headers for file extensions from MIME - I1218
* Use name to work out content type and provide fallback
Co-authored-by: Andrew Nicolaou <me@andrewnicolaou.co.uk>
* Change DELETE request for projects
* fixes#1165, by updating requestsOfType to check for null or undefined values
* remove unnecessary whitespace changes
* Converts import script to use public API endpoints
The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.
* Exposes public API endpoint to fetch user's sketches
* Implements public API delete endpoint
* Adds helper to create custom ApplicationError classes
* Adds create project endpoint that understand API's data structure
This transforms the nested tree of file data into a mongoose
Project model
* Returns '201 Created' to match API spec
* Removes 'CustomError' variable assignment as it shows up in test output
* transformFiles will return file validation errors
* Tests API project controller
* Tests toModel()
* Creates default files if no root-level .html file is provided
* Do not auto-generate a slug if it is provided
Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.
* Validates uniqueness of slugs for projects created by the public API
* Adds tests for slug uniqueness
* Configures node's Promise implementation for mongoose (fixes warnings)
* Moves createProject tests to match controller location
* Adds support for code to ApplicationErrors
* deleteProject controller tests
* getProjectsForUser controller tests
- implements tests
- update apiKey tests to use new User mocks
* Ensure error objects have consistent property names
`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format
* Assert environment variables are provided at script start
* Version public API
* Expect "files" property to always be provided
* Fixes linting error
* Converts import script to use public API endpoints
The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.
* Exposes public API endpoint to fetch user's sketches
* Implements public API delete endpoint
* Adds helper to create custom ApplicationError classes
* Adds create project endpoint that understand API's data structure
This transforms the nested tree of file data into a mongoose
Project model
* Returns '201 Created' to match API spec
* Removes 'CustomError' variable assignment as it shows up in test output
* transformFiles will return file validation errors
* Tests API project controller
* Tests toModel()
* Creates default files if no root-level .html file is provided
* Do not auto-generate a slug if it is provided
Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.
* Validates uniqueness of slugs for projects created by the public API
* Adds tests for slug uniqueness
* Configures node's Promise implementation for mongoose (fixes warnings)
* Moves createProject tests to match controller location
* deleteProject controller tests
* Adds support for code to ApplicationErrors
* getProjectsForUser controller tests
- implements tests
- update apiKey tests to use new User mocks
* Ensure error objects have consistent property names
`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format
* Assert environment variables are provided at script start
* Version public API
* Expect "files" property to always be provided
* Fixes linting error
* Checks that authenticated user has permission to create under this namespace
Previously, the project was always created under the authenticated user's
namespace, but this not obvious behaviour.
* Splits private and public APIs
The private API is under /editor and the public API under /api
* Converts import script to use public API endpoints
The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.
* Exposes public API endpoint to fetch user's sketches
* Implements public API delete endpoint
* Adds helper to create custom ApplicationError classes
* Adds create project endpoint that understand API's data structure
This transforms the nested tree of file data into a mongoose
Project model
* Returns '201 Created' to match API spec
* Removes 'CustomError' variable assignment as it shows up in test output
* transformFiles will return file validation errors
* Tests API project controller
* Tests toModel()
* Creates default files if no root-level .html file is provided
* Do not auto-generate a slug if it is provided
Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.
* Validates uniqueness of slugs for projects created by the public API
* Adds tests for slug uniqueness
* Configures node's Promise implementation for mongoose (fixes warnings)
* Moves createProject tests to match controller location
* Adds support for code to ApplicationErrors
* deleteProject controller tests
* getProjectsForUser controller tests
- implements tests
- update apiKey tests to use new User mocks
* Ensure error objects have consistent property names
`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format
* Assert environment variables are provided at script start
* Version public API
* Expect "files" property to always be provided
* Fixes linting error
* Converts import script to use public API endpoints
The endpoints don't exist yet, but this is a good way to see how
the implementation of the data structures differ.
* Exposes public API endpoint to fetch user's sketches
* Implements public API delete endpoint
* Adds helper to create custom ApplicationError classes
* Adds create project endpoint that understand API's data structure
This transforms the nested tree of file data into a mongoose
Project model
* Returns '201 Created' to match API spec
* Removes 'CustomError' variable assignment as it shows up in test output
* transformFiles will return file validation errors
* Tests API project controller
* Tests toModel()
* Creates default files if no root-level .html file is provided
* Do not auto-generate a slug if it is provided
Fixes a bug where the slug was auto-generated using the sketch name,
even if a slug property had been provided.
* Validates uniqueness of slugs for projects created by the public API
* Adds tests for slug uniqueness
* Configures node's Promise implementation for mongoose (fixes warnings)
* Moves createProject tests to match controller location
* deleteProject controller tests
* Adds support for code to ApplicationErrors
* getProjectsForUser controller tests
- implements tests
- update apiKey tests to use new User mocks
* Ensure error objects have consistent property names
`message` is used as a high-level description of the errors
`detail` is optional and has an plain language explanation of the
individual errors
`errors` is an array of each individual problem from `detail` in a
machine-readable format
* Assert environment variables are provided at script start
* Version public API
* Expect "files" property to always be provided
* Fixes linting error
* Checks that authenticated user has permission to create under this namespace
Previously, the project was always created under the authenticated user's
namespace, but this not obvious behaviour.
* remove some of the react errors, start to fix webpack HMR errors
* start upgrade to webpack 4
* more stuff to update webpack
* update webpack configs to work with webpack 4
* remove linting from truncate script
* re #168, add totalsize to response from API, add loader to asset list, add totalsize to asset list ui
* re #168, add totalsize to response from API, add loader to asset list, add totalsize to asset list ui
* update asset list copy to remove limit, since that's not implemented yet
* parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540243 -0400
parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540198 -0400
parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560539667 -0400
Created initial html structure and styling for new SketchList design
Final styling of ActionDialogueBox commplete
Dropdown menu disappearing while clicking anywhere on the table
Fixed linting issues and renamed variables
Minor tweaks in the SketchList dropdown dialogue UI
Themifyed the dropdown
Made changes in the dropdown: Arrow positioned slightly updwards, Removed blank space and added box-shadow in dropdown, themifyed dropdowns dashed border color
Added Delete and Share functionality to Dialog box
Added Duplicate functionality to Dialog box
Added download functionality to Dialog box
SketchList does not open a sketch if dialogue box is opened
SketchList Rename initial UI completed
Enter key handled for rename project option
[WIP] Updating rename functionality
Download option now working for all the sketches
Duplicate functionality extended for non opened sketches too
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Dropdown closes when Share and Delete are closing for a more natural UX
fix broken files from rebasing
Created initial html structure and styling for new SketchList design
Final styling of ActionDialogueBox commplete
Added Delete and Share functionality to Dialog box
Added Duplicate functionality to Dialog box
[WIP] Updating rename functionality
Duplicate functionality extended for non opened sketches too
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Final styling of ActionDialogueBox commplete
Fixed linting issues and renamed variables
Minor tweaks in the SketchList dropdown dialogue UI
Themifyed the dropdown
Added Delete and Share functionality to Dialog box
[WIP] Updating rename functionality
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Dropdown closes when Share and Delete are closing for a more natural UX
fix broken files from rebasing
Final styling of ActionDialogueBox commplete
Minor tweaks in the SketchList dropdown dialogue UI
Themifyed the dropdown
[WIP] Updating rename functionality
Duplicate functionality extended for non opened sketches too
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Dropdown closes when Share and Delete are closing for a more natural UX
* fix bugs in merge commit
* move sketch list dialogue to ul/li
* update sketch option dropdown to use dropdown placeholder, remove unused css
* major refactor of sketchlist component, fix showShareModal action, minor updates ot icon sizing
* fix broken links on asset list
* remove unused image, fix options for different users in sketch list
* parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540243 -0400
parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560540198 -0400
parent b3c3efcec9
author Laksh Singla <lakshsingla@gmail.com> 1549106083 +0530
committer Cassie Tarakajian <ctarakajian@gmail.com> 1560539667 -0400
Created initial html structure and styling for new SketchList design
Final styling of ActionDialogueBox commplete
Dropdown menu disappearing while clicking anywhere on the table
Fixed linting issues and renamed variables
Minor tweaks in the SketchList dropdown dialogue UI
Themifyed the dropdown
Made changes in the dropdown: Arrow positioned slightly updwards, Removed blank space and added box-shadow in dropdown, themifyed dropdowns dashed border color
Added Delete and Share functionality to Dialog box
Added Duplicate functionality to Dialog box
Added download functionality to Dialog box
SketchList does not open a sketch if dialogue box is opened
SketchList Rename initial UI completed
Enter key handled for rename project option
[WIP] Updating rename functionality
Download option now working for all the sketches
Duplicate functionality extended for non opened sketches too
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Dropdown closes when Share and Delete are closing for a more natural UX
fix broken files from rebasing
Created initial html structure and styling for new SketchList design
Final styling of ActionDialogueBox commplete
Added Delete and Share functionality to Dialog box
Added Duplicate functionality to Dialog box
[WIP] Updating rename functionality
Duplicate functionality extended for non opened sketches too
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Final styling of ActionDialogueBox commplete
Fixed linting issues and renamed variables
Minor tweaks in the SketchList dropdown dialogue UI
Themifyed the dropdown
Added Delete and Share functionality to Dialog box
[WIP] Updating rename functionality
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Dropdown closes when Share and Delete are closing for a more natural UX
fix broken files from rebasing
Final styling of ActionDialogueBox commplete
Minor tweaks in the SketchList dropdown dialogue UI
Themifyed the dropdown
[WIP] Updating rename functionality
Duplicate functionality extended for non opened sketches too
Modified overlay behaviour to close only the last overlay
Share modal can now display different projects
Dropdown closes when Share and Delete are closing for a more natural UX
* fix bugs in merge commit
* move sketch list dialogue to ul/li
* update sketch option dropdown to use dropdown placeholder, remove unused css
* major refactor of sketchlist component, fix showShareModal action, minor updates ot icon sizing
* fix broken links on asset list
* remove unused image, fix options for different users in sketch list
* upgrades jest to latest version
* tests Project model with mockingoose
* extracts createProject controller to own file
* tests createProject controller with sinon-mongoose
* for #950, upgrade babel to v7
* fix linting errors
* for #950, remove @babel/core from devDependencies (so it's only in dependencies) and change babel-loader config to use .babelrc
* for #950, changes to .babelrc to make work
* for #950, include core-js modules in webpack config for IE support with babel/plugin-syntax-dynamic-import
* for #950, update babel and associated packages to LTS
There's duplication in the user and session endpoints that
all return the same shaped user model data. The new helper should keep
them consistent when new properties need to be exposed.
The tests mock the mogoose User model and the express Response model
which isn't good. We should find a solution that makes use of
the actual model object.
* replaced () with {} to fix implicit return error
* added first version of fetching generative-design examples
* ignore local testing files
* formatting
* updated examples-gg-latest
* updated examples-gg-latest.js
- data files not served via rawgit - hallelujah!
- added jquery
* updated p5 version
* refactoring and code cleanup
* added comment
* comment out link to svgFiles - unused
* moved commented code
* fixed conflicts
* linted examples-gg-latest
* removed console.log of response.data to prevent logging user data to console
* fixed linting error
* initial commit for setting up automated ml5 example fetching
* rm logs from .env replaced with placeholder
* added functions for retrieving all assets from examples sketches
* added recursive walk through to get all directories and files
* added functions t format files for making project
* added full working test
* added comments and formated code
* added comments
* set username at to of code
* added process.exit() on complete
* added linting and fixed errors
* rm await in return
* added es lint disable for reduce()
* rm package-lock.json
* reset package-lock.json to master
* "updated .env.example with dummy logins"
* updated .env.example for consistency
* added p5 user checking
* fixed linting issues
* add webpack config to build ml5 example fetching bundle
* add isSaving to project reducer, move actions to functions, start work to get comprehensive frontend/backend syncing working
* handle making changes while saving project, handle saving from another window
* add change to handle saving new sketch, and adding new changes while saving