zoho / zohocrm-csharp-sdk-6.0

Apache License 2.0
2 stars 2 forks source link

Break the Project into Sub Projects #3

Closed rjs5327 closed 10 months ago

rjs5327 commented 10 months ago

This project is nice but it really should be 3 projects not one.

OauthV2 Utilities CRM

I am working on interfacing to Books and Inventory. So the OauthV2 and utilities will work the same. But you made it had to use this library across your entire platform when the API is basically the same. So I would like to see this project split so I dont have a standalone project for books, but one that is tied back to a Oauth and Utilities maintained her.

Furthermore, If one is interfacing several ZOHO apps the authentication doesnt need to be separate based on that it is really a permissions issue then. So one would not want redundant copies of code but a central authenticator library and then Books , CRM, Inventory, etc as separate projects that use the authenticator as a driver to communicate through the api.

rjs5327 commented 10 months ago

Effectively that is what you do in the class RecordOperations. Where public APIResponse GetRecord(long? id, ParameterMap paramInstance, HeaderMap headerInstance) grabs the API Handler and calls out what is being looked for. So to clarify.

What i am requesting is that the comms being OauthV2 and driver related materials like API Handler be separated out into a referenced project. Since that is really a different project that is a connector to the zoho api. Then the CRM Data is the app specific data behind the api.

rjs5327 commented 10 months ago

I just broke out the Oauth and Utilities from this. The way you have this setup with the public APIResponse APICall is going to have to be modified since i see there is a converter code that interprets the module. That probably is going to need moved to the Response Handler and pass the module or app specific converter into the function

rjs5327 commented 10 months ago

I pulled this out and th suggestion is valid. But there is a decision to be made either the Converters need passed into the Oauth Project when seperated or the Converter needs to stay on the Data Model Side, just pass back the HTTP Response. Then the existing books and CRM apis already written will work with little modification. Unless you prefer to just pass the JSONDetails into the API Call.

That area i am a little weak, i know the method used in the books api much better than the JSON config file.

raja-7453 commented 10 months ago

@rjs5327 Please get in touch with support@zohocrm.com, for further updates. We will follow up on this request, over there.

Thanks!