code4romania / anabi-gestiune-api Goto Github PK
View Code? Open in Web Editor NEWAPI-ul portalului de gestiune pentru ANABI
Home Page: https://code4.ro/ro/apps/anabi/
License: Mozilla Public License 2.0
API-ul portalului de gestiune pentru ANABI
Home Page: https://code4.ro/ro/apps/anabi/
License: Mozilla Public License 2.0
Identificatorul trebuie split in id intern (ANABI) si identificator extern (numar dosar)
Un bun aflat in procedura de valorificare anticipata are 2 stari posibile:
Fiecare din etape contine informatiile:
Etapa de evaluare
evaluare bun
raport evaluare
Etapa de valorificare
Proprietatea Stare actuala reprezinta acum de fapt tipul de procedura, trebuie redenumita.
Trebuie sa exista un camp de stare actuala, dar are alte valori, care depind foarte mult de tipul de procedura - sunt diferite pentru Valorificare anticipata, Sechestru, etc.
Import de hotarari judecatoresti din fisier de tip excel.
Hotararile judecatoresti se importa pe baza unui cap de tabel.
Importul unei hotarari judecatoresti genereaza un bun Confiscat.
Controller nou in Anabi - Features - Assets: AssetStorageSpaceController
Cu endpoint nou pt adaugare:
PUT /api/assets/{id}/storagespace
Payload:
*storageSpaceId
*entryDate
Handler nou: AssetStorageSpaceHandler
Vezi model AssetHandler
Bug description
Configurarea entitatilor din baza de date a fost comentata la un moment dat si tabelele nu mai sunt configurate corect.
Step to reproduce it
La crearea bazei de date.
Expected behavior
Entitatile sa fie create corespunzator.
Additional info
Clasele care configureaza au fost comentate in clasa AnabiContext. Trebuie verificat si daca ce scrie in ele mai este de actualitate.
EF Core ofera o clasa noua pentru acest tip de operatie. Ar tb folosita aceea.
The project that handles the connection and mapping with the database should not return entities from the database, instead it should return DTO objects.
This happens for certain reasons:
The repository pattern should provide a clear separation between the application and the database access. The Web project should not know about the database.
You can read more at IQueryable from a Repository Pattern is an anti-pattern
Bug description
docker build
este executat de două ori în build-urile de pe master, dublând timpul de așteptare pentru deploy.
Step to reproduce it
Compară pașii și timpul de execuție al unui build recent cu cei ai unui build mai vechi.
Expected behavior
docker build
să fie executat o singură dată.
Additional info
Introdus în dc52edd, cu următorul comentariu:
If building the image fails, then it shouldn't be merged.
Running unit tests, etc. should probably go in theDockerfile
,
anyway.
Variante de rezolvare
jobs:
include:
- - stage: build image
- script:
- - docker build .
+ - stage: test
+ script:
+ - echo "Tests should go here"
- stage: deploy
name: "Build and publish image to registry"
if: branch = master AND type != pull_request
jobs:
include:
- stage: build image
+ if: branch != master
script:
- docker build .
- stage: deploy
name: "Build and publish image to registry"
if: branch = master AND type != pull_request
Cand se introduce un bun nou, este nevoie de informatie legata de organul judiciar competent care reprezinta sursa dosarului de care apartine bunul.
Informatia este un parchet/instanta judecatoreasca si parchetele de pe langa instanta.
Exemplu de model validation pe care il putem folosi ulterior cand avem toate informatiile
Un bun care a fost valorificat trebuie sa persiste informatii despre noul proprietar.
Feature pentru upload de documente pentru un bun.
Documentele pot fi pdf, jpg, png.
Controller nou in Anabi - Features - Assets: AssetStorageSpaceController
Cu endpoint nou pt adaugare:
PUT /api/assets/{id}/storagespace
Payload:
*storageSpaceId
*entryDate
Handler nou: AssetStorageSpaceHandler
Vezi model AssetHandler
Vreau sa caut un bun dupa:
Rezultatul cautarii trebuie sa fie un tabel similar cu cel de la listare bunuri (care apare cand dau click pe "Bunuri"), dar, ideal, cu coloanele din wireframe (ID bun, nume inculpat, numar decizie, numar dosar, stare bun , link catre VIEW BUN, link catre EDIT BUN).
Feature de export o lista de bunuri in format pdf sau excel.
Exista situatii in care un bun introdus agregat (o flota de masini) trebuie sa fie "spart" in mai multe bunuri.
Ar fi util sa existe un mod de a corela bunul introdus initial cu mai multe bunuri care sunt introduse la o data ulterioara si care se refera la aceleasi bunuri.
Relatia de corelare tb sa fie si de la parinte la copii, si de la bunul copil la parinte.
Relatia de corelare se face pe baza de id.
Avem un endpoint (/api/Counties) care ar trebui sa intoarca o lista de judete.
Lipsa judetelor duce la probleme in endpointurile de StorageSpaces pentru ca acolo avem un parametru countyCode
care nu poate fi populat in acest moment si generaza un HTTP 500.
Proprietatile unui spatiu de stocare, din pagina de Entitati:
https://codeforromania.atlassian.net/wiki/spaces/ANABI/pages/267256067/Entit+i
ID - camp obligatoriu - unic
Nume - camp obligatoriu - unic
Tip - camp obligatoriu
contractat
necontractat
Terti
inculpat
institutie
agent privat
Adresa - obiect
(Celelalte campuri cum ar fi tipul cladirii, suprafata, cine administreaza spatiul de depozitoare le vom adauga mai tarziu).
Județ - camp obligatoriu, obiect
Localitate - camp obligatoriu, camp liber
Strada - camp liber
Numar - numarul cladirii pe strada (string)
Detalii - camp liber
Bug description
Cand se creeaza baza de date apar in mai multe tabele niste chei externe catre tabela User.
Step to reproduce it
La crearea bazei de date.
Expected behavior
Cheile externe nu tb sa apara.
Additional info
Trebuiesc sterse ICollection-urile din UserDb
When using an empty database - the initialize method fails with the following error message.
Steps to reproduce:
AnabiDatabase
connection string to point to an empty sql server database.Anabi
project.An error occurred while starting the application.
InvalidOperationException: The association between entity types 'CategoryDb' and 'StorageSpaceDb' has been severed but the foreign key for this relationship cannot be set to null. If the dependent entity should be deleted, then setup the relationship to use cascade deletes.
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.HandleConceptualNulls()
InvalidOperationException: The association between entity types 'CategoryDb' and 'StorageSpaceDb' has been severed but the foreign key for this relationship cannot be set to null. If the dependent entity should be deleted, then setup the relationship to use cascade deletes.
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry.HandleConceptualNulls()
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.GetEntriesToSave()
Microsoft.EntityFrameworkCore.ChangeTracking.Internal.StateManager.SaveChanges(bool acceptAllChangesOnSuccess)
Microsoft.EntityFrameworkCore.DbContext.SaveChanges(bool acceptAllChangesOnSuccess)
Microsoft.EntityFrameworkCore.DbContext.SaveChanges()
Anabi.DataAccess.Ef.DbInitializer.AdaugaSpatiiStocare(AnabiContext context) in DbInitializer.cs
+
113. context.SaveChanges();
Anabi.DataAccess.Ef.DbInitializer.Initialize(AnabiContext context) in DbInitializer.cs
+
43. AdaugaSpatiiStocare(context);
Anabi.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) in Startup.cs
+
131. DbInitializer.Initialize(context);
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
Microsoft.AspNetCore.ApplicationInsights.HostingStartup.ApplicationInsightsLoggerStartupFilter+<>c__DisplayClass0_1.<Configure>b__0(IApplicationBuilder builder)
Microsoft.ApplicationInsights.AspNetCore.ApplicationInsightsStartupFilter+<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
Microsoft.AspNetCore.Server.IISIntegration.IISSetupFilter+<>c__DisplayClass3_0.<Configure>b__0(IApplicationBuilder app)
Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter+<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
Bug description
Adaugarea unui nou bun functioneaza, dar la vizualizarea unui bun nou adaugat se primeste un status 500 Internal server error cu mesajul:
{"Message":"Nullable object must have a value.","Errors":["Nullable object must have a value."]}
Step to reproduce it
Expected behavior
Dupa adaugarea unui bun nou un utilizator ar tb sa poata sa vizualizeze resursa introdusa, fara erori
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.