mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-03-24 15:08:12 +00:00
Merge branch 'master' into add-remove-author-if-owner
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
/*eslint max-lines: ["warn", {"max": 1000, "skipBlankLines": true, "skipComments": true}]*/
|
||||
import mongoose from 'mongoose';
|
||||
import supertest from 'supertest';
|
||||
import HBApp from './app.js';
|
||||
import { model as NotificationModel } from './notifications.model.js';
|
||||
@@ -8,8 +9,19 @@ import { model as HomebrewModel } from './homebrew.model.js';
|
||||
// Mimic https responses to avoid being redirected all the time
|
||||
const app = supertest.agent(HBApp).set('X-Forwarded-Proto', 'https');
|
||||
|
||||
let dbState;
|
||||
|
||||
describe('Tests for admin api', ()=>{
|
||||
beforeEach(()=>{
|
||||
// Mock DB ready (for dbCheck middleware)
|
||||
dbState = mongoose.connection.readyState;
|
||||
mongoose.connection.readyState = 1;
|
||||
});
|
||||
|
||||
afterEach(()=>{
|
||||
// Restore DB ready state
|
||||
mongoose.connection.readyState = dbState;
|
||||
|
||||
jest.resetAllMocks();
|
||||
});
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import config from './config.js';
|
||||
|
||||
|
||||
let serviceAuth;
|
||||
let clientEmail;
|
||||
if(!config.get('service_account')){
|
||||
const reset = '\x1b[0m'; // Reset to default style
|
||||
const yellow = '\x1b[33m'; // yellow color
|
||||
@@ -15,6 +16,10 @@ if(!config.get('service_account')){
|
||||
JSON.parse(config.get('service_account')) :
|
||||
config.get('service_account');
|
||||
|
||||
if(keys?.client_email) {
|
||||
clientEmail = keys.client_email;
|
||||
}
|
||||
|
||||
try {
|
||||
serviceAuth = googleDrive.auth.fromJSON(keys);
|
||||
serviceAuth.scopes = ['https://www.googleapis.com/auth/drive'];
|
||||
@@ -227,14 +232,30 @@ const GoogleActions = {
|
||||
|
||||
if(!obj) return;
|
||||
|
||||
if(clientEmail) {
|
||||
await drive.permissions.create({
|
||||
resource : {
|
||||
type : 'user',
|
||||
emailAddress : clientEmail,
|
||||
role : 'writer'
|
||||
},
|
||||
fileId : obj.data.id,
|
||||
fields : 'id',
|
||||
})
|
||||
.catch((err)=>{
|
||||
console.log('Error adding Service Account permissions on Google Drive file');
|
||||
console.error(err);
|
||||
});
|
||||
}
|
||||
|
||||
await drive.permissions.create({
|
||||
resource : { type : 'anyone',
|
||||
role : 'writer' },
|
||||
role : 'writer' },
|
||||
fileId : obj.data.id,
|
||||
fields : 'id',
|
||||
})
|
||||
.catch((err)=>{
|
||||
console.log('Error updating permissions');
|
||||
console.log('Error adding "Anyone" permissions on Google Drive file');
|
||||
console.error(err);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user