(projectId, logo)
| 157 | } |
| 158 | |
| 159 | export function updateProjectLogo(projectId, logo) { |
| 160 | return (dispatch) => { |
| 161 | if (!cookie.load("brewToken")) { |
| 162 | return new Promise((resolve, reject) => reject(new Error("No Token"))); |
| 163 | } |
| 164 | const form = new FormData(); |
| 165 | form.append("file", logo[0]); |
| 166 | |
| 167 | const token = cookie.load("brewToken"); |
| 168 | const url = `${API_HOST}/project/${projectId}/logo`; |
| 169 | const body = form; |
| 170 | const headers = new Headers({ |
| 171 | // "Content-Type": "multipart/form-data; boundary=cb_uploads", |
| 172 | "authorization": `Bearer ${token}`, |
| 173 | }); |
| 174 | const method = "POST"; |
| 175 | |
| 176 | dispatch({ type: FETCHING_PROJECT }); |
| 177 | return fetch(url, { method, body, headers }) |
| 178 | .then((response) => { |
| 179 | if (!response.ok) { |
| 180 | dispatch(addError(response.status)); |
| 181 | return new Promise((resolve, reject) => reject(response.statusText)); |
| 182 | } |
| 183 | |
| 184 | return response.json(); |
| 185 | }) |
| 186 | .then((project) => { |
| 187 | dispatch({ type: FETCHING_PROJECT_SUCCESS, project }); |
| 188 | return new Promise(resolve => resolve(project)); |
| 189 | }) |
| 190 | .catch((error) => { |
| 191 | dispatch({ type: FETCHING_PROJECT_FAILED, error }); |
| 192 | return new Promise((resolve, reject) => reject(error)); |
| 193 | }); |
| 194 | }; |
| 195 | } |
| 196 | |
| 197 | export function removeProject(projectId) { |
| 198 | return (dispatch) => { |
no test coverage detected