@mieweb/wikigdrive
Version:
Google Drive to MarkDown synchronization
27 lines (26 loc) • 892 B
JavaScript
import { FileContentService } from '../utils/FileContentService.js';
import { UsageError } from './usage.js';
export async function getAuthConfig(params, mainFileService) {
if (params.service_account) {
const rootFileService = new FileContentService('/');
return {
service_account: await rootFileService.readJson(params.service_account)
};
}
else if (params.client_id && params.client_secret) {
return {
user_account: {
type: 'user_account',
client_id: params.client_id,
client_secret: params.client_secret
}
};
}
else {
const authConfig = await mainFileService.readJson('auth_config.json');
if (!authConfig) {
throw new UsageError('No authentication credentials provided');
}
return authConfig;
}
}