Commit d44a058
* 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.
1 parent 4432323 commit d44a058
File tree
24 files changed
+1902
-549
lines changed- server
- controllers
- __mocks__
- __test__
- project.controller
- __test__
- user.controller
- __tests__
- domain-objects
- __test__
- models
- __mocks__
- routes
- scripts
- utils
- __mocks__
24 files changed
+1902
-549
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
4 | 7 | | |
5 | 8 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
7 | 6 | | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
13 | | - | |
14 | 12 | | |
15 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | 87 | | |
119 | 88 | | |
120 | 89 | | |
| |||
157 | 126 | | |
158 | 127 | | |
159 | 128 | | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | 129 | | |
165 | 130 | | |
166 | 131 | | |
| |||
173 | 138 | | |
174 | 139 | | |
175 | 140 | | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | 141 | | |
195 | 142 | | |
196 | 143 | | |
| |||
0 commit comments