Recently Released.
Newly Released in the last 30 days
![Video preview](https://videos.adocasts.com/68bde41a-ceb4-4bf5-987b-0d31aa76f817/preview.webp)
![Adocasts Plus Exclusive](/imgs/plus-badge-100.png)
![Organizing your AdonisJS Logic](/img/1/organizing-business-logic-operations_1721419785966.jpeg?w=650)
Three Approaches for Organizing your AdonisJS Business Logic Operations
In this lesson, we'll dive deep into three different ways we can organize our code; fat controllers, services, and actions. We'll also discuss circular dependencies, static and non-static service methods, and dependency injection.
![Video preview](https://videos.adocasts.com/5b82ed35-5526-4dba-b8bd-894fae08a21e/preview.webp)
![Thank You for Watching](/img/1/thank-you-for-watching_1719604958174.jpeg?w=650)
Thank You for Watching!
A quick thank you to all those who watched! If you have feedback, please let us know down in the comments.
![Video preview](https://videos.adocasts.com/cc0ff4b4-0df3-42e0-afa4-54b60700004f/preview.webp)
![Allowing Admins to Delete Movies](/img/1/allowing-admins-to-delete-movies-and-their-relationships_1719604792290.jpeg?w=650)
Allowing Admins to Delete Movies and their Relationships
In this lesson, we'll learn how we can safely delete movies and their relationships. We'll discuss how we need to consider foreign key constraints, and what to do when our deletes aren't set to cascade.
![Video preview](https://videos.adocasts.com/381d5a01-9b89-40ce-84fc-63ce516ce179/preview.webp)
![Managed Transactions and Syncing Movie Cast Members](/img/1/managed-transactions-and-syncing-cast-members_1719352476784.jpeg?w=650)
Managed Transactions and Syncing Movie Cast Members
In this lesson, we'll learn how we can use what we learned in the last lesson to also sync our cast members. We'll then extract this functionality into a service and wrap it within a managed database transactions.
![Video preview](https://videos.adocasts.com/4e59a1e8-3e50-43f8-bfee-ee50dfc1d930/preview.webp)
![Posting an Array of Objects with HTML Forms](/img/1/posting-an-array-of-objects-with-html-forms_1719352308432.jpeg?w=650)
Posting Objects, Arrays, and an Array of Objects in HTML Forms
In this lesson, we'll learn how we can use form field names to send an array of objects with our HTML form submission. We'll discuss pitfalls to watch out for and how we use AlpineJS to simplify index syncing within our field names.
Lessons.
![Video preview](https://videos.adocasts.com/1045e842-6895-4848-b3da-e1b2cad75463/preview.webp)
![AdonisJS 6 Access Token Authentication in 20 Minutes](/img/1/adonisjs-6-access-token-authentication-in-20-minutes_1716245176135.jpeg?w=650)
AdonisJS 6 Access Token Authentication in 20 Minutes
In this lesson, we'll cover how to implement access token authentication, using opaque tokens, in AdonisJS 6. We'll also take a look at what this would look like on the frontend via a Vue 3 app using Pinia
![Video preview](https://videos.adocasts.com/67f84e93-f484-4982-b3e5-49a30a742a7b/preview.webp)
![Filter by User's Watched Status](/img/1/filter-by-watched-status_1715810596993.jpeg?w=650)
Filtering By User's Watched Status
In this lesson, we'll learn how to add a filter to our user's watchlist allowing them to show only movies they have or have not watched.
![Video preview](https://videos.adocasts.com/9201a520-c7b6-4f24-9c7f-a3eb92638e9f/preview.webp)
![Composite Unique Constraint](/img/1/composite-unique-constraint_1715810994146.jpeg?w=650)
Defining A Composite Unique Constraint
In this lesson, we'll learn how you can enforce uniqueness between multiple columns using a composite unique constraint.
![Video preview](https://videos.adocasts.com/bf3e123e-0f4c-4f68-8dcc-bdc6ce9c1a52/preview.webp)
![Tracking Watched Movies](/img/1/allowing-users-to-track-watched-movies_1715810469365.jpeg?w=650)
Allowing Users To Toggle A Movie As Watched
In this lesson, we'll learn how to allow users to toggle whether they've watched a movie or not within their watchlist.
![Video preview](https://videos.adocasts.com/dde7c981-8473-4836-9846-424c7210eab8/preview.webp)
![An Alternative Approach to Many-To-Many Relationships](/img/1/an-alternative-approach-to-many-to-many-relationships_1715288615499.jpeg?w=650)
An Alternative Approach to Many-To-Many Relationships
In this lesson, learn an alternative approach to many-to-many relationships that allows you to work directly with the pivot table as a model.
![Video preview](https://videos.adocasts.com/fffd7068-d4e9-4c15-b895-dd826ac36cb6/preview.webp)
![Toggling A Movie in an Authenticated User's Watchlist](/img/1/toggling-a-movie-in-an-authenticated-users-watchlist_1715288820404.jpeg?w=650)
Toggling A Movie in an Authenticated User's Watchlist
In this lesson, we'll learn how to add the ability to toggle whether a user has a movie within their watchlist. We'll also query and display whether a movie is in the authenticated user's watchlist as well.
![Video preview](https://videos.adocasts.com/c1df2600-42f6-4f64-af56-04695e184561/preview.webp)
![Listing and Filtering User Watchlist Items](/img/1/listing-and-filtering-watchlist-items-for-a-user_1715289606177.jpeg?w=650)
Listing and Filtering User Watchlist Items
In this lesson, we'll take our movie filter, and learn how we can reuse it to display a filterable list of the user's watchlist movies.
![Video preview](https://videos.adocasts.com/fab3ed6f-2d0d-4d3e-8a16-a787d02274ce/preview.webp)
![Validating Query String Filter Values](/img/1/validating-query-string-filter-values_1714943830507.jpeg?w=650)
Validating Query String Filter Values
In this lesson, we'll learn how to use VineJS, AdonisJS' Validator, to validate the filter properties and values we have within our query string.
![Video preview](https://videos.adocasts.com/e3ff14e7-e11b-4b59-a035-e2a767b92e46/preview.webp)
![Pagination First, Last, Next, and Previous Buttons](/img/1/pagination-first-last-next-and-previous-buttons_1714944115567.jpeg?w=650)
Pagination First, Last, Next, and Previous Buttons
In this lesson, we'll take a look at how to add pagination links to the next and previous pagination pages. Then, we'll follow the same process to add links to the first and last pagination pages.
![Video preview](https://videos.adocasts.com/0c3db61a-4c17-429d-b4e1-2b0e9ecb30f5/preview.webp)
![How To Paginate Filtered Query Results](/img/1/how-to-paginate-filter-results_1714943963112.jpeg?w=650)
How To Paginate Filtered Query Results
In this lesson, we'll learn about AdonisJS Model Query Builder pagination and walk through an example of how we can easily paginate the results of our filtered movies.
![Video preview](https://videos.adocasts.com/edf0c263-25d3-412c-a03d-ac44322375fd/preview.webp)
![Filtering Our List by Movie Status](/img/1/filter-our-list-by-movie-status_1714513909291.jpeg?w=650)
Filtering Our List by Movie Status
In this lesson, we'll alter our form input component to allow selects. Then, we'll learn how to add a select-based filter to our movie list page so that we can see only movies containing a specific movie status.
![Video preview](https://videos.adocasts.com/e467679d-6fa7-4bb6-9851-f4528105a1d1/preview.webp)
![Joining SQL Tables To Order By A Related Column](/img/1/joining-tables-to-order-by-a-relationship_1714514355183.jpeg?w=650)
Joining SQL Tables To Order By A Related Column
In this lesson, we'll learn how to join a related table into our query and use that table to apply a sort via the relationship. We'll then see how we can conditionally apply this join only when it's needed for the selected order by.
![Video preview](https://videos.adocasts.com/0ba33b0c-1e03-42cc-a6ca-e1d695af70ad/preview.webp)
![How To Apply A Dynamic Sort Filter To Your Query](/img/1/how-to-apply-a-dynamic-sort-filter_1714514184731.jpeg?w=650)
How To Apply A Dynamic Sort Filter To Your Query
In this lesson, we'll learn how we can add a user-selected sort option to our filters. Then, we'll apply the selected filter to our movie query
![Video preview](https://videos.adocasts.com/b6463a21-999a-459e-b04e-95c91b24ac25/preview.webp)
![Creating A Movie List Page](/img/1/listing-our-movies_1714172845749.jpeg?w=650)
Creating A Movie List Page
In this lesson, we'll create a page to list all of our movies. Since we have a lot of movies, in this module, we'll focus on adding filters and pagination to this list.
![Video preview](https://videos.adocasts.com/8cc97997-14aa-4a81-88d5-7d9905f4b1f7/preview.webp)
![Protecting Routes with Auth, Guest, and Admin Middleware](/img/1/protecting-routes-with-guest-auth-and-admin-middleware_1714172189592.jpeg?w=650)
Protecting Routes with Auth, Guest, and Admin Middleware
In this lesson, we'll learn about the auth and guest middleware included when we created our AdonisJS 6 project. Then, we'll create our own named middleware that will allow us to restrict page access to only users with the admin role.
![Video preview](https://videos.adocasts.com/03ed95b5-9163-4320-b55c-822cf12ebad9/preview.webp)
![Filtering A Query By Pattern Likeness](/img/1/filtering-a-search-by-pattern-likeness_1714173269742.jpeg?w=650)
Filtering A Query By Pattern Likeness
In this lesson, we'll learn how to add a pattern filter to our movies.index page that will allow us to filter our movies list by title using a case-insensitive pattern search.
![Video preview](https://videos.adocasts.com/0326dd32-f026-4172-b5ad-3c615d9b4abf/preview.webp)
![Logging In An Existing User](/img/1/logging-in-an-existing-user_1713910916927.jpeg?w=650)
Logging In An Existing User
In this lesson, we'll learn how we can login an existing user using just their email and password. We'll discuss how the AuthFinder mixin protects us from timing attacks, and how we can use it to verify the accuracy of a user's password.
![Video preview](https://videos.adocasts.com/30fdf2bb-e40c-46ab-b0c7-55de69548b11/preview.webp)
![Remembering A User's Authenticated Session](/img/1/remembering-a-users-authenticated-session_1713911437512.jpeg?w=650)
Remembering A User's Authenticated Session
In this lesson, we'll learn how we can use AdonisJS' Remember Me Tokens feature to allow a user to specify they'd like their authentication state to be remembered for a long time across sessions.
![Video preview](https://videos.adocasts.com/8a4cc3b8-1160-4ccf-90a5-1ab701e95ae5/preview.webp)
![Logging Out An Authenticated User](/img/1/logging-out-an-authenticated-user_1713910484545.jpeg?w=650)
Logging Out An Authenticated User
In this lesson, we'll learn how to logout an authenticated user using a POST request with CSRF protection.
![Video preview](https://videos.adocasts.com/5e47e382-b604-47ef-8700-ce5ba2bd250b/preview.webp)
![The Flow of Middleware](/img/1/the-flow-of-middleware_1713557920719.jpeg?w=650)
The Flow of Middleware
In this lesson, we'll learn about the middleware that comes preinstalled within AdonisJS and the flow of this middleware during an HTTP Request at both a global and route-specific scale.
Showing 21 to 40 of 270 results