## Query Module ## Description 1. Graphql query the plantation data from backend server(laravel). 2. Graphql server will initialize the all the fis instances, and login to the UCP Server and get the UCPID. Plantation site name , Phases and Blocks ```bash List of db: "db"=> "resb2", "db"=> "fisJRSB", "db"=> "fisJRSBBL", "db"=> "fisLMSB", "db"=> "fisPCSB", "db"=> "fisPCSB_BL", "db"=> "fisPSSB", "db"=> "fisRESB", "db"=> "fisSOP", "db"=> "fisSPSB", "db"=> "fisTISB", "db"=> "fisVSDSB", "db"=> "fisWHSB", ``` ## SCHEMA FIS DATASERVICE ### REQUEST ```bash dataservice( className: String! filter: String! returnFormatType: String! ): DataService! ``` | column | description | | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- | | className | REQUIRED: define which dataservice data want to retrieve | | filter | OPTIONAL : The filter for the getData function will be in key=value; key=value; pair format where key refers to column name. | | returnFormatType | OPTIONAL: byRow , byBatchOf5, byBatchOf10 or full | ### RESPONSE ```bash type DataService { className: String! data: String! filter: String! returnFormatType: String! returnSequenceNumber: Float! returnSequenceTotal: Float! } ``` | column | description | | -------------------- | ---------------------------------------------------------------------- | | classname | same as request className | | data | responsed data | | filter | same as request | | returnFormatType | same as requested returnFormatType | | returnSequenceTotal | refer to the total number of responses | | returnSequenceNumber | refer to the response number start from 1 to total number of response. | ## Available className: ARAccountProfileDataService APAccountProfileDataService CMAccountProfileDataService OrganisationProfileDataService ProductProfileDataService ServiceProgramProfileDataService ```bash eg: query{ dataservice(className:"APAccountProfileDataService", filter: "acct_id=104"){ filter, className, data } } ``` ###### Note: support multiple filter string by using semicolom as separator. eg: acct_id=104;acct_no=30 ## SCHEMA PlANTATION DATASERVICE Retrieve single site ```bash site( db: String! ): Site! ``` ```bash type Site { db: String! name: String! phases: [Phase!]! } ``` Retrieve all plantation sites ```bash sites: [Site!]! ``` Site Schema ```bash type Site { db: String! name: String! phases: [Phase!]! } ``` Phase Schema ```bash type Phase { blocks: [Block!]! db: String! pers_id: String! sec_code: String! sec_desc: String! sec_id: String! sec_name: String! } ``` Block Schema ```bash type Block { loc_area: String! loc_code: String! loc_desc: String! } ``` ## Installation ```bash $ npm install ``` ```bash $ git submodule deinit --all ``` ```bash $ git submodule add http://swopt.com:3000/FAMBL/FISAppMessageJSUtility.git ./src/FisAppQueryModule/message/fisappmessagejsutility ``` ```bash $ git rm --cached src/FisAppQueryModule/message/fisappmessagejsutility/ ``` ```bash $ git submodule update --init --recursive ``` ```bash npm i --save @grpc/grpc-js @grpc/proto-loader npm install @improbable-eng/grpc-web npm install socket.io-client ``` ## Running the app #####Package Required for DefaultQuery Module ```bash npm install gql-query-builder npm install node-json-transform ``` ```bash # development $ npm run start # watch mode $ npm run start:dev # production mode $ npm run start:prod ```