{"id":21441638,"url":"https://github.com/ynathan/open-bank-api","last_synced_at":"2025-03-17T00:42:51.439Z","repository":{"id":223721611,"uuid":"312862589","full_name":"YNathan/open-bank-api","owner":"YNathan","description":null,"archived":false,"fork":false,"pushed_at":"2020-11-14T20:53:28.000Z","size":264,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T10:33:51.245Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YNathan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2020-11-14T17:06:08.000Z","updated_at":"2022-04-19T15:35:46.000Z","dependencies_parsed_at":"2024-02-21T18:56:21.953Z","dependency_job_id":"6445522e-04e8-47f5-beb8-770e46dacf64","html_url":"https://github.com/YNathan/open-bank-api","commit_stats":null,"previous_names":["ynathan/open-bank-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YNathan%2Fopen-bank-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YNathan%2Fopen-bank-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YNathan%2Fopen-bank-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YNathan%2Fopen-bank-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YNathan","download_url":"https://codeload.github.com/YNathan/open-bank-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243955720,"owners_count":20374372,"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":[],"created_at":"2024-11-23T01:39:39.496Z","updated_at":"2025-03-17T00:42:51.422Z","avatar_url":"https://github.com/YNathan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![alt text](https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTPLoqEqtL8tOM9PTZJuavwSCVoGlsIauBsHA\u0026usqp=CAU)\n\n# instructions\n* first create a user\n* second login\n* on login success you recive a token \n* put the token as value in the headers at authorization key\n* start manipulate customer data\n\n#### Technologies\n* 'inversify' server for the api\n* typeorm for the entity\n* db is as json\n* The connection is secured with free\\self-signed certificate you can see it at app.ts\n* The server is validate the client's JWT so every requests will be with a authorization token in the header\n\n\n\n# test urls\n##### usage\njust import the file `dis.postman_collection.json`\nto you postman\n\n# Entities\n### User\n###### description\nrepresent the user that will make the manipukation oin the consumer as a bank agency member\n###### urls\n* create user\n\n        curl --location --request POST 'https://localhost:3000/user/register' \\\n        --header 'Content-Type: application/json' \\\n        --data-raw '{\n            \"email\": \"jacob@discount.com\",\n            \"password\": \"123!\",\n            \"name\": \"jacob\"\n        }'\n \n \n * get user by id \n\n        curl --location --request GET 'https://localhost:3000/customer?id=319908e0-2689-11eb-9abf-0badc508fed7' \\\n        --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak'\n \n \n### Auth\n###### description\nwill handle the authentication of a bank agency member\n###### urls\n* user login (will get the token that you will need to put in the headers value at the authrizations key)\n\n       curl --location --request POST 'https://localhost:3000/auth/login' \\\n       --header 'Content-Type: application/json' \\\n       --data-raw '{\n       \"email\": \"jacob@discount.com\",\n       \"password\": \"123!\"\n       }'\n \n \n *  user change password partial work \n\n        curl --location --request POST 'https://localhost:3000/auth/change_password' \\\n        --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak' \\\n        --header 'Content-Type: application/json' \\\n        --data-raw '{\n          \"password\":{ \"newPassword\" : \"323234\"}\n        }'\n        \n        \n### Customer\n###### description\nwill represent a customer of a bank\n###### urls\n* get all customer\n\n       curl --location --request GET 'https://localhost:3000/customer/all' \\\n       --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak'\n * get one customer\n \n        curl --location --request GET 'https://localhost:3000/customer/one/Israeli-222210023' \\\n        --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak'\n* create a new customer \n \n        curl --location --request POST 'https://localhost:3000/customer/create' \\\n        --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak' \\\n        --header 'Content-Type: application/json' \\\n        --data-raw '\n          {\n        \"clientBank\": \"Discount\",\n        \"clientID\": \"AI_JacobFintech-AI_TestFintech_U1\",\n        \"consentID\": \"000000341\",\n        \"customerID\": \"Yaacov-222210023\",\n        \"customerPassport\": \"\",\n        \"consentTrack\": \"BankOffered\",\n        \"consentStatus\": \"valid\",\n        \"activationStatus\": \"Activated\",\n        \"customerSite\": \"Retail\",\n        \"consentReusability\": \"Recurring\",\n        \"acceptedDate\": \"2020-09-30\",\n        \"confirmationTimestamp\": \"2020-09-30T11:04:53\",\n        \"validFrom\": \"2020-09-30\",\n        \"validUntil\": \"2020-12-31\",\n        \"modificationTimestamp\": \"2020-09-30T11:04:03\",\n        \"cancellationTimestamp\": \"0001-01-01T00:00:00\",\n        \"cancellationReason\": \"\",\n        \"cancellationInitiator\": \"\",\n        \"frequencyPerDay\": 1,\n        \"accountPermissions\": [\n          {\n            \"scope\": \"balances\",\n            \"accountNumberIBAN\": \"IL540110920000153498542\",\n            \"openingBranch\": \"0002\",\n            \"accountNumber\": \"0153498732\",\n            \"productCode\": \"CACC\",\n            \"currencyCode\": \"\",\n            \"accountStatus\": \"Active\",\n            \"managingBranch\": \"0092\"\n          },\n          {\n            \"scope\": \"transactions\",\n            \"accountNumberIBAN\": \"IL54011092000015542732\",\n            \"openingBranch\": \"0092\",\n            \"accountNumber\": \"0153498732\",\n            \"productCode\": \"CACC\",\n            \"currencyCode\": \"\",\n            \"accountStatus\": \"Terminated\",\n            \"managingBranch\": \"0092\"\n          }\n        ] }\n        '\n\n\n* update customer accountPermission.permissionStatus  \n\n       curl --location --request POST 'https://localhost:3000/customer/update' \\\n       --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak' \\\n       --header 'Content-Type: application/json' \\\n       --data-raw '\n        {\n            \"clientBank\": \"Discount\",\n            \"clientID\": \"updated_client_id_Fintech_U1\",\n            \"consentID\": \"000000341\",\n            \"customerID\": \"Yaacov-222210023\",\n            \"customerPassport\": \"\",\n            \"consentTrack\": \"BankOffered\",\n            \"consentStatus\": \"valid\",\n            \"activationStatus\": \"Activated\",\n            \"customerSite\": \"Retail\",\n            \"consentReusability\": \"Recurring\",\n            \"acceptedDate\": \"2020-09-30\",\n            \"confirmationTimestamp\": \"2020-09-30T11:04:53\",\n            \"validFrom\": \"2020-09-30\",\n            \"validUntil\": \"2020-12-31\",\n            \"modificationTimestamp\": \"2020-09-30T11:04:03\",\n            \"cancellationTimestamp\": \"0001-01-01T00:00:00\",\n            \"cancellationReason\": \"\",\n            \"cancellationInitiator\": \"\",\n            \"frequencyPerDay\": 1,\n            \"accountPermissions\": [\n                {\n                  \"scope\": \"balances\",\n                  \"accountNumberIBAN\": \"IL540110920000153498542\",\n                  \"openingBranch\": \"63656653554156\",\n                  \"accountNumber\": \"0153498732\",\n                  \"productCode\": \"CACC\",\n                  \"currencyCode\": \"\",\n                  \"accountStatus\": \"Active\",\n                  \"managingBranch\": \"0092\"\n                }]\n        }\n       '\n\n\n* delete customer \n \n        curl --location --request DELETE 'https://localhost:3000/customer/Yaacov-222210023' \\\n        --header 'authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoiMjYzZWMwMzAtMjY4My0xMWViLTllNzQtOTUyYzFkOTJjZTgwIiwibmFtZSI6ImphY29iIiwiZW1haWwiOiJqYWNvYkBkaXNjb3VudC5jb20ifSwiaWF0IjoxNjA1MzY0NTkyLCJleHAiOjE2MDU5NjkzOTJ9.pnLtiX8wnj6R8gtNO1erx9BAP9m5uzfNFVCOE4PaUak'\n\n###### **  I Added a swagger \nyou can see it at url `https://localhost:3000/api-docs/swagger`\n\n\n\n\n###### **  Test\ntest are partial completed i dident had enough time to complete it but the user and auth are there\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fynathan%2Fopen-bank-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fynathan%2Fopen-bank-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fynathan%2Fopen-bank-api/lists"}