5sControl / 5sControl/odoo_apps

Import Users data from Manifest to Odoo

Open
#15 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
HTML
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

**Main entities:**

- Odoo module
- API on Digital Ocean
- Manifest

**Task:**
Organize the import of users from Manifest to Odoo via API.

**Data Flow:**
Manifest → API (Digital Ocean) → Odoo

Image

**UserImportService**

- _UserManifestClient_ - to work with the Manifest API.
- _UserMapper_ - to convert data from Manifest to Odoo format.
- _UserOdooService_ - for sending data to Odoo.

**AuthService**

- _Manifest (JWT) Auth_ - API is authorized to Manifest via JWT
- _Auth (token)_ - Odoo API authorization (The API is closed and protected - it does not give data to anyone.
In order for Odoo to send an API request, it must prove that it is a trusted client. For this purpose, Odoo stores the API Token (Bearer Token))

**Odoo API Manifest Interface**

1. **Odoo sends request to API -> get users**
Odoo runs a CRON job (every **N** minutes or manually). CRON-a task - send request to API (**FOR NOW USED A MANUAL METHOD!**)
2. **API is authorized to Manifest via JWT**
3. **API retrieves user data from Manifest**
4. **API mapped data**
5. **API sends data back to Odoo**
6. **In Odoo, data is written to the model**

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue describes a data pipeline from Manifest to Odoo. Start by examining the existing Odoo module structure and locating any CRON job setup. Look for API client code for Manifest (JWT auth) and Odoo (token auth). The UserImportService with its three components (UserManifestClient, UserMapper, UserOdooService) needs to be implemented. Check for existing model definitions in Odoo to understand the target data format. 'Done' means users are successfully imported via the API on a schedule.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.