Giter Site home page Giter Site logo

data-anonymization's People

Contributors

ksiminski avatar wenox avatar

Stargazers

 avatar

Watchers

 avatar

data-anonymization's Issues

API: user login

For now the logging in can be stateful session-based. Later on implement stateless JWT-based authentication as described in #29.

Uploader module

Responsible for storing the uploaded file (db, json, csv) and performing related activies, such as:

  • file correctness valildation (e.g.: is it valid json?)
  • database restoration (creating database from dump)
  • managing API resources, such as FileEntity

Blacklist schemas and tables

Develop functionality that allows blacklisting the selected schemas / tables, from serialization into worksheet template metadata.

Blacklisting coudl have different scopes:

  • system wide (defined by application developer)
  • per account
  • per worksheet template

Create storage service

Responsible for managing uploaded files.

Create implementation using local file system.

API: retrieve worksheet template status

GET: /api/v1/worksheet-templates/{uuid}/status

For now it can return String. Later on the String should be replaced with enum status.

Later on authorization should be added: only worksheet template owner can retrieve its status (and possibly admin as well).

Admin: edit existing users

Admin should be able to edit some of user properties.

Admin should not be able to directly change the e-mail address, password, lastLoginDate, registeredDate, blockedDate, removedDate, removalRequestedDate, forceRemoval, markedForRemoval, verified.

Extend User with extra business properties

Add the following properties to the User:

  • name
  • surname
  • purpose
  • verified
  • markedForRemoval
  • forceRemoval
  • removalRequestedDate
  • removedDate
  • blockedDate
  • registeredDate
  • lastLoginDate

Refactor blocked User property

blocked: boolean property should be status: Enum{ ACTIVE, BLOCKED, REMOVED }. Adapt backend and frontend to this change.

Concurrent file upload problems

Ocassionally POST: /api/v1/worksheet-templates will fail with NoSuchFileException when calling multipartFile.getInputStream(). The problem becomes significant when processing multiple requests concurrently.

This is likely caused by asynchronous processing: the input multipart object is destroyed before it is processed.

Create FileDTO data transfer object that will contain the data of MultipartFile object.

AC:

  • no exceptions are thrown when multiple POST requests are fired concurrently

Create mail sender service

The service should be able to send basic mail messages, for now.

Move secrets to distinct secrets.propertires, for now.

Create files controller

Create endpoint:

  • POST: /api/v1/files

AC:

  • requires multipart file and request param type
  • acceptable request params: json, csv, psql, mysql
  • should store the file on the filesystem

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.