{"id":19014564,"url":"https://github.com/deeptiman/gorestledger","last_synced_at":"2025-04-23T00:46:09.455Z","repository":{"id":144413248,"uuid":"193168683","full_name":"Deeptiman/gorestledger","owner":"Deeptiman","description":"Go Rest API demo for Hyperledger Fabric","archived":false,"fork":false,"pushed_at":"2021-06-14T21:26:13.000Z","size":43905,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-23T00:45:52.303Z","etag":null,"topics":["blockchain-network","docker-container","golang","hyperledger-fabric","jwt"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Deeptiman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-21T22:56:18.000Z","updated_at":"2024-05-07T02:48:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"ed5a162b-dbc6-4e04-90cb-669a7041a4f1","html_url":"https://github.com/Deeptiman/gorestledger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deeptiman%2Fgorestledger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deeptiman%2Fgorestledger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deeptiman%2Fgorestledger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deeptiman%2Fgorestledger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Deeptiman","download_url":"https://codeload.github.com/Deeptiman/gorestledger/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250348873,"owners_count":21415907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain-network","docker-container","golang","hyperledger-fabric","jwt"],"created_at":"2024-11-08T19:29:59.518Z","updated_at":"2025-04-23T00:46:09.439Z","avatar_url":"https://github.com/Deeptiman.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003egorestledger\u003c/h1\u003e\n\u003cp\u003e     \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/Deeptiman/gorestledger\"\u003e  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/Deeptiman/gorestledger\"\u003e \u003cimg alt=\"GitHub top language\" src=\"https://img.shields.io/github/languages/top/Deeptiman/gorestledger\"\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://www.hyperledger.org/projects/fabric\"\u003e\u003cimg src=\"https://www.hyperledger.org/wp-content/uploads/2016/09/logo_hl_new.png\" alt=\"N|Solid\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eGoRestLedger is a REST based API implementation written in Go language to demonstrate the Hyperledger Fabric Blockchain framework. The project repo has been designed to upload employee records into the blockchain and also has the functionality to update, delete the record stored securely in the Hyperledger framework.\u003c/p\u003e\n\n\u003cp\u003e However, this explanation guide does not explain how Hyperledger Fabric works, so for the information, you can follow at \u003ca href=\"https://www.hyperledger.org/projects/fabric\"\u003eHyperledger.\u003c/a\u003e \u003c/p\u003e\n\n\u003ch4\u003e\u003ca id=\"Installation_6\"\u003e\u003c/a\u003eInstallation\u003c/h4\u003e\n\u003cp\u003eEmployeeledger requires \u003ca href=\"https://www.docker.com/\"\u003eDocker\u003c/a\u003e \u0026amp; \u003ca href=\"https://golang.org/\"\u003eGo\u003c/a\u003e to run.\u003c/p\u003e\n\u003ch3\u003e\u003ca id=\"Docker_10\"\u003e\u003c/a\u003eDocker\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e$ sudo apt install docker.io\n$ sudo apt install docker-compose\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2\u003e\u003ca id=\"Go_15\"\u003e\u003c/a\u003eGo\u003c/h2\u003e\n\u003ch4\u003e\u003ca id=\"Installation_16\"\u003e\u003c/a\u003eInstallation\u003c/h4\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e$ sudo apt-get update\n$ sudo apt-get install golang-go\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"Set_your_Go_path_as_environmental_variable_21\"\u003e\u003c/a\u003eSet your Go path as environmental variable\u003c/h4\u003e\n\u003ch6\u003e\u003ca id=\"add_these_following_variable_into_the_profile_22\"\u003e\u003c/a\u003eadd these following variable into the profile\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e$ \u003cspan class=\"hljs-built_in\"\u003eexport\u003c/span\u003e GOPATH=\u003cspan class=\"hljs-variable\"\u003e$HOME\u003c/span\u003e/go\n$ \u003cspan class=\"hljs-built_in\"\u003eexport\u003c/span\u003e PATH=\u003cspan class=\"hljs-variable\"\u003e$PATH\u003c/span\u003e:/usr/\u003cspan class=\"hljs-built_in\"\u003elocal\u003c/span\u003e/go/bin:\u003cspan class=\"hljs-variable\"\u003e$GOPATH\u003c/span\u003e/bin\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"then_27\"\u003e\u003c/a\u003ethen\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e$ \u003cspan class=\"hljs-built_in\"\u003esource\u003c/span\u003e ~/.profile\n$ go version\n$ go version go1.\u003cspan class=\"hljs-number\"\u003e11\u003c/span\u003e linux/amd64\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3\u003e\u003ca id=\"Build_Your_Network_34\"\u003e\u003c/a\u003eBuild Your Network\u003c/h3\u003e\n\u003cp\u003eThis sample Hyperledger Fabric blockchain network is built on a single organization consisting of two peer nodes. There are few prerequisites to follow to set up and install a blockchain network in the docker container.\u003c/p\u003e\n\u003ch5\u003e\u003ca id=\"Prerequisites_38\"\u003e\u003c/a\u003ePrerequisites\u003c/h5\u003e\n\u003cul\u003e\n\u003cli\u003eThere are few binaries needs to be download to create the network.\u003c/li\u003e\n\u003cli\u003eThese binaries contains various commands to setup , install and execute contains written in .yaml file.\u003c/li\u003e\n\u003cli\u003eCommand Reference Guide : \u003ca href=\"https://hyperledger-fabric.readthedocs.io/en/release-1.4/command_ref.html\"\u003ehttps://hyperledger-fabric.readthedocs.io/en/release-1.4/command_ref.html\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch6\u003e\u003ca id=\"You_can_choose_any_of_the_following_link_based_on_you_operating_system_and_hardware_architecture_of_your_system_43\"\u003e\u003c/a\u003eYou can choose any of the following link based on you operating system and hardware architecture of your system.\u003c/h6\u003e\n\u003ctable class=\"table table-striped table-bordered\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eArch\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-amd64-1.0.5/hyperledger-fabric-linux-amd64-1.0.5.tar.gz\"\u003eLinux AMD 64\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-s390x-1.0.5/hyperledger-fabric-linux-s390x-1.0.5.tar.gz\"\u003eLinux s390x\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/linux-ppc64le-1.0.5/hyperledger-fabric-linux-ppc64le-1.0.5.tar.gz\"\u003eLinux PPC64le\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/windows-amd64-1.0.5/hyperledger-fabric-windows-amd64-1.0.5.tar.gz\"\u003eWindows AMD 64\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/darwin-amd64-1.0.5/hyperledger-fabric-darwin-amd64-1.0.5.tar.gz\"\u003eDarwin AMD 64\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\u003ch5\u003e\u003ca id=\"Configuration_53\"\u003e\u003c/a\u003eConfiguration\u003c/h5\u003e\n\u003cp\u003eThere are few configuration files is written, which composed of various configuration details of a network like Certificate Authority (CA), Peer , Orderer , CouchDB.\u003c/p\u003e\n\u003ch5\u003e\u003ca id=\"cryptoconfigyaml_57\"\u003e\u003c/a\u003ecrypto-config.yaml\u003c/h5\u003e\n\u003cp\u003eThis configuration file will generate few certificates and key for the organization and it’s related entities like peers, admin, orderer. The cryptogen binary will take the config file as input and after execution, it will create a crypto-config folder in the config directory, which will contains all the generated certificates and key.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./bin/cryptogen generate --config=./crypto-config.yaml\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch5\u003e\u003ca id=\"configtxyaml_62\"\u003e\u003c/a\u003econfigtx.yaml\u003c/h5\u003e\n\u003cp\u003eThis config file will contains complete details of a channel related to an organization. It will create three artifacts for a network.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003ch6\u003e\u003ca id=\"orderergenesisblock__This_will_initialize_the_Fabrics_orderer_65\"\u003e\u003c/a\u003eorderer.genesis.block : This will initialize the Fabric’s orderer\u003c/h6\u003e\n\u003cpre\u003e\u003ccode\u003e  ./bin/configtxgen -profile GoRestLedger -outputBlock ./artifacts/orderer.genesis.block\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003ch6\u003e\u003ca id=\"channeltx__Channel_is_a_private_network_between_peers_to_communicate_in_a_network_66\"\u003e\u003c/a\u003egorestledger.channel.tx : Channel is a private network between peers to communicate in a network\u003c/h6\u003e\n\u003cpre\u003e\u003ccode\u003e  ./bin/configtxgen -profile GoRestLedger -outputCreateChannelTx ./artifacts/gorestledger.channel.tx -channelID gorestledger\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e    \n\u003cli\u003e\n\u003ch6\u003e\u003ca id=\"org1employeeledgeranchorstx__This_artifact_will_allow_the_peers_to_interact_with_each_other_in_a_network_68\"\u003e\u003c/a\u003eorg1.employeeledger.anchors.tx : This artifact will allow the peers to interact with each other in a network.\u003c/h6\u003e\n\u003cpre\u003e\u003ccode\u003e  ./bin/configtxgen -profile GoRestLedger -outputAnchorPeersUpdate ./artifacts/org1.gorestledger.anchors.tx -channelID gorestledger -asOrg GoRestLedgerOrganization1\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch6\u003e\u003ca id=\"You_can_find_a_shell_script_configsh_in_the_fixtures_folder_it_will_generate_all_the_prerequisites_configurations_of_a_network_So_you_can_directly_execute_script_to_skip_all_the_manual_steps_72\"\u003e\u003c/a\u003eYou can find a shell script \u0026quot;\u003ca href=\"http://config.sh\"\u003econfig.sh\u003c/a\u003e\u0026quot; in the fixtures folder, it will generate all the prerequisites configurations of a network. So, you can directly execute script to skip all the manual steps.\u003c/h6\u003e\n\u003ch5\u003e\u003ca id=\"DockerCompose_75\"\u003e\u003c/a\u003eDocker-Compose\u003c/h5\u003e\n\u003cp\u003eNow, we need to deploy the configuration details into a docker container, so we need to use Docker Compose. There will docker-compose.yaml configuration file, which will contain all config details for Orderer, Certificate Authority, Peer, Couch DB.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eThe compose file can be deploy into a network, by executing following command\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e docker-compose up -d // the docker-compose.yaml has to be located at same command location\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch6\u003e\u003ca id=\"And_also_replace_the_newly_generated_CA_key_which_can_be_found_at_cryptoconfigpeerOrganizationsorg1employeeledgercomcasome_random_generated_sk_file_at_the_dockercomposeyaml__line_44_50__55_82\"\u003e\u003c/a\u003eAnd also replace the newly generated CA key, which can be found at crypto-config/peerOrganizations/org1.employee.ledger.com/ca/some random generated sk file, at the docker-compose.yaml : line 44, 50 \u0026amp; 55\u003c/h6\u003e\n\u003cp\u003eSo, all done , your blockchain network is now deployed into a docker container.\u003c/p\u003e\n\u003cp\u003eYou can check by executing following command\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003edocker ps\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch4\u003eDependency Issues\u003c/h4\u003e\n\u003col\u003e\n   \u003cli\u003e\n      Hyperledger fabric-sdk-go is still in development. If you do dep ensure for each \u003cb\u003eGopkg.toml\u003c/b\u003e in \u003cb\u003egorestledger\u003c/b\u003e and \u003cb\u003eChaincode\u003c/b\u003e, it will download the govendor folder for each module but it will have some compilation issues while building the project. I have corrected the error for both \u003cb\u003egorestledger and Chaincode\u003c/b\u003e folder.\n   \u003c/li\u003e\n   \u003cli\u003e\n   Please download the vendor folder and add it in your project repo.   \n      \n   gorestledger - https://www.dropbox.com/s/ry1jmw0y9xliose/vendor.zip?dl=0\n   \n   Chaincode - https://www.dropbox.com/s/31nnqflpqwaywoa/vendor.zip?dl=0\n   \u003c/li\u003e\n   \u003cli\u003e\n   \u003cb\u003eAdd vendor folders at the location where Gopkg.toml file is located.\u003c/b\u003e\n   \u003c/li\u003e\n\u003c/ol\u003e\n\n\u003ch4\u003e\u003ca id=\"Run_the_application_90\"\u003e\u003c/a\u003eRun the application\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eAs you have sucssefully deployed your blockchain network. Now you can run the application.\u003c/li\u003e\n\u003cli\u003eThere is a master Makefile , you can find in the project root directory.\u003c/li\u003e\n\u003cli\u003eJust type “make” in the command line and it will take few minuetes to start the server.\u003c/li\u003e\n\u003cli\u003eIf all goes well, you can see server running at port 4000\u003c/li\u003e\n\u003cli\u003eNow, you can use postman to test the APIs at \u003ca href=\"http://localhost:6000\"\u003ehttp://localhost:6000\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cbr\u003e\n\n\u003ch3\u003eREST APIs end points\u003c/h3\u003e\n\n\u003ch4\u003e\u003ca id=\"apiuser_register_0\"\u003e\u003c/a\u003e/api/user_register\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"POST_1\"\u003e\u003c/a\u003ePOST\u003c/h4\u003e\n\u003ch6\u003e\u003ca id=\"Request_2\"\u003e\u003c/a\u003eRequest\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"name\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Alice McDonnell\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"password\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Hello@123\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"company\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Apple\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"occupation\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Architect\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"salary\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"85,000\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Admin\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"Response_15\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"id\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"eDUwOTo6Q049YW5zaHVtYW4ucGF0dG5haWs1MjRAZ21haWwuY29tLE9VPXVzZXIrT1U9b3JnMTo6Q049Y2Eub3JnMS5nby5yZXN0LmxlZGdlci5jb20sTz1vcmcxLmdvLnJlc3QubGVkZ2VyLmNvbSxMPVNhbiBGcmFuY2lzY28sU1Q9Q2FsaWZvcm5pYSxDPVVT\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"name\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Alice McDonnell\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"company\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Apple\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"occupation\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Architect\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"salary\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"85,000\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"token\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE1NjExNTU5OTIsInVzZXIiOiJhbnNodW1hbi5wYXR0bmFpazUyNEBnbWFpbC5jb20ifQ.dIpTAgxnh-4lw06IQwX_bT4fhpvCUrwSZ7EnGVs46EE\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Admin\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"apiuser_login_30\"\u003e\u003c/a\u003e/api/user_login\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"POST_31\"\u003e\u003c/a\u003ePOST\u003c/h4\u003e\n\u003ch6\u003e\u003ca id=\"Request_32\"\u003e\u003c/a\u003eRequest\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n \u003cspan class=\"hljs-string\"\u003e\"password\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Hello@456\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"Response_39\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"id\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"eDUwOTo6Q049YW5zaHVtYW4ucGF0dG5haWs1MjRAZ21haWwuY29tLE9VPXVzZXIrT1U9b3JnMTo6Q049Y2Eub3JnMS5nby5yZXN0LmxlZGdlci5jb20sTz1vcmcxLmdvLnJlc3QubGVkZ2VyLmNvbSxMPVNhbiBGcmFuY2lzY28sU1Q9Q2FsaWZvcm5pYSxDPVVT\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"name\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Alice McDonnell\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"company\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Apple\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"occupation\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Architect\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"salary\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"85,000\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"token\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE1NjExNTU5OTIsInVzZXIiOiJhbnNodW1hbi5wYXR0bmFpazUyNEBnbWFpbC5jb20ifQ.dIpTAgxnh-4lw06IQwX_bT4fhpvCUrwSZ7EnGVs46EE\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Admin\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"apiget_users_54\"\u003e\u003c/a\u003e/api/get_users\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"GET_55\"\u003e\u003c/a\u003eGET\u003c/h4\u003e\n\u003ch5\u003e\u003ca id=\"Headers__Token__token_value_56\"\u003e\u003c/a\u003eHeaders - (Token : token_value)\u003c/h5\u003e\n\u003ch6\u003e\u003ca id=\"Response_58\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003elist of user records \n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"apiget_user_63\"\u003e\u003c/a\u003e/api/get_user\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"GET_64\"\u003e\u003c/a\u003eGET\u003c/h4\u003e\n\u003ch5\u003e\u003ca id=\"Headers__Token__token_value_65\"\u003e\u003c/a\u003eHeaders - (Token : token_value)\u003c/h5\u003e\n\u003ch6\u003e\u003ca id=\"Request_67\"\u003e\u003c/a\u003eRequest\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"Response_74\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"id\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"eDUwOTo6Q049YW5zaHVtYW4ucGF0dG5haWs1MjRAZ21haWwuY29tLE9VPXVzZXIrT1U9b3JnMTo6Q049Y2Eub3JnMS5nby5yZXN0LmxlZGdlci5jb20sTz1vcmcxLmdvLnJlc3QubGVkZ2VyLmNvbSxMPVNhbiBGcmFuY2lzY28sU1Q9Q2FsaWZvcm5pYSxDPVVT\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"name\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Alice McDonnell\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"company\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Apple\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"occupation\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Architect\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"salary\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"85,000\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Admin\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"apiupdate_user_87\"\u003e\u003c/a\u003e/api/update_user\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"PUT_88\"\u003e\u003c/a\u003ePUT\u003c/h4\u003e\n\u003ch5\u003e\u003ca id=\"Headers__Token__token_value_89\"\u003e\u003c/a\u003eHeaders - (Token : token_value)\u003c/h5\u003e\n\u003ch6\u003e\u003ca id=\"Request_91\"\u003e\u003c/a\u003eRequest\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"name\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Alice Wrick\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"company\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Apple Computer\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"occupation\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Architect Solution\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"salary\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"85,000\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Admin\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"Response_101\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"id\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"eDUwOTo6Q049YW5zaHVtYW4ucGF0dG5haWs1MjRAZ21haWwuY29tLE9VPXVzZXIrT1U9b3JnMTo6Q049Y2Eub3JnMS5nby5yZXN0LmxlZGdlci5jb20sTz1vcmcxLmdvLnJlc3QubGVkZ2VyLmNvbSxMPVNhbiBGcmFuY2lzY28sU1Q9Q2FsaWZvcm5pYSxDPVVT\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"name\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Alice Wrick\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"company\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Apple Computer\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"occupation\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Architect Solution\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"salary\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"85,000\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Admin\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"apidelete_user_114\"\u003e\u003c/a\u003e/api/delete_user\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"DELETE_115\"\u003e\u003c/a\u003eDELETE\u003c/h4\u003e\n\u003ch5\u003e\u003ca id=\"Headers__Token__token_value_116\"\u003e\u003c/a\u003eHeaders - (Token : token_value)\u003c/h5\u003e\n\u003ch6\u003e\u003ca id=\"Request_118\"\u003e\u003c/a\u003eRequest\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n  \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"Response_124\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"success\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Succesfully delete the user with email - alice.mcdonnell@apple.com\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4\u003e\u003ca id=\"apichange_password_131\"\u003e\u003c/a\u003e/api/change_password\u003c/h4\u003e\n\u003ch4\u003e\u003ca id=\"POST_132\"\u003e\u003c/a\u003ePOST\u003c/h4\u003e\n\u003ch5\u003e\u003ca id=\"Headers__Token__token_value_133\"\u003e\u003c/a\u003eHeaders - (Token : token_value)\u003c/h5\u003e\n\u003ch6\u003e\u003ca id=\"Request_134\"\u003e\u003c/a\u003eRequest\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"email\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"alice.mcdonnell@apple.com\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"userType\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"User\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"oldPassword\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Hello@123\"\u003c/span\u003e,\n    \u003cspan class=\"hljs-string\"\u003e\"password\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Hello@456\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch6\u003e\u003ca id=\"Response_143\"\u003e\u003c/a\u003eResponse\u003c/h6\u003e\n\u003cpre\u003e\u003ccode class=\"language-sh\"\u003e{\n    \u003cspan class=\"hljs-string\"\u003e\"success\"\u003c/span\u003e: \u003cspan class=\"hljs-string\"\u003e\"Password successfully changed for - alice.mcdonnell@apple.com\"\u003c/span\u003e\n}\n\u003c/code\u003e\u003c/pre\u003e\n\n\u003ch2\u003eLicense\u003c/h2\u003e\n\u003cp\u003eThis project is licensed under the \u003ca href=\"https://github.com/Deeptiman/gorestledger/blob/master/LICENSE\"\u003eMIT License\u003c/a\u003e\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeeptiman%2Fgorestledger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeeptiman%2Fgorestledger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeeptiman%2Fgorestledger/lists"}