File

projects/netgrif-components-core/src/lib/resources/engine-endpoint/user-resource.service.ts

Extends

AbstractResourceService

Index

Methods

Constructor

constructor(provider: ResourceProvider, configService: ConfigurationService)
Parameters :
Name Type Optional
provider ResourceProvider No
configService ConfigurationService No

Methods

Public assignAuthority
assignAuthority(userId: string, body: object, params?: Params)

Assign authority to the user

Request Type: POST

Request URL: {{baseUrl}}/api/user/{id}/authority/assign

Parameters :
Name Type Optional
userId string No
body object No
params Params Yes
Returns : Observable<MessageResource>
Public assignRoles
assignRoles(userId: string, body: object, params?: Params)

Assign role to the user

Request Type: POST

Request URL: {{baseUrl}}/api/user/{id}/role/assign

Parameters :
Name Type Optional
userId string No
body object No
params Params Yes
Returns : Observable<MessageResource>
Public getAll
getAll(params?: Params)

Get all users

Request Type: GET

Request URL: {{baseUrl}}/api/user

Parameters :
Name Type Optional
params Params Yes
Public getAllAuthorities
getAllAuthorities()

Get all authorities of the system

Request Type: GET

Request URL: {{baseUrl}}/api/user/authority

Returns : Observable<Array<Authority>>
Public getAllGroups
getAllGroups(params?: Params)

get all groups

Request Type: GET

Request URL: {{baseUrl}}/api/group/all

Parameters :
Name Type Optional
params Params Yes
Returns : Observable<GroupsInterface>
Public getAllWithRole
getAllWithRole(body: object, params?: Params)

Get all users with specified roles

Request Type: POST

Request URL: {{baseUrl}}/api/user/role

Parameters :
Name Type Optional
body object No
params Params Yes
Public getLoggedUser
getLoggedUser(params?: Params)

Get logged user

Request Type: GET

Request URL: {{baseUrl}}/api/user/me

Parameters :
Name Type Optional
params Params Yes
Public getPreferences
getPreferences(params?: Params)

Get user's preferences

Request Type: GET

Request URL: {{baseUrl}}/api/user/preferences

Parameters :
Name Type Optional
params Params Yes
Public getPublicLoggedUser
getPublicLoggedUser(params?: Params)

Get logged user

Request Type: GET

Request URL: {{baseUrl}}/api/user/me

Parameters :
Name Type Optional
params Params Yes
Public getPublicPreferences
getPublicPreferences(params?: Params)

Get user's preferences

Request Type: GET

Request URL: {{baseUrl}}/api/user/preferences

Parameters :
Name Type Optional
params Params Yes
Public getUser
getUser(userId: string, params?: Params)

Get user by id

Request Type: GET

Request URL: {{baseUrl}}/api/user/{id}

Parameters :
Name Type Optional
userId string No
params Params Yes
Public search
search(body: object, params?: Params)

Generic user search

Request Type: POST

Request URL: {{baseUrl}}/api/user/search

Parameters :
Name Type Optional
body object No
params Params Yes
Public setPreferences
setPreferences(body: object, params?: Params)

Set user's preferences

Request Type: POST

Request URL: {{baseUrl}}/api/user/preferences

Parameters :
Name Type Optional
body object No
params Params Yes
Returns : Observable<MessageResource>
Public setPublicPreferences
setPublicPreferences(body: object, params?: Params)

Set user's preferences

Request Type: POST

Request URL: {{baseUrl}}/api/user/preferences

Parameters :
Name Type Optional
body object No
params Params Yes
Returns : Observable<MessageResource>
Public updateUser
updateUser(userId: string, body: object, params?: Params)

Update user

Request Type: POST

Request URL: {{baseUrl}}/api/user/{id}

Parameters :
Name Type Optional
userId string No
body object No
params Params Yes
Protected changeType
changeType(r: any, propertiesParams: string)
Inherited from AbstractResourceService
Type parameters :
  • T

Extracts data from the response r into an object with better usability.

Parameters :
Name Type Optional Description
r any No
  • response object
propertiesParams string No
  • plural form of the resource name, that is used to extract the data. Eg. "cases".
Returns : T
Protected getResourceAddress
getResourceAddress(name: string)
Inherited from AbstractResourceService

Get URL form nae.json - resources

Parameters :
Name Type Optional Description
name string No
  • ID property
Returns : string
Protected getResourcePage
getResourcePage(r: any, propertiesParams: string)
Inherited from AbstractResourceService
Type parameters :
  • T

Parses a response r into a Page instance

Parameters :
Name Type Optional Description
r any No
  • response object
propertiesParams string No
  • plural form of the resource name, that is used to extract the data. Eg. "cases".
Returns : Page<T>
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import {map} from 'rxjs/operators';
import {Params, ResourceProvider} from '../resource-provider.service';
import {ConfigurationService} from '../../configuration/configuration.service';
import {MessageResource} from '../interface/message-resource';
import {Authority} from '../interface/authority';
import {Preferences} from '../interface/preferences';
import {Page} from '../interface/page';
import {GroupsInterface} from '../interface/group';
import {AbstractResourceService} from '../abstract-endpoint/abstract-resource.service';
import {UserResource} from '../interface/user-resource';

@Injectable({
    providedIn: 'root'
})
export class UserResourceService extends AbstractResourceService {

    constructor(provider: ResourceProvider, configService: ConfigurationService) {
        super('user', provider, configService);
    }

    /**
     * Assign authority to the user
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/{id}/authority/assign
     */
    public assignAuthority(userId: string, body: object, params?: Params): Observable<MessageResource> {
        return this._resourceProvider.post$('user/' + userId + '/authority/assign', this.SERVER_URL, body, params,
            {'Content-Type': 'text/plain'})
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Assign role to the user
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/{id}/role/assign
     */
    public assignRoles(userId: string, body: object, params?: Params): Observable<MessageResource> {
        return this._resourceProvider.post$('user/' + userId + '/role/assign', this.SERVER_URL, body, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Get all authorities of the system
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user/authority
     */
    public getAllAuthorities(): Observable<Array<Authority>> {
        return this._resourceProvider.get$('user/authority', this.SERVER_URL)
            .pipe(map(r => this.changeType(r, 'authorities')));
    }

    /**
     * Get all users
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user
     */
    public getAll(params?: Params): Observable<Page<UserResource>> {
        return this._resourceProvider.get$('user', this.SERVER_URL, params)
            .pipe(map(r => this.getResourcePage<UserResource>(r, 'users')));
    }

    /**
     * Get all users with specified roles
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/role
     */
    public getAllWithRole(body: object, params?: Params): Observable<Array<UserResource>> {
        return this._resourceProvider.post$('user/role', this.SERVER_URL, body, params)
            .pipe(map(r => this.changeType(r, 'users')));
    }

    /**
     * Get logged user
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user/me
     */
    public getLoggedUser(params?: Params): Observable<UserResource> {
        return this._resourceProvider.get$('user/me', this.SERVER_URL, params).pipe(
                map(r => this.changeType(r, undefined)));
    }

    /**
     * Get logged user
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user/me
     */
    public getPublicLoggedUser(params?: Params): Observable<UserResource> {
        return this._resourceProvider.get$('public/user/me', this.SERVER_URL, params).pipe(
            map(r => this.changeType(r, undefined)));
    }

    /**
     * Get user by id
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user/{id}
     */
    public getUser(userId: string, params?: Params): Observable<UserResource> {
        return this._resourceProvider.get$('user/' + userId, this.SERVER_URL, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Get user's preferences
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user/preferences
     */
    public getPreferences(params?: Params): Observable<Preferences> {
        return this._resourceProvider.get$('user/preferences', this.SERVER_URL, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Set user's preferences
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/preferences
     */
    public setPreferences(body: object, params?: Params): Observable<MessageResource> {
        return this._resourceProvider.post$('user/preferences', this.SERVER_URL, body, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Get user's preferences
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/user/preferences
     */
    public getPublicPreferences(params?: Params): Observable<Preferences> {
        return this._resourceProvider.get$('public/user/preferences', this.SERVER_URL, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Set user's preferences
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/preferences
     */
    public setPublicPreferences(body: object, params?: Params): Observable<MessageResource> {
        return this._resourceProvider.post$('public/user/preferences', this.SERVER_URL, body, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * Generic user search
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/search
     */
    public search(body: object, params?: Params): Observable<Page<UserResource>> {
        return this._resourceProvider.post$('user/search', this.SERVER_URL, body, params)
            .pipe(map(r => this.getResourcePage<UserResource>(r, 'users')));
    }

    /**
     * Update user
     *
     * **Request Type:** POST
     *
     * **Request URL:** {{baseUrl}}/api/user/{id}
     */
    public updateUser(userId: string, body: object, params?: Params): Observable<UserResource> {
        return this._resourceProvider.post$('user/' + userId, this.SERVER_URL, body, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

    /**
     * get all groups
     *
     * **Request Type:** GET
     *
     * **Request URL:** {{baseUrl}}/api/group/all
     */
    public getAllGroups(params?: Params): Observable<GroupsInterface> {
        return this._resourceProvider.get$('group/all', this.SERVER_URL, params)
            .pipe(map(r => this.changeType(r, undefined)));
    }

}

result-matching ""

    No results matching ""