diff --git a/src/lib/permissions/README.md b/src/lib/permissions/README.md
new file mode 100644
index 0000000..74dbc48
--- /dev/null
+++ b/src/lib/permissions/README.md
@@ -0,0 +1,194 @@
+```typescript
+import { Component, OnInit } from "@angular/core";
+import { HttpClient } from "@angular/common/http";
+import { IqserPermissionsService } from "./permissions.service";
+import { IqserRolesService } from "./roles.service";
+
+@Component({
+ templateUrl: "./app.component.html"
+})
+export class AppComponent implements OnInit {
+ constructor(
+ private permissionsService: IqserPermissionsService,
+ private rolesService: IqserRolesService,
+ private http: HttpClient
+ ) {
+ }
+
+ ngOnInit(): void {
+ const perm = ["can-edit-articles", "can-read-articles"];
+ this.permissionsService.loadPermissions(perm);
+
+ const roles = ["ADMIN", "EDITOR"];
+ this.permissionsService.loadPermissions(perm);
+ }
+}
+```
+
+```angular2html
+
+
+
You can see this text congrats
+
+
+
+ You can see this text congrats
+
+
+----------------------------------------------
+
+
+
+
+
+ elseBlock
+
+
+
+ thenBlock
+
+
+----------------------------------------------
+
+main
+
+
+ elseBlock
+
+
+
+ thenBlock
+
+```
+
+```typescript
+import { IqserRoute } from "./models/permissions-router-data.model";
+import { IqserPermissionsGuard } from "./permissions-guard.service";
+
+const appRoutes: IqserRoute[] = [
+ {
+ path: "home",
+ component: HomeComponent,
+ canActivate: [IqserPermissionsGuard],
+ data: {
+ permissions: {
+ allow: ["ADMIN", "MODERATOR"],
+ redirectTo: "/another-route"
+ }
+ }
+ }
+];
+
+const appRoutes1: IqserRoute[] = [
+ {
+ path: 'dynamic/:id',
+ component: HomeComponent,
+ canActivate: [IqserPermissionsGuard],
+ data: {
+ permissions: {
+ allow: (route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {
+ if (route.params['id'] === 42) {
+ return ['MANAGER', "UTILS"]
+ } else {
+ return 'ADMIN'
+ }
+ }
+ }
+ }
+ }
+];
+
+const appRoutes2: IqserRoute[] = [
+ {
+ path: "home",
+ component: HomeComponent,
+ canActivate: [IqserPermissionsGuard],
+ data: {
+ permissions: {
+ allow: ["ADMIN", "MODERATOR"],
+ redirectTo: {
+ navigationCommands: ["123"],
+ navigationExtras: {
+ skipLocationChange: true
+ }
+ }
+ }
+ },
+ }
+];
+
+const appRoutes3: IqserRoute[] = [
+ {
+ path: "home",
+ component: HomeComponent,
+ canActivate: [IqserPermissionsGuard],
+ data: {
+ permissions: {
+ allow: ["canReadAgenda", "canEditAgenda"],
+ redirectTo: {
+ canReadAgenda: "agendaList",
+ canEditAgenda: "dashboard",
+ default: "login"
+ }
+ }
+ }
+ }
+];
+
+const appRoutes4: IqserRoute[] = [
+ {
+ path: "home",
+ component: HomeComponent,
+ canActivate: [IqserPermissionsGuard],
+ data: {
+ permissions: {
+ allow: ["canEditAgenda"],
+ redirectTo: {
+ canEditAgenda: {
+ navigationCommands: "dashboard",
+ navigationExtras: {
+ skipLocationChange: true
+ }
+ },
+ default: "login"
+ }
+ }
+ }
+ }
+];
+
+const appRoutes5: IqserRoute[] = [
+ {
+ path: 'home',
+ component: HomeComponent,
+ canActivate: [IqserPermissionsGuard],
+ data: {
+ permissions: {
+ allow: ['canReadAgenda', 'canEditAgenda'],
+ redirectTo: {
+ canReadAgenda: (rejectedPermissionName: string, activateRouteSnapshot: ActivatedRouteSnapshot, routeStateSnapshot: RouterStateSnapshot) => {
+ return 'dashboard';
+ },
+ canEditAgenda: (rejectedPermissionName: string, activateRouteSnapshot: ActivatedRouteSnapshot, routeStateSnapshot: RouterStateSnapshot) => {
+ return {
+ navigationCommands: ['/dashboard'],
+ navigationExtras: {
+ skipLocationChange: true
+ }
+ }
+ },
+ default: 'login'
+ }
+ }
+ }
+ },
+];
+
+```