2018-06-11 19:03:43 -07:00
|
|
|
import { flow } from "lodash";
|
2018-07-23 12:14:53 -04:00
|
|
|
import { API as GitlabAPI } from "netlify-cms-backend-gitlab";
|
2018-07-17 19:13:52 -04:00
|
|
|
import { unsentRequest, then } from "netlify-cms-lib-util";
|
2018-06-11 19:03:43 -07:00
|
|
|
|
|
|
|
export default class API extends GitlabAPI {
|
|
|
|
constructor(config) {
|
|
|
|
super(config);
|
|
|
|
this.tokenPromise = config.tokenPromise;
|
|
|
|
this.commitAuthor = config.commitAuthor;
|
|
|
|
this.repoURL = "";
|
|
|
|
}
|
|
|
|
|
|
|
|
authenticateRequest = async req => unsentRequest.withHeaders({
|
|
|
|
Authorization: `Bearer ${ await this.tokenPromise() }`,
|
|
|
|
}, req);
|
|
|
|
|
|
|
|
request = async req => flow([
|
|
|
|
this.buildRequest,
|
|
|
|
this.authenticateRequest,
|
|
|
|
then(unsentRequest.performRequest),
|
|
|
|
])(req);
|
|
|
|
|
|
|
|
hasWriteAccess = () => Promise.resolve(true)
|
|
|
|
}
|