Skip to content
This repository has been archived by the owner on Nov 21, 2024. It is now read-only.

Commit

Permalink
fix(refactor): Updated folder structure and change config type for mo…
Browse files Browse the repository at this point in the history
…dels to inject config token
  • Loading branch information
EndyKaufman committed Sep 16, 2018
1 parent ea31593 commit f42ee5f
Show file tree
Hide file tree
Showing 133 changed files with 403 additions and 483 deletions.
34 changes: 11 additions & 23 deletions apps/demo/src/app/app.component.ts
Original file line number Diff line number Diff line change
@@ -1,32 +1,16 @@
import { isPlatformBrowser, DOCUMENT, isPlatformServer } from '@angular/common';
import {
ChangeDetectionStrategy,
Component,
Inject,
OnDestroy,
PLATFORM_ID
} from '@angular/core';
import { DOCUMENT, isPlatformBrowser, isPlatformServer } from '@angular/common';
import { ChangeDetectionStrategy, Component, Inject, OnDestroy, PLATFORM_ID } from '@angular/core';
import { Router } from '@angular/router';
import { MetaService } from '@ngx-meta/core';
import { TranslateService } from '@ngx-translate/core';
import {
ErrorsExtractor,
LangService,
TokenService,
User,
translate,
AuthService,
UserTokenDto,
RedirectUriDto
} from '@rucken/core';
import { AuthModalComponent, MessageModalService } from '@rucken/web';
import { AuthService, ErrorsExtractor, LangService, RedirectUriDto, TokenService, translate, UserTokenDto } from '@rucken/core';
import { AuthModalComponent, AuthModalTypeEnum, MessageModalService } from '@rucken/web';
import { BsLocaleService } from 'ngx-bootstrap/datepicker';
import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { environment } from '../environments/environment';
import { AuthModalSignInInfoMessage, AuthModal#InfoMessage } from './app.config';
import { AppRoutes } from './app.routes';
import { AuthModalTypeEnum } from '@rucken/web';
import { MetaService } from '@ngx-meta/core';

@Component({
selector: 'app-root',
Expand Down Expand Up @@ -142,10 +126,14 @@ export class AppComponent implements OnDestroy {
class: 'modal-xs',
initialState: {
type: AuthModalTypeEnum.SignIn,
data: {}
data: {
},
signInInfoMessage: AuthModalSignInInfoMessage,
#InfoMessage: AuthModal#InfoMessage
}
});
bsModalRef.content.yes.subscribe((modal: AuthModalComponent) => {
console.log(modal);
modal.processing = true;
if (modal.yesData) {
this.authService
Expand Down
6 changes: 6 additions & 0 deletions apps/demo/src/app/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ export const ApplicationName = translate('Rucken: Demo');
export const ApplicationDescription = translate(
'Core with Admin UI for web and native application maked on Angular6+'
);
export const AuthModalSignInInfoMessage = translate(`<p>Demo users:</p><ul>
<li>user with admin group: admin@admin.com, password: 12345678</li>
<li>user with user group: user1@user1.com, password: 12345678</li>
<li>user with user group: user2@user2.com, password: 12345678</li>
</ul>`);
export const AuthModal#InfoMessage = '';

export function appMetaFactory(translateService: TranslateService): MetaLoader {
return new MetaStaticLoader({
Expand Down
35 changes: 7 additions & 28 deletions apps/demo/src/app/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,19 @@ import { HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { PreloadAllModules, RouterModule } from '@angular/router';
import {
AccountModule,
ContentTypesConfig,
ErrorsExtractor,
GroupsConfig,
LangModule,
PermissionsConfig,
PermissionsGuard,
TransferHttpCacheModule,
UsersConfig,
AuthModule
} from '@rucken/core';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { MetaLoader, MetaModule } from '@ngx-meta/core';
import { TranslateService } from '@ngx-translate/core';
import { AccountModule, AuthModule, entitiesProviders, ErrorsExtractor, LangModule, PermissionsGuard, TransferHttpCacheModule } from '@rucken/core';
import { AuthModalModule, NavbarModule, ThemesModule } from '@rucken/web';
import { BsDatepickerModule, BsLocaleService } from 'ngx-bootstrap/datepicker';
import { ModalModule } from 'ngx-bootstrap/modal';
import { CookieService } from 'ngx-cookie-service';
import { NgxPermissionsModule } from 'ngx-permissions';
import { environment } from '../environments/environment';
import { AppComponent } from './app.component';
import { AppRoutes } from './app.routes';
import { AllRoutes, AppLangs, appMetaFactory, OauthModalProviders, OauthProviders } from './app.config';
import { SharedModule } from './shared/shared.module';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { MetaModule, MetaLoader } from '@ngx-meta/core';
import {
OauthProviders,
AppLangs,
AllRoutes,
OauthModalProviders,
appMetaFactory
} from './app.config';
import { TranslateService } from '@ngx-translate/core';

@NgModule({
declarations: [AppComponent],
Expand Down Expand Up @@ -76,15 +58,12 @@ import { TranslateService } from '@ngx-translate/core';
FontAwesomeModule
],
providers: [
...entitiesProviders,
CookieService,
ErrorsExtractor,
GroupsConfig,
PermissionsConfig,
ContentTypesConfig,
UsersConfig,
BsLocaleService,
PermissionsGuard
],
bootstrap: [AppComponent]
})
export class AppModule {}
export class AppModule { }
29 changes: 15 additions & 14 deletions libs/rucken/core/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
export * from './i18n/ru.i18n';
export * from './lib/entities/configs/content-types.config';
export * from './lib/entities/configs/groups.config';
export * from './lib/entities/configs/index';
export * from './lib/entities/configs/permissions.config';
export * from './lib/entities/configs/users.config';
export * from './lib/entities/models/content-type';
export * from './lib/entities/models/group';
export * from './lib/entities/models/permission';
export * from './lib/entities/models/user';
export * from './lib/modules/account/account.module';
export * from './lib/modules/account/account.service';
export * from './lib/modules/account/configs/account.config';
Expand Down Expand Up @@ -32,17 +41,9 @@ export * from './lib/modules/storage/interfaces/storage.interface';
export * from './lib/modules/transfer-http/transfer-http-cache.interceptor';
export * from './lib/modules/transfer-http/transfer-http-cache.module';
export * from './lib/modules/transfer-http/transfer-http-response.interface';
export * from './lib/shared/configs/content-types.config';
export * from './lib/shared/configs/groups.config';
export * from './lib/shared/configs/permissions.config';
export * from './lib/shared/configs/users.config';
export * from './lib/shared/models/content-type';
export * from './lib/shared/models/group';
export * from './lib/shared/models/permission';
export * from './lib/shared/models/user';
export * from './lib/shared/utils/custom-transforms';
export * from './lib/shared/utils/custom-validators';
export * from './lib/shared/utils/errors-extractor';
export * from './lib/shared/utils/permissions-guard.service';
export * from './lib/shared/utils/translate';
export * from './lib/shared/validators/equals-to-other-property.validator';
export * from './lib/utils/custom-transforms';
export * from './lib/utils/custom-validators';
export * from './lib/utils/errors-extractor';
export * from './lib/utils/permissions-guard.service';
export * from './lib/utils/translate';
export * from './lib/validators/equals-to-other-property.validator';
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
import { Injectable } from '@angular/core';
import { plainToClass } from 'class-transformer';
import {
IRestProviderOptions,
PaginationMeta,
ProviderActionEnum
} from 'ngx-repository';
import { IRestProviderOptions, PaginationMeta, ProviderActionEnum } from 'ngx-repository';
import { ContentType } from '../models/content-type';

@Injectable()
export class ContentTypesConfig implements IRestProviderOptions<ContentType> {
name = 'content_type';
pluralName = 'content_types';
autoload = true;
paginationMeta = {
export const defaultContentTypesConfig: IRestProviderOptions<ContentType> = {
name: 'content_type',
pluralName: 'content_types',
autoload: true,
paginationMeta: {
perPage: 5
};
actionOptions = {
},
actionOptions: {
responseData: (data: any, action: ProviderActionEnum) => {
if (action === ProviderActionEnum.Delete) {
return true;
Expand All @@ -33,11 +27,11 @@ export class ContentTypesConfig implements IRestProviderOptions<ContentType> {
): PaginationMeta => {
return { totalResults: data.body.meta.totalResults, perPage: undefined };
}
};
restOptions = {
},
restOptions: {
limitQueryParam: 'per_page',
pageQueryParam: 'cur_page',
searchTextQueryParam: 'q'
};
constructor() {}
}
}
};
export const CONTENT_TYPES_CONFIG_TOKEN = 'ContentTypesConfig';
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
import { Injectable } from '@angular/core';
import { plainToClass } from 'class-transformer';
import {
IRestProviderOptions,
PaginationMeta,
ProviderActionEnum
} from 'ngx-repository';
import { IRestProviderOptions, PaginationMeta, ProviderActionEnum } from 'ngx-repository';
import { Group } from '../models/group';

@Injectable()
export class GroupsConfig implements IRestProviderOptions<Group> {
name = 'group';
pluralName = 'groups';
autoload = true;
paginationMeta = {
export const defaultGroupsConfig: IRestProviderOptions<Group> = {
name: 'group',
pluralName: 'groups',
autoload: true,
paginationMeta: {
perPage: 5
};
actionOptions = {
},
actionOptions: {
responseData: (data: any, action: ProviderActionEnum) => {
if (action === ProviderActionEnum.Delete) {
return true;
Expand All @@ -33,11 +27,12 @@ export class GroupsConfig implements IRestProviderOptions<Group> {
): PaginationMeta => {
return { totalResults: data.body.meta.totalResults, perPage: undefined };
}
};
restOptions = {
},
restOptions: {
limitQueryParam: 'per_page',
pageQueryParam: 'cur_page',
searchTextQueryParam: 'q'
};
constructor() {}
}
}
};
export const GROUP_CONFIG_TOKEN = 'GroupsConfig';

25 changes: 25 additions & 0 deletions libs/rucken/core/src/lib/entities/configs/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { Provider } from '@angular/core';
import { CONTENT_TYPES_CONFIG_TOKEN, defaultContentTypesConfig } from './content-types.config';
import { defaultGroupsConfig, GROUP_CONFIG_TOKEN } from './groups.config';
import { defaultPermissionsConfig, PERMISSIONS_CONFIG_TOKEN } from './permissions.config';
import { defaultUsersConfig, USERS_CONFIG_TOKEN } from './users.config';


export const entitiesProviders: Provider[] = [
{
provide: CONTENT_TYPES_CONFIG_TOKEN,
useValue: defaultContentTypesConfig
},
{
provide: GROUP_CONFIG_TOKEN,
useValue: defaultGroupsConfig
},
{
provide: PERMISSIONS_CONFIG_TOKEN,
useValue: defaultPermissionsConfig
},
{
provide: USERS_CONFIG_TOKEN,
useValue: defaultUsersConfig
}
];
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
import { Injectable } from '@angular/core';
import { plainToClass } from 'class-transformer';
import {
IRestProviderOptions,
PaginationMeta,
ProviderActionEnum
} from 'ngx-repository';
import { IRestProviderOptions, PaginationMeta, ProviderActionEnum } from 'ngx-repository';
import { Permission } from '../models/permission';

@Injectable()
export class PermissionsConfig implements IRestProviderOptions<Permission> {
name = 'permission';
pluralName = 'permissions';
autoload = true;
paginationMeta = {
export const defaultPermissionsConfig: IRestProviderOptions<Permission> = {
name: 'permission',
pluralName: 'permissions',
autoload: true,
paginationMeta: {
perPage: 5
};
actionOptions = {
},
actionOptions: {
responseData: (data: any, action: ProviderActionEnum) => {
if (action === ProviderActionEnum.Delete) {
return true;
Expand All @@ -33,11 +27,11 @@ export class PermissionsConfig implements IRestProviderOptions<Permission> {
): PaginationMeta => {
return { totalResults: data.body.meta.totalResults, perPage: undefined };
}
};
restOptions = {
},
restOptions: {
limitQueryParam: 'per_page',
pageQueryParam: 'cur_page',
searchTextQueryParam: 'q'
};
constructor() {}
}
}
};
export const PERMISSIONS_CONFIG_TOKEN = 'PermissionsConfig';
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
import { Injectable } from '@angular/core';
import { plainToClass } from 'class-transformer';
import {
IRestProviderOptions,
PaginationMeta,
ProviderActionEnum
} from 'ngx-repository';
import { IRestProviderOptions, PaginationMeta, ProviderActionEnum } from 'ngx-repository';
import { User } from '../models/user';

@Injectable()
export class UsersConfig implements IRestProviderOptions<User> {
name = 'user';
pluralName = 'users';
autoload = true;
paginationMeta = {
export const defaultUsersConfig: IRestProviderOptions<User> = {
name: 'user',
pluralName: 'users',
autoload: true,
paginationMeta: {
perPage: 5
};
actionOptions = {
},
actionOptions: {
responseData: (data: any, action: ProviderActionEnum) => {
if (action === ProviderActionEnum.Delete) {
return true;
Expand All @@ -33,11 +27,11 @@ export class UsersConfig implements IRestProviderOptions<User> {
): PaginationMeta => {
return { totalResults: data.body.meta.totalResults, perPage: undefined };
}
};
restOptions = {
},
restOptions: {
limitQueryParam: 'per_page',
pageQueryParam: 'cur_page',
searchTextQueryParam: 'q'
};
constructor() {}
}
}
};
export const USERS_CONFIG_TOKEN = 'UsersConfig';
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { IsNotEmpty } from 'class-validator';
import { IModel } from 'ngx-repository';
import { translate } from '../utils/translate';
import { translate } from '../../utils/translate';

export class ContentType implements IModel {
static strings = {
Expand Down
Loading

0 comments on commit f42ee5f

Please # to comment.