mirror of
https://github.com/efrainsosa27/cotizador-helgen.git
synced 2026-10-24 05:16:48 +00:00
Cobranza: privado_() usa Permission.VIEW (NONE no está soportado y da Access denied)
prepararCobranza() falló en la API real con "Access denied: DriveApp." en setSharing. Con Access.PRIVATE el permiso se ignora. El simulacro ahora rechaza NONE como Google. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
768554557f
commit
7e3256415a
3
Code.js
3
Code.js
@ -1054,7 +1054,8 @@ function exigirCobranza_() {
|
||||
* las personas agregadas una por una (tania@, leo@). Workspace comparte con todo helgen.tech lo que se crea (§6.11).
|
||||
*/
|
||||
function privado_(item) {
|
||||
if (item.getSharingAccess() !== DriveApp.Access.PRIVATE) item.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.NONE);
|
||||
// Permission.NONE no está soportado (da "Access denied: DriveApp"); con PRIVATE el permiso se ignora.
|
||||
if (item.getSharingAccess() !== DriveApp.Access.PRIVATE) item.setSharing(DriveApp.Access.PRIVATE, DriveApp.Permission.VIEW);
|
||||
return item;
|
||||
}
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@ function libro(id,nombre,pestanas){const L={id,nombre,pest:pestanas||{},getId:()
|
||||
// ---- Drive simulado ----
|
||||
let nId=0; const carpetas={}, archivos={};
|
||||
// Como Workspace de helgen.tech: todo lo nuevo nace compartido con el dominio (acceso 'DOMAIN')
|
||||
const compartible=o=>Object.assign(o,{acceso:'DOMAIN',getSharingAccess:()=>o.acceso,setSharing:(a,p)=>{o.acceso=a;o.permiso=p}});
|
||||
const compartible=o=>Object.assign(o,{acceso:'DOMAIN',getSharingAccess:()=>o.acceso,setSharing:(a,p)=>{if(p==='NONE')throw new Error('Access denied: DriveApp.');o.acceso=a;o.permiso=p}}); // NONE no está soportado en Apps Script
|
||||
function carpeta(nombre,padre){const f=compartible({id:'F'+(++nId),nombre,padre,hijos:[],archivos:[],trashed:false}); Object.assign(f,{
|
||||
getId:()=>f.id,getName:()=>f.nombre,getUrl:()=>'https://drive/'+f.id,isTrashed:()=>f.trashed,
|
||||
getFoldersByName:n=>{const l=f.hijos.filter(h=>h.nombre===n);let i=0;return{hasNext:()=>i<l.length,next:()=>l[i++]}},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user