Skip to content

Instantly share code, notes, and snippets.

View brachi-wernick's full-sized avatar

Brachi Packter brachi-wernick

  • moonactive
  • Israel
View GitHub Profile
@brachi-wernick
brachi-wernick / routeConfigWithPermissionInData.ts
Last active July 18, 2018 07:07
route config with permission in data
const appRoutes: Routes = [
{
path: 'crisis-center', component: CrisisListComponent,
canActivate: [CanActivateGuard],
data: {
permissions: ['CRISIS_READ']
}
},
{
path: 'hero/:id',
@brachi-wernick
brachi-wernick / CanActivateGuard.ts
Created July 18, 2018 07:10
can activate guard base on route data
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
if (route.component && route.data) {
let permissions = route.data.permissions;
if (permissions) {
return this.securityService.userHasPermissions(permissions)
.map(hasAccess => {
if (hasAccess) {
return true;
}
else {
@brachi-wernick
brachi-wernick / RouteConfigWithOneGuard.ts
Created July 18, 2018 07:15
Route config with only one route guard
const appRoutes: Routes = [
{
path: "",
canActivateChild: [CanActivateGuard],
children: [
{
path: 'crisis-center', component: CrisisListComponent,
},
{
@brachi-wernick
brachi-wernick / ActivateDecorator.ts
Created July 18, 2018 07:19
activate decorator
export const ACTIVATE_FIELD_NAME = "__activate__";
export function Activate(permissions: string[]) {
return function decorator(target) {
target[ACTIVATE_FIELD_NAME] = permissions;
}
}
@Activate(['HERO_READ'])
@Component({
selector: 'hero-list',
template: `
<ul >
<li *ngFor="let hero of heros">
{{hero.name}}
</li>
</ul>
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
if (route.component && route.data) {
let permissions = route.component[ACTIVATE_FIELD_NAME] as ActivateMetadata;
if (permissions) {
return this.securityService.userHasPermissions(permissions)
.map(hasAccess => {
if (hasAccess) {
return true;
}
else {
@brachi-wernick
brachi-wernick / kafka-connect-elastic
Last active November 20, 2018 20:10
CLI command to connect kafka to elastic
./bin/connect-standalone etc/schema-registry/connect-avro-standalone.properties \
etc/kafka-connect-elasticsearch/quickstart-elasticsearch.properties
@brachi-wernick
brachi-wernick / kafka-connect-elastic.properties
Created November 20, 2018 20:12
kafka-connect-elastic.properties
topics=attack
@brachi-wernick
brachi-wernick / connect-avro-standalone.properties
Created November 20, 2018 20:14
connect-avro-standalone.properties
key.converter=org.apache.kafka.connect.storage.StringConverter
internal.key.converter=org.apache.kafka.connect.storage.StringConverter
@brachi-wernick
brachi-wernick / schema-registry-start.sh
Created November 20, 2018 20:15
schema-registry-start
./bin/schema-registry-start etc/schema-registry/schema-registry.properties