mirror of
				https://github.com/n8n-io/n8n-nodes-starter.git
				synced 2025-10-31 07:12:25 -05:00 
			
		
		
		
	S4DSAuth node added. Some other nodes deleted
This commit is contained in:
		
					parent
					
						
							
								21f7bc4eae
							
						
					
				
			
			
				commit
				
					
						392231e695
					
				
			
		
					 16 changed files with 4910 additions and 222 deletions
				
			
		
							
								
								
									
										80
									
								
								nodes/S4DSAuth/S4DSHelper.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								nodes/S4DSAuth/S4DSHelper.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,80 @@ | |||
| import { IExecuteFunctions } from 'n8n-workflow'; | ||||
| 
 | ||||
| export interface S4DSTokenData { | ||||
| 	token: string; | ||||
| 	token_type: string; | ||||
| 	expires_in: number; | ||||
| 	expires_at: string; | ||||
| 	authorization_header: string; | ||||
| } | ||||
| 
 | ||||
| export class S4DSHelper { | ||||
| 	/** | ||||
| 	 * Obtiene el token de autorización del contexto del workflow | ||||
| 	 * @param this - Contexto de ejecución del nodo | ||||
| 	 * @param contextKey - Clave del contexto donde está almacenado el token (por defecto: 's4ds_token') | ||||
| 	 * @returns Objeto con datos del token incluyendo el header de autorización | ||||
| 	 */ | ||||
| 	static getTokenFromContext(this: IExecuteFunctions, contextKey: string = 's4ds_token'): S4DSTokenData { | ||||
| 		const tokenData = this.getWorkflowStaticData('global')[contextKey] as S4DSTokenData; | ||||
| 		 | ||||
| 		if (!tokenData || !tokenData.token) { | ||||
| 			throw new Error(`No S4DS token found in context with key: ${contextKey}. Please run S4DS Auth node first.`); | ||||
| 		} | ||||
| 
 | ||||
| 		// Verificar si el token ha expirado
 | ||||
| 		if (tokenData.expires_at && new Date(tokenData.expires_at) <= new Date()) { | ||||
| 			throw new Error('S4DS token has expired. Please regenerate token using S4DS Auth node.'); | ||||
| 		} | ||||
| 
 | ||||
| 		return tokenData; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Obtiene el header de autorización listo para usar | ||||
| 	 * @param this - Contexto de ejecución del nodo | ||||
| 	 * @param contextKey - Clave del contexto donde está almacenado el token (por defecto: 's4ds_token') | ||||
| 	 * @returns Header de autorización completo (ej: "Bearer 8a6c71b3-fa62-434d-8b38-907de24c3176") | ||||
| 	 */ | ||||
| 	static getAuthorizationHeader(this: IExecuteFunctions, contextKey: string = 's4ds_token'): string { | ||||
| 		const tokenData = S4DSHelper.getTokenFromContext.call(this, contextKey); | ||||
| 		return tokenData.authorization_header; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Obtiene headers HTTP completos con autorización | ||||
| 	 * @param this - Contexto de ejecución del nodo | ||||
| 	 * @param contextKey - Clave del contexto donde está almacenado el token (por defecto: 's4ds_token') | ||||
| 	 * @param additionalHeaders - Headers adicionales opcionales | ||||
| 	 * @returns Objeto con headers HTTP completos | ||||
| 	 */ | ||||
| 	static getHeadersWithAuth( | ||||
| 		this: IExecuteFunctions,  | ||||
| 		contextKey: string = 's4ds_token', | ||||
| 		additionalHeaders: Record<string, string> = {} | ||||
| 	): Record<string, string> { | ||||
| 		const authHeader = S4DSHelper.getAuthorizationHeader.call(this, contextKey); | ||||
| 		 | ||||
| 		return { | ||||
| 			Authorization: authHeader, | ||||
| 			Accept: 'application/json', | ||||
| 			'Content-Type': 'application/json', | ||||
| 			...additionalHeaders, | ||||
| 		}; | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Verifica si existe un token válido en el contexto | ||||
| 	 * @param this - Contexto de ejecución del nodo | ||||
| 	 * @param contextKey - Clave del contexto donde está almacenado el token (por defecto: 's4ds_token') | ||||
| 	 * @returns true si existe un token válido, false en caso contrario | ||||
| 	 */ | ||||
| 	static hasValidToken(this: IExecuteFunctions, contextKey: string = 's4ds_token'): boolean { | ||||
| 		try { | ||||
| 			S4DSHelper.getTokenFromContext.call(this, contextKey); | ||||
| 			return true; | ||||
| 		} catch { | ||||
| 			return false; | ||||
| 		} | ||||
| 	} | ||||
| }  | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue