Fix: get files by path depth (#2993)
* fix: get files up to depth specified by colletion path * test(e2e): update mock data * chore: fix comment
This commit is contained in:
@ -114,11 +114,11 @@ export default class API {
|
||||
};
|
||||
};
|
||||
|
||||
listFiles = async path => {
|
||||
listFiles = async (path, depth) => {
|
||||
const node = await this.branchCommitSha();
|
||||
const { entries, cursor } = await flow([
|
||||
// sort files by filename ascending
|
||||
unsentRequest.withParams({ sort: '-path', max_depth: 10 }),
|
||||
unsentRequest.withParams({ sort: '-path', max_depth: depth }),
|
||||
this.requestJSON,
|
||||
then(this.getEntriesAndCursor),
|
||||
])(`${this.repoURL}/src/${node}/${path}`);
|
||||
@ -135,8 +135,8 @@ export default class API {
|
||||
})),
|
||||
])(cursor.data.getIn(['links', action]));
|
||||
|
||||
listAllFiles = async path => {
|
||||
const { cursor: initialCursor, entries: initialEntries } = await this.listFiles(path);
|
||||
listAllFiles = async (path, depth) => {
|
||||
const { cursor: initialCursor, entries: initialEntries } = await this.listFiles(path, depth);
|
||||
const entries = [...initialEntries];
|
||||
let currentCursor = initialCursor;
|
||||
while (currentCursor && currentCursor.actions.has('next')) {
|
||||
|
@ -9,6 +9,7 @@ import {
|
||||
unsentRequest,
|
||||
basename,
|
||||
getBlobSHA,
|
||||
getCollectionDepth,
|
||||
} from 'netlify-cms-lib-util';
|
||||
import { NetlifyAuthenticator } from 'netlify-cms-lib-auth';
|
||||
import AuthenticationPage from './AuthenticationPage';
|
||||
@ -165,7 +166,10 @@ export default class BitbucketBackend {
|
||||
};
|
||||
|
||||
entriesByFolder(collection, extension) {
|
||||
const listPromise = this.api.listFiles(collection.get('folder'));
|
||||
const listPromise = this.api.listFiles(
|
||||
collection.get('folder'),
|
||||
getCollectionDepth(collection),
|
||||
);
|
||||
return resolvePromiseProperties({
|
||||
files: listPromise
|
||||
.then(({ entries }) => entries)
|
||||
@ -180,7 +184,7 @@ export default class BitbucketBackend {
|
||||
|
||||
allEntriesByFolder(collection, extension) {
|
||||
return this.api
|
||||
.listAllFiles(collection.get('folder'))
|
||||
.listAllFiles(collection.get('folder'), getCollectionDepth(collection))
|
||||
.then(filterByPropExtension(extension, 'path'))
|
||||
.then(this.fetchFiles);
|
||||
}
|
||||
|
Reference in New Issue
Block a user