nramc / journey-api Goto Github PK
View Code? Open in Web Editor NEWJourney REST API Service
Home Page: https://nramc.github.io/journeys
Journey REST API Service
Home Page: https://nramc.github.io/journeys
AC 1: Implement update feature http method PATCH
AC 2: Reusable to update partial data
AC 3: Define data types can be updated independently
AC 4: validation implemented
Ac 5: stored in DB
Add below visibilities as default visibility while creating journey,
Class cast exception while assigning authenticated principal to user details.
New field 'visibilities' added to journey.
Implement authorisation based on the field as follows,
AC 1: If LoggedIn user is ADMIN, then all journeys
AC 2: If LoggedIn user is GUEST, then only journeys which contains GUEST role
AC 3: If LoggedIn user is USER, then all journeys contains any(GUEST, AUTHENTICATED_USER) and and journeys created by themself if any
AC 4: If LoggedIn user is MAINTAINER, then all journeys contains any(GUEST, AUTHENTICATED_USER, MAINTAINER) and journeys created by themself
At the moment, only http status 201 being send to client when new journey created.
It will be helpful if we can send created journey entity id along with other details in response to create journey request.
AC 1: implement new field "visibility" for journey
AC 2: the new field editable while publishing journey
AC 3: the new field can have value as follows,
AC 4: Update journey authorization mechanism based on the new visibility field
compare all authority variant.
e.g. to compare GUEST_USER authority, include ROLE_GUEST_USER, SCOPE_GUEST_USER and GUEST_USER for comparison.
Analyse and implement 2FA features,
AC 1: Implement rest endpoint to get journey data with id
AC 2: in json format if accept type application/json
AC 3: throw error if id not exists
AC 4: connect to db and fetch data
Allow OPTIONS preflight requests for SPA.
ailed to bind properties under 'jwt.public-key' to java.security.interfaces.RSAPublicKey:
Property: jwt.public-key
Value: "/etc/secrets/jwt-public.pub"
Origin: class path resource [application.yml] from journey-api.jar - 19:15
Reason: failed to convert java.lang.String to @jakarta.validation.constraints.NotNull java.security.interfaces.RSAPublicKey (caused by java.io.FileNotFoundException: class path resource [etc/secrets/jwt-public.pub] cannot be opened because it does not exist)
AC 1: Add Spring security
AC 2: Implement Basic Auth
"id": "id_1", "type": "Feature", "geometry": {"type": "Point", "coordinates": [11.6634, 48.1230]}, "properties": { "name": "München House", "category": "Residential", "city": "Munich", "country": "Germany", "tags": ["Ram", "Sakunthala", "Germany", "Munich"], "description": "Remember that happiness is a way of travel, not a destination.", "thumbnail": "/assets/test-data/img/2022_1.png"
AC 1: auth login flow /auth/login
AC 1: Only ADMIN rolled user can create user
AC 2: Define "GUEST" user details and with "GUEST"
AC 3: follow user details service prototype implement necessary details
when PublishedOnly is true, should provide journeys which all are published.
Whereas when PublishedOnly is false, should provide both published and unpublished journeys.
Nice to support,
If we could add createdDate and journeyDate, it would be really helpful for frontend sorting.
AC 1: content type - application/json
AC 2: returns all available journeys
AC 3: Support pagination
AC 4: Support sorting
Basic support for query param:
AC 1: ADMIN rolled user can see all journey
AC 2: MAINTAINER rolled user can see their owned journey and system default journeys
AC 3: GUEST rolled user can see only system default journeys
AC 1: endpoint PUT /journey/{id}
AC 2: Content Type "application/vnd.journey.api.images.v1+json"
AC 3: Payload
{
"url": <string>,
"assetId": <string>
}
Tips:
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.