cms-api | API server of Any JSON CMS | Content Management System library
kandi X-RAY | cms-api Summary
kandi X-RAY | cms-api Summary
If you want to read general information about Any JSON CMS go here. Any JSON CMS consists of two parts. Admin application server and API server. It is API server.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of cms-api
cms-api Key Features
cms-api Examples and Code Snippets
Community Discussions
Trending Discussions on cms-api
QUESTION
I'm trying to use tcms-api module with filter function.
https://tcms-api.readthedocs.io/en/latest/modules/tcms_api.html#module-tcms_api
I want to filter the result by date range, so collect the test cases between the date range, trying below code, but it's not working,
...ANSWER
Answered 2021-Feb-17 at 13:29rpc_client.exec.TestCase.filter({'create_date__range': '(start_date, end_date)'}):
The value you pass should be a tuple, not a string so remove the quotes.
Then there's a possibility that the XMLRPC serialization layer doesn't know how to encode this value but you will have to check it out. There could be a bug hiding somewhere in there.
QUESTION
I'm getting following error when I try to run the tcms-api module but following the steps given,
https://tcms-api.readthedocs.io/en/latest/modules/tcms_api.html#module-tcms_api
I'm using python 3 in CentOS, applied our own domain and certificates by mounting the certificates to docker container.
Can you please tell how to solve the SSL Certificate verification failure error?
...ANSWER
Answered 2021-Feb-16 at 21:50I see that you are using Python 3.6 from RedHat's SoftwareCollections. That version contains a bug (or arguably a security feature) which doesn't respect settings documented in upstream Python which allow you to accept untrusted SSL certificates. There are lots of these things reported on bugzilla.redhat.com but I don't think they will change it!
This is how we do it in our test suite: https://github.com/kiwitcms/tcms-api/blob/master/tests/krb5/integration_test.py#L18
QUESTION
OS: Win 10 2004 x64, Python 3.8.5, tcms-api 8.6
At first I tried to get TestRun that I created manually. It worked perfectly.
...ANSWER
Answered 2020-Nov-18 at 09:32When creating don't use _id
for foreign-key fields. Try:
QUESTION
Let's say I am developing blog platform where users can register account, pay for subscription and create their own blogs. Platform consists of following microservices:
- account-service
- auth-service
- subscription-service
- blog-service
- api-gateway
I am thinking of implementing api-gw pattern where all microservices except api-gw will be deployed to private network (where they will be able to talk with each other directly either synchronically or asynchronically through message broker) and they will be publicly available only through api-gw.
There will be two clients/consumers of the API:
- frontend (for clients)
- cms (for admins)
Therefore I want to make use of separate-api-gw-per-client pattern, so actually there will be two api gateways, one for regular frontend (frontent-api-gw) and one for cms (cms-api-gw), but both will talk with same microservices.
My question is about authorization and where it should take place (or rather what are pros/cons for different approaches). Let's focus on two "endpoints":
- frontend-api-gw::createBlog() => blog-service::createBlog()
Frontend api-gw exposes endpoint to create a new blog and this api call is "forwarded" to blog-service::createBlog() endpoint. Let's say that user is already authenticated (i.e. correct JWT with user id is passed along with request to api-gw).
The authorization that has to be made is to determine if user with this id can create new blog. This can be done by calling subscription-service to check if user has paid subscription. The main question is if this authorization should be made still on api-gw side (A) or on blog-service side (B):
- cms-api-gw / frontend-api-gw::listBlogs() => blog-service::listBlogs()
Similar case - should userContext / JWT in any format be passed to each individual microservice and that microservice should decide what to return? Or individual microservices should not be aware of userContext (maybe only for logging purposes), rely on API GW authorization and just receive some parameters/arguments?
My thoughts:
In case A, the logic in each individual microservice is more complicated because of authorization layer. Can get more complicated where there will be more API gws, user roles etc. However API GW in this case is simpler and it only forwards requests to microservices.
In case B, the logic in each individual microservice is less complicated, simple and straightforward. However there is more logic in API GW because it has to implement authorization for all platform (at least for the part that this api gw is responsible for). Maybe it can be also advantage to have all authorization in one place and not spread across microservices?
Also in case B there is less coupling between individual microservices I think.
What do you guys think of those two approaches / maybe you have other "ideas"?
...ANSWER
Answered 2020-Jan-21 at 15:31I have found in my experience that Case A is the easiest to scale/maintain. Authorization logic can get very mixed up with business logic.
For example, lets say you want to authorize the /updateBlog?id=52143 method. doing so in the gateway has to know that not only is that user authorized, but that they own that particular blog, or they have had permission to update that blog delegated to them.
Exporting all of that logic to your gateway is possible, but tricky, and ends up feeling highly duplicative. This becomes much more painful when the logic changes, and has a cascade through the system. For example, lets say your /updateBlog authorization now has "guest updaters". Having to do an synchronized update to both your /updateBlog service and your gateway is trickier, and more expensive.
Moral of the story is, authenticate at the border, authorize in the service.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install cms-api
MongoDb v3+;
Sendmail;
Node.js v8+;
isDemo - there are several limitations of functionality of anyjsoncms.com demo server, set flag to false and it will take off limitations;
email - this parameter will be passed as from for Sendmail to send mails;
apiUrl - URL of this API server;
appUrl - URL of Admin application server;
apiServerHost - this parameter will be passed as host to run Node.js server;
apiServerPort - this parameter will be passed as port to run Node.js server;
mongoDbUrl - this parameter will be passed to mongoose.connect function to connect MongoDb. Read more.
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page