evo-doc / backend Goto Github PK
View Code? Open in Web Editor NEWBackend v2, new and better
License: Other
Backend v2, new and better
License: Other
Chybi API GET metoda pro navrat vsech modulu v projektu. Viz Postman.
U API View Project nefunguje zobrazování contributors. Projekt id=11
má 4 contributors.
Aktuální chování:
...
"contributors": [
419
]
...
Co je 419?
Očekávané chování:
"collaborators": {
"label": [
"username",
"emailhash",
"role"
],
"data": [
[
"username-1",
"e332a76c29654fcb7f6e6b31ced090c7",
"owner"
],
[
"username-2",
"6a979aae21c21ea2bb78d86cab5a884b",
"contributor"
]
]
}
collaborators
, ne contributors
owner
, aktuálně se vrací prázdný array, pokud collaborators nejsouGet All Projects method returns projects that don't exist. E.g.
Create X.
Create Y.
Show project list: X, Y.
Remove X.
Current: Show project list: X, Y.
Expected: Show project list: Y.
username: a-z, A-Z, 0-9, -, _
password: at least 1 uppercase, 1 lowercase, 1 number and at least 8 length
E.g. /users/nickname/account
Email: [email protected]
Response hash: 4dc920cefaf08baf5a1cb2a193cdcf1e
Expected hash: 91b1bffb079cb54c390525e1c70da1d0
Metoda add contributor umožnuje přidat ownera mezi contributors. Má vracet fakt, že už je v tom projektu.
TBA
Metoda User Projects vrací všechny existující projekty, nejen uživatelské. Má vracet pouze projekty, kde je vlastníkem, nebo kde je uživateli přiřazena nějaká konkrétní role.
REQUEST
Method: [POST] http://104.248.129.160/user/projects
Body:
{
"limit": 0
}
RESPONSE
Status: 200 (OK)
Body:
{
"projects": {
"data": [
[
9,
"onlineTest2",
"OntoUML",
"fgdhf"
],
[
10,
"onlineTest2",
"The name of the worst project ever",
"Pple."
],
],
"label": [
"id",
"owner",
"name",
"description"
]
}
}
owner
musi byt majitel toho projektu, ted to vzdy vraci username toho uzivatele, ktery se dotazal na list projektu.
Současné chování:
Návratová hodnota registace v případě neunikátního e-mailu je 500.
Očekávané chování:
{
"message": "...",
"invalid": [ "email" ]
}
Potřeba vytvořit nějaký základní návrh
Nová globální kontrola. Dřív se kvůli nedostatku dat vracela 400 (nikde nebylo specifikováno).
Ted, pokud budou chybět potřebná data nebo budou jiného typu (tzn. úplně chybí password, password je array), tak se bude vracet 422 Unprocessable Entity
:
{
"message": "Not enough data to process the request."
}
Specifikovat, co přesně chybí, není potřeba.
V případě existence proměnné a validního typu, ale nevalidní hodnoty (tzn. prázdný login) se vrací 400 Bad Request
s udáním poškozené proměnné:
{
"message": "Some data are invalid.",
"invalid": ["variable_name"]
}
Konkrétní typy a názvy se vážou na konkrétní API requesty, viz postman.
Během registrace (/auth/signup
) se @example.com
považuje za validní e-mail.
Get All Modules method returns modules that don't exist. E.g.
Create X.
Create Y.
Show module list: X, Y.
Remove X.
Current: Show module list: X, Y.
Expected: Show module list: Y.
create exception hadlers for api
Create database seeds for:
Build module ma vracet docasnou URL pro stazeni souboru.
Při vícenásobném spuštění integračních testů, testy neprojdou, neboť se nedropne v databáze. Problém je někde v tests/conftest.py
.
Pokud v header "Authorization" předávám nevalidní formát tokenu, např:
Authorization: "Bearer "
Authorization: "Bearer"
Tak server vrací 500
. Očekáváné chování je 400
:
{
"message": "...",
"invalid": [
"token"
]
}
Production setup guide + dependencies
Development setup guide + dependencies
FAQ - https://github.com/evo-doc/backend/wiki
Contribution guide
Request:
{
"email" : "",
"password" : "",
"username" : ""
}
Současné chování:
Po detekování nevalidní hodnoty v requestu ihned vrací odpověd, bez kontroly všech hodnot:
{
"message" : "...",
"invalid": [ "email" ]
}
Očekávané chování:
Kontrola všech hodnot a návrat všech nevalidních hodnot:
{
"message" : "...",
"invalid": [ "username", "email", "password"]
}
Možná problém s chacováním dotazů.
Uprava modulu vraci chybu v "name" vzdy, kdyz se meni. Mela by nastat pouze v pripade neunikatniho name v pramci projektu nebo kratkeho (mene nez 1 znak?).
Vytvořit Fabric script, který bude obstarávat instalaci evodoc na serveru.
Připravit nové jádro na integrační testy
clean up blueprints and import
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.