Commit graph

23 commits

Author SHA1 Message Date
Andrew Nicolaou
d44a058fd8 Public API: Create new project (fixes #1095) (#1106)
* 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.
2019-08-30 14:26:57 -04:00
Cassie Tarakajian
18f646bde9
for #950, update babel to v7 (#1077)
* 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
2019-06-05 12:05:31 -04:00
Cassie Tarakajian
507b0b28b1
fixes #417, add default p5.js inclusion to non-minified version, and update default p5.js version to latest (#1084) 2019-05-24 12:40:20 -04:00
Joey Lee
a5753b5e4c Script to fetch ml5 examples from Github Repo (#1051)
* 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
2019-05-02 15:12:06 -04:00
Cassie Tarakajian
ed57e082e6
fixes #820, fixes #830, fixes #831 (#841) 2019-02-21 17:15:28 -05:00
Cassie Tarakajian
f1b6aab749 fixes #826 2019-02-20 16:03:18 -05:00
Cassie Tarakajian
65c1c35d10 fix fetch-examples script to adjust to changes to the p5.js website 2019-01-25 15:12:04 -05:00
Joey Lee
597a6637cb Generative Design Examples: Updated githack cdn to jsDelivr (#779)
* 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

* changed branch ref to master

* rm spaces

* updated url links with https for jquery and set branch to dev-updates for testing

* changed branched ref to master

* removed console.log of response.data to prevent logging user data to console

* fixed linting error

* updated p5 version from 0.7.1 to 0.7.2

* updated rawgit to jsdelivr cdn
2018-12-11 15:03:20 -05:00
Joey Lee
5bcb5119e3 Update/Updated Generative Design Examples (#774)
* 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

* changed branch ref to master

* rm spaces

* updated url links with https for jquery and set branch to dev-updates for testing

* changed branched ref to master

* removed console.log of response.data to prevent logging user data to console

* fixed linting error

* updated p5 version from 0.7.1 to 0.7.2
2018-12-07 11:46:04 -05:00
Cassie Tarakajian
474c843e8a Merge branch 'bugfix/680-preview-dimensions' of https://github.com/bendman/p5.js-web-editor into bendman-bugfix/680-preview-dimensions 2018-10-17 15:27:57 -04:00
cdncat
e83654f6ad Fixes #717 (#720)
* remove npm run lint warnings, fixes #717

* Update link for Code of Conduct in CONTRIBUTING.md
2018-10-05 15:35:31 -04:00
Cassie Tarakajian
8495a59e36
Development documentation (#705)
* delete unused files, move webpack configs to their own directory

* start of improved developer documentation, moving everything to developer_docs/ directory

* documentation updates
2018-09-26 16:14:06 -04:00
Cassie Tarakajian
8be04ac817 update fetch example scripts connection to mongodb, add pulling env variables from secret to kubernetes config 2018-09-07 15:29:47 -04:00
Cassie Tarakajian
545d4aec5f fix mongo connection URL for example fetch scripts 2018-09-05 18:09:18 -04:00
Cassie Tarakajian
549d622c6f more config for kubernetes, fix example fetching tasks to include node env 2018-08-09 13:58:48 -04:00
Cassie Tarakajian
fa5a9e39b2 fix linting errors and do stuff to make build work 2018-06-26 19:13:13 -07:00
Cassie Tarakajian
f06198a4e1 start to add mongo configuration 2018-06-25 16:13:31 -07:00
Cassie Tarakajian
432361bc86 fix lint errors 2018-06-20 10:28:54 -07:00
Cassie Tarakajian
d29be20395 Merge branch 'master' into production-docker 2018-06-20 10:23:13 -07:00
Cassie Tarakajian
b172087b98 get local-ssl-proxy working for testing prod locally 2018-06-18 14:32:09 -07:00
Cassie Tarakajian
a14c232935 fix fetch example scripts, add webpack config to build fetch script bundles 2018-06-18 14:32:09 -07:00
Cassie Tarakajian
131e853503 change Dockerfile to fix environment variables and fetching examples 2018-06-18 14:32:09 -07:00
Cassie Tarakajian
41f793b130 remove unused index.html, move example fetch to own folder 2018-06-18 14:30:10 -07:00