{"id":19315482,"url":"https://github.com/fylein/fyle-netsuite-api","last_synced_at":"2026-02-24T10:12:10.139Z","repository":{"id":37710248,"uuid":"266956998","full_name":"fylein/fyle-netsuite-api","owner":"fylein","description":"Backend repository for Fyle \u003c\u003e Netsuite integration","archived":false,"fork":false,"pushed_at":"2026-02-17T10:06:46.000Z","size":8454,"stargazers_count":3,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-17T15:36:38.585Z","etag":null,"topics":["team-integrations"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/fylein.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-26T05:57:02.000Z","updated_at":"2026-02-17T10:06:50.000Z","dependencies_parsed_at":"2023-10-23T08:40:12.529Z","dependency_job_id":"11a8771e-92dd-4a75-b4ba-790df9619cc4","html_url":"https://github.com/fylein/fyle-netsuite-api","commit_stats":null,"previous_names":[],"tags_count":627,"template":false,"template_full_name":null,"purl":"pkg:github/fylein/fyle-netsuite-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fylein%2Ffyle-netsuite-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fylein%2Ffyle-netsuite-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fylein%2Ffyle-netsuite-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fylein%2Ffyle-netsuite-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fylein","download_url":"https://codeload.github.com/fylein/fyle-netsuite-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fylein%2Ffyle-netsuite-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29779280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T04:54:30.205Z","status":"ssl_error","status_checked_at":"2026-02-24T04:53:58.628Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["team-integrations"],"created_at":"2024-11-10T01:07:10.571Z","updated_at":"2026-02-24T10:12:10.123Z","avatar_url":"https://github.com/fylein.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fyle NetSuite API\nDjango Rest Framework API for Fyle Netsuite Integration.\n\n\n\n\n### Setup\n\n* Add and update the `fyle_integrations_imports` submodule\n    ```bash\n    $ git submodule init\n    $ git submodule update\n    ```\n\n* ### Adding a New View, Function, or Trigger:\n    Follow these steps to ensure your changes are applied correctly:\n\n    1. **Make changes** in the [`fyle-integrations-db-migrations`](https://github.com/fylein/fyle-integrations-db-migrations) repository.\n    2. **Update the submodule** in the Netsuite API:\n        ```bash\n        git submodule init\n        git submodule update\n        ```\n    3. **Enter the Netsuite API container**:\n        ```bash\n        enter netsuite-api\n        ```\n    4. **Generate a migration file** using the provided convenient command:\n        ```bash\n        python3 manage.py create_sql_migration \u003cfile-path1\u003e\n        ```\n        - Replace `\u003cfile-path1\u003e` with the relative path to your SQL file from the fyle-integrations-db-migrations folder.\n        - The migration will always be created in the `internal` app.\n\n        **Example:**\n        ```bash\n        python3 manage.py create_sql_migration fyle-integrations-db-migrations/netsuite/functions/re_export_expenses_netsuite.sql\n        ```\n\n    5. **Review the newly generated migration file**:\n        Navigate to the `apps/internal/migrations/` directory and ensure the migration file content is as expected.\n\n    6. **Restart the Netsuite API service and apply the migration**:\n        ```bash\n        restart netsuite-api\n        logs netsuite-api\n        ```\n        Confirm in the logs that the migration has been applied successfully.\n\n* Download and install Docker desktop for Mac from [here.](https://www.docker.com/products/docker-desktop)\n\n* If you're using a linux machine, please download docker according to the distrubution you're on.\n\n* Rename docker-compose.yml.template to docker-compose.yml\n\n    ```\n    $ mv docker-compose.yml.template docker-compose.yml\n    ```\n  \n* Setup environment variables in docker_compose.yml\n\n    ```yaml\n    environment: \n      SECRET_KEY: thisisthedjangosecretkey\n      ALLOWED_HOSTS: \"*\"\n      DEBUG: \"False\"\n      API_URL: http://localhost:8000/api\n      DATABASE_URL: postgres://postgres:postgres@db:5432/netsuite_db\n      FYLE_BASE_URL: \n      FYLE_CLIENT_ID: \n      FYLE_CLIENT_SECRET: \n      FYLE_TOKEN_URI: \n      NS_CONSUMER_KEY:\n      NS_CONSUMER_SECRET:\n   ```\n  \n* Build docker images\n\n    ```\n    docker-compose build api qcluster\n    ```\n\n* Run docker containers\n\n    ```\n    docker-compose up -d db api qcluster\n    ```\n\n* The database can be accessed by this command, on password prompt type `postgres`\n\n    ```\n    docker-compose run db psql -h db -U postgres netsuite_db\n    ```\n\n* To tail the logs a service you can do\n    \n    ```\n    docker-compose logs -f \u003capi / qcluster\u003e\n    ```\n\n* To stop the containers\n\n    ```\n    docker-compose stop api qcluster\n    ```\n\n* To restart any containers - `would usually be needed with qcluster after you make any code changes`\n\n    ```\n    docker-compose restart qcluster\n    ```\n\n* To run bash inside any container for purpose of debugging do\n\n    ```\n    docker-compose exec api /bin/bash\n    ```\n \n### Running Tests\n\n* Add the following environment variables to setup.sh file\n\n    ```\n    export API_URL='http://localhost:8000/api'\n    export FYLE_BASE_URL='\u003cfyle_base_url\u003e\n    export FYLE_CLIENT_ID='\u003cfyle_client_id\u003e'\n    export FYLE_CLIENT_SECRET='\u003cfyle_client_secret\u003e'\n    export FYLE_REFRESH_TOKEN='\u003cfyle_refresh_token\u003e'\n    export FYLE_TOKEN_URI='fyle_token_uri'\n    export NS_ACCOUNT_ID='\u003cns_client_id\u003e'\n    ```\n* Run the following commands\n\n    ```\n    docker-compose -f docker-compose-pipeline.yml build\n    docker-compose -f docker-compose-pipeline.yml up -d\n    docker-compose -f docker-compose-pipeline.yml exec api pytest tests/\n    ```\n\n* Run the following command to update tests SQL fixture (`tests/sql_fixtures/reset_db_fixtures/reset_db.sql`)\n    ```\n    docker-compose -f docker-compose-pipeline.yml exec api /bin/bash tests/sql_fixtures/migration_fixtures/create_migration.sh \n    ```\n\n* You should see output like this\n\n    ```\n    Sravans-MacBook-Air:fyle-netsuite-api sravankumar$ pytest apps/users/tests/\n\n    Creating test database for alias 'default'...\n    System check identified no issues (0 silenced).\n    ......\n    ----------------------------------------------------------------------\n    Ran 6 tests in 15.670s\n\n    OK\n    Destroying test database for alias 'default'...\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffylein%2Ffyle-netsuite-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffylein%2Ffyle-netsuite-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffylein%2Ffyle-netsuite-api/lists"}