Skip to content
This repository has been archived by the owner on Mar 13, 2020. It is now read-only.

serendip-archive/serendip-business-api

Repository files navigation

MIT Licence Maintenance Website shields.io Open Source Love TypeScript

SF

Serendip Business API

It's the source code of our main business API. this web API is built on Serendip framework and is responsible for

  • Authorization and authentication of serendip users both SaaS and on-premises using serendip-framework authentication
  • Handling document entity INSERT/UPDATE/DELETE/QUERY operations.
  • Storing differentiate of document versions using serendip-framework json-patch.
  • Handling upload and download streams to GridFs ( through mongodb-provider or griddb-provider ) [*this will be moved to separate micro-service]
  • Handling business(team) authorization & management on BusinessService and BusinessController

This web API provides data for other micro-services which are connected to the same database grid as this web API is. these include our input/output and trigger services, such as:

Client

We have built a client package, which is configured to work with our API on http and websocket protocol. it will easily authenticate you with our API and it will let you:

  • use our real-time event system through web socket
  • use our file streams as input and output to your system. ( fs in the cloud )
  • sync your data encrypted and browse them or get analytics from them on our dashboard serendip.cloud
  • access to our event/trigger system ( using our dashboard ) that trigger sms/email/fax/push/http_request based on insert/delete/update events on your that in real-time.

Authentication

authenticating with this API is possible with any http client for password grant type or our SSO(single sign-on) for authorization_code grant type which needs your client and it's redirect URL defined and approved in your business setting on serendip.

Usage Notes

This Web API is accessible in domains below and you need account and business created to access routes

Request Method URL Path Controller > Endpoint
[POST] /api/auth/register AuthController > register
[POST] /api/auth/sendresetpasswordtoken AuthController > sendResetPasswordToken
[POST] /api/auth/addusertogroup AuthController > addUserToGroup
[POST] /api/auth/deleteuserfromgroup AuthController > deleteUserFromGroup
[POST] /api/auth/changepassword AuthController > changePassword
[POST] /api/auth/resetpassword AuthController > resetPassword
[POST] /api/auth/sendverifyemail AuthController > sendVerifyEmail
[POST] /api/auth/sendverifysms AuthController > sendVerifySms
[POST] /api/auth/verifymobile AuthController > verifyMobile
[POST] /api/auth/verifyemail AuthController > verifyEmail
[POST] /api/auth/clienttoken AuthController > clientToken
[POST] /api/auth/refreshtoken AuthController > refreshToken
[GET] /api/auth/sessions AuthController > sessions
[POST] /api/auth/checktoken AuthController > checkToken
[POST] /api/auth/onetimepassword AuthController > oneTimePassword
[POST] /api/auth/newauthcode AuthController > newAuthCode
[POST] /api/auth/token AuthController > token
[GET] /api/server/cluster-testing ServerController > clusterTesting
[GET] /api/server/cluster-workers ServerController > clusterWorkers
[GET] /api/server/routes ServerController > routes
[GET] /api/server/throw ServerController > throw
[GET] /api/server/nexterror ServerController > nextError
[GET] /api/server/doneerror ServerController > doneError
[GET] /api/server/services ServerController > services
[GET] /api/business/list BusinessController > list
[POST] /api/business/grid BusinessController > grid
[POST] /api/business/savebusiness BusinessController > saveBusiness
[POST] /api/business/deletemember BusinessController > deleteMember
[POST] /api/business/addmember BusinessController > addMember
[POST] /api/entity/:entity/zip EntityController > zip
[POST] /api/entity/export EntityController > export
[POST] /api/entity/:entity/details EntityController > details
[POST] /api/entity/changes EntityController > changes
[POST] /api/entity/:entity/list EntityController > list
[POST] /api/entity/:entity/count EntityController > count
[POST] /api/entity/:entity/search EntityController > search
[POST] /api/entity/:entity/insert EntityController > insert
[POST] /api/entity/:entity/update EntityController > update
[POST] /api/entity/:entity/delete EntityController > delete
[GET] /api/server/cluster-testing ServerController > clusterTesting
[GET] /api/server/cluster-workers ServerController > clusterWorkers
[GET] /api/server/routes ServerController > routes
[GET] /api/server/throw ServerController > throw
[GET] /api/server/nexterror ServerController > nextError
[GET] /api/server/doneerror ServerController > doneError
[GET] /api/server/services ServerController > services
[GET] /api/storage/test StorageController > test
[POST] /api/storage/newfolder StorageController > newFolder
[POST] /api/storage/upload StorageController > upload
[GET] /dl/:first*/public/:last* StorageController > public
[GET] /api/storage/preview/:path* StorageController > preview
[POST] /api/storage/parts StorageController > parts
[POST] /api/storage/list StorageController > list
[POST] /api/storage/assemble StorageController > assemble

API Documentation

coming soon ...

Code Documentation

This documents are auto generated from typescript source using typedocpac

Contribution

We would love for you to contribute to Serendip and help making it better!

Related

_

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages