UNPKG

@autobe/agent

Version:

AI backend server code generator

63 lines (50 loc) 2.01 kB
export namespace AutoBeRealizeAuthorizationReplaceImport { export function replaceProviderImport( actor: string, content: string, ): string { let updatedContent = content; const actorCapitalized = actor.charAt(0).toUpperCase() + actor.slice(1).toLowerCase(); const nestjsCommonPattern = /import\s+{\s*[^}]*\s*}\s+from\s+"@nestjs\/common";/g; const nestjsCommonReplacement = 'import { ForbiddenException, UnauthorizedException } from "@nestjs/common";'; const myGlobalPattern = /import\s+{\s*MyGlobal\s*}\s+from\s+[^;]+;/g; const myGlobalReplacement = 'import { MyGlobal } from "../../MyGlobal";'; const jwtAuthorizePattern = /import\s+{\s*jwtAuthorize\s*}\s+from\s+[^;]+;/g; const jwtAuthorizeReplacement = 'import { jwtAuthorize } from "./jwtAuthorize";'; const payloadPattern = /import\s+{\s*\w*Payload\s*}\s+from\s+[^;]+;/g; const payloadReplacement = `import { ${actorCapitalized}Payload } from "../../decorators/payload/${actorCapitalized}Payload";`; updatedContent = updatedContent.replace( nestjsCommonPattern, nestjsCommonReplacement, ); updatedContent = updatedContent.replace( myGlobalPattern, myGlobalReplacement, ); updatedContent = updatedContent.replace( jwtAuthorizePattern, jwtAuthorizeReplacement, ); updatedContent = updatedContent.replace(payloadPattern, payloadReplacement); return updatedContent; } export function replaceDecoratorImport( actor: string, content: string, ): string { let updatedContent = content; const actorLowercase = actor.toLowerCase(); const authorizePattern = /import\s+{\s*\w*Authorize\s*}\s+from\s+[^;]+;/g; const authorizeReplacement = `import { ${actorLowercase}Authorize } from "../providers/authorize/${actorLowercase}Authorize";`; updatedContent = updatedContent.replace( authorizePattern, authorizeReplacement, ); return updatedContent; } }