blob: 1648c0ae537dcabf25d7048129d8e69f23ed298c [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Component } from '@angular/core';
import NfRegistryService from 'services/nf-registry.service';
import NfRegistryApi from 'services/nf-registry.api';
import { MatDialogRef } from '@angular/material';
import { NfRegistryLoginAuthGuard } from 'services/nf-registry.auth-guard.service';
import template from './nf-registry-user-login.html';
/**
* NfRegistryUserLogin constructor.
*
* @param nfRegistryApi The api service.
* @param nfRegistryService The nf-registry.service module.
* @param matDialogRef The angular material dialog ref.
* @param nfRegistryLoginAuthGuard The login auth guard.
* @constructor
*/
function NfRegistryUserLogin(nfRegistryApi, nfRegistryService, matDialogRef, nfRegistryLoginAuthGuard) {
this.nfRegistryService = nfRegistryService;
this.nfRegistryApi = nfRegistryApi;
this.dialogRef = matDialogRef;
this.nfRegistryLoginAuthGuard = nfRegistryLoginAuthGuard;
}
NfRegistryUserLogin.prototype = {
constructor: NfRegistryUserLogin,
/**
* Submit login form.
*
* @param username The user name.
* @param password The password.
*/
login: function (username, password) {
var self = this;
this.nfRegistryApi.postToLogin(username.value, password.value).subscribe(function (response) {
if (response || response.status === 200) {
//successful login
self.dialogRef.close();
self.nfRegistryService.currentUser.anonymous = false;
self.nfRegistryLoginAuthGuard.checkLogin(self.nfRegistryService.redirectUrl);
}
});
}
};
NfRegistryUserLogin.annotations = [
new Component({
template: template
})
];
NfRegistryUserLogin.parameters = [
NfRegistryApi,
NfRegistryService,
MatDialogRef,
NfRegistryLoginAuthGuard
];
export default NfRegistryUserLogin;