Last 12 weeks · 18 commits
5 of 6 standards met
It seems that someone (commit https://github.com/facebook/facebook-business-sdk-codegen/commit/12eef6748b93c908997050912f52e17567adb413) decided to delete the entire src/lib folder. This is the folder that, you know, actually contains the essential code needed to generate the SDK. Without it, the specs here are about as useful as a chocolate teapot. This raises a few questions: 1. Was this deletion intentional? If so, are we supposed to manually reconstruct the folder from thin air? Or is there some secret magical replacement we’re all supposed to telepathically know about? 2. If this was a mistake, why hasn’t it been reverted yet? It seems… unusual for a production repository of this caliber to have such a glaring oversight for this long. 3. Is there any documented alternative process for code generation that doesn’t involve the now-missing folder? Because if there is, it’s certainly not where anyone can find it. Steps to Reproduce: 1. Clone the repository. 2. Look for . 3. Realize it’s missing and experience a moment of existential dread. Expected Behavior: The folder should exist, as it’s necessary for generating the SDK. Or at least there should be some explanation in the documentation about what we’re supposed to do without it. Actual Behavior: The folder is gone. It’s like someone just deleted the bridge while we were halfway across the river. Suggested Actions: 1. Either restore the src/lib folder or provide detailed instructions on the new process for code generation. 2. If this was an intentional change, a heads-up in the documentation would have been nice preferably before the commit broke everything. We’re all eagerly awaiting the resolution of this issue so we can get back to, you know, actually using the SDK. Looking forward to seeing this resolved soon (hopefully before the next millennium). 😊
Checklist [✔ ] I've read the Contributing Guidelines and the Code of Conduct [ ✔] I've completed the Contributor License Agreement Pull Request Details This PR adds C# language support to the Facebook Business SDK Codegen, enabling automatic generation of the C# SDK for the Facebook Marketing API. Changes New C# Language Support CodeGenLanguageCs.js: Language processor with C# type mappings and code generation logic C# Templates (): : Main template for API object classes : API context configuration with template variables : Base class for API resources : HTTP request handling with proper error handling : Configuration constants : .NET project file Configuration Updates : Added C# version detection : Added 'csharp' to supported languages : Registered C# processor : Updated to reflect 6 language support Critical Bug Fix SpecOverridingProcessor.js**: Fixed jsonpath-plus v10.3.0 breaking change This fix unblocks code generation for ALL languages (Java, Python, Node.js, Ruby, PHP) API Request Improvements Added explicit PUT HTTP method handling (was incorrectly defaulting to GET) Added JsonException catching for deserialization errors Consistent exception handling through APIException wrapper Source Code Restoration Restored directory for language extensibility All source files rebuilt to via At the same time, the build is present here - https://github.com/BranislavMateas/facebook-business-sdk-dotnet Test Plan Test Plan 1. Codegen Execution [ ] Run successfully [ ] Execute generates 952 C# classes without errors [ ] All files generated in correct structure: 2. Generated Code Validation [ ] APIContext.cs uses dynamic template variable [ ] APIConfig.cs contains correct API version, base URLs, and user agent [ ] APIRequest.cs properly handles GET, POST, PUT, and DELETE methods [ ] Exception handling catches HttpRequestException and JsonException [ ] Generated code follows C# naming conventions 3. Configuration Verification [ ] has csharp entry pointing to correct version file [ ] includes 'csharp' in supported languages [ ] registers C# processor [ ] Version detection reads from FacebookBusinessSDK.csproj 4. Bug Fix Verification [ ] jsonpath-plus v10.3.0 fix works (SpecOverridingProcessor.js uses new API) [ ] All languages still generate without errors: Java, Python, Node.js, Ruby, PHP 5. Generated SDK Repository [ ] Generated C# SDK is available at: https://github.com/BranislavMateas/facebook-business-sdk-dotnet [ ] SDK can be built with [ ] All 952 classes compile without errors [ ] Package can be created with
Checklist [ x] I've updated to the latest released version [x ] I've searched for existing GitHub issues [ x] I've looked for existing answers on Stack Overflow and the Facebook Developers Group [x ] I've read the Code of Conduct [x ] This issue is not security related and can safely be disclosed publicly on GitHub Environment I'm using the Java Business sdk v10.0.1. Goals Use a call to action type of CALL_NOW, as shown in examples here: https://developers.facebook.com/docs/marketing-api/guides/event-ads#create Expected Results SDKs contain an enum value of CALL_NOW in EnumType for AdCreativeLinkDataCallToAction Code Samples & Details The enum_types.json file in this project doesn't contain the CALL_NOW call-to-action enum value. Related to this, the Java Business SDK method has only one implementation where the first argument is the EnumType. A different solution might be to include an overloaded method in the SDK with a String type argument instead. Also reported here https://github.com/facebook/facebook-java-business-sdk/issues/338
Repository: facebook/facebook-business-sdk-codegen. Description: Codegen project for our business SDKs Stars: 105, Forks: 66. Primary language: PHP. Languages: PHP (36.7%), Java (16%), JavaScript (14.4%), Mustache (12.4%), Python (12.3%). Homepage: https://developers.facebook.com/docs/business-sdk Open PRs: 19, open issues: 11. Last activity: 10h ago. Community health: 87%. Top contributors: jingping2015, stcheng, satwikareddy3, marksliva, HeyMultiverse, kongxinzhu, dependabot[bot], davit-y, donglinw-fb, alanho and others.