beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ Rgw501Component ],
- imports: [
- RouterTestingModule,
- SharedModule
- ]
- })
- .compileComponents();
+ declarations: [Rgw501Component],
+ imports: [RouterTestingModule, SharedModule]
+ }).compileComponents();
}));
beforeEach(() => {
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwBucketDetailsComponent ],
- imports: [
- SharedModule,
- TabsModule.forRoot()
- ]
- })
- .compileComponents();
+ declarations: [RgwBucketDetailsComponent],
+ imports: [SharedModule, TabsModule.forRoot()]
+ }).compileComponents();
}));
beforeEach(() => {
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwBucketFormComponent ],
- imports: [
- HttpClientTestingModule,
- ReactiveFormsModule,
- RouterTestingModule,
- SharedModule
- ],
- providers: [
- RgwUserService,
- { provide: RgwBucketService, useClass: MockRgwBucketService }
- ]
- })
- .compileComponents();
+ declarations: [RgwBucketFormComponent],
+ imports: [HttpClientTestingModule, ReactiveFormsModule, RouterTestingModule, SharedModule],
+ providers: [RgwUserService, { provide: RgwBucketService, useClass: MockRgwBucketService }]
+ }).compileComponents();
}));
beforeEach(() => {
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwDaemonDetailsComponent ],
- imports: [
- SharedModule,
- PerformanceCounterModule,
- TabsModule.forRoot()
- ],
+ declarations: [RgwDaemonDetailsComponent],
+ imports: [SharedModule, PerformanceCounterModule, TabsModule.forRoot()],
providers: [{ provide: RgwDaemonService, useValue: fakeRgwDaemonService }]
});
}));
if (_.isEmpty(this.serviceId)) {
return;
}
- this.rgwDaemonService.get(this.serviceId)
- .subscribe((resp) => {
- this.metadata = resp['rgw_metadata'];
- });
+ this.rgwDaemonService.get(this.serviceId).subscribe((resp) => {
+ this.metadata = resp['rgw_metadata'];
+ });
}
}
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [
- RgwDaemonListComponent,
- RgwDaemonDetailsComponent
- ],
- imports: [
- HttpClientModule,
- TabsModule.forRoot(),
- PerformanceCounterModule,
- SharedModule
- ]
- })
- .compileComponents();
+ declarations: [RgwDaemonListComponent, RgwDaemonDetailsComponent],
+ imports: [HttpClientModule, TabsModule.forRoot(), PerformanceCounterModule, SharedModule]
+ }).compileComponents();
}));
beforeEach(() => {
styleUrls: ['./rgw-daemon-list.component.scss']
})
export class RgwDaemonListComponent {
-
columns: CdTableColumn[] = [];
daemons: object[] = [];
selection: CdTableSelection = new CdTableSelection();
- constructor(private rgwDaemonService: RgwDaemonService,
- cephShortVersionPipe: CephShortVersionPipe) {
+ constructor(
+ private rgwDaemonService: RgwDaemonService,
+ cephShortVersionPipe: CephShortVersionPipe
+ ) {
this.columns = [
{
name: 'ID',
}
getDaemonList() {
- this.rgwDaemonService.list()
- .subscribe((resp: object[]) => {
+ this.rgwDaemonService.list().subscribe(
+ (resp: object[]) => {
this.daemons = resp;
- }, () => {
+ },
+ () => {
// Force datatable to hide the loading indicator in
// case of an error.
this.daemons = [];
- });
+ }
+ );
}
updateSelection(selection: CdTableSelection) {
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwUserCapabilityModalComponent ],
- imports: [
- ReactiveFormsModule,
- SharedModule
- ],
- providers: [ BsModalRef ]
- })
- .compileComponents();
+ declarations: [RgwUserCapabilityModalComponent],
+ imports: [ReactiveFormsModule, SharedModule],
+ providers: [BsModalRef]
+ }).compileComponents();
}));
beforeEach(() => {
styleUrls: ['./rgw-user-capability-modal.component.scss']
})
export class RgwUserCapabilityModalComponent {
-
/**
* The event that is triggered when the 'Add' or 'Update' button
* has been pressed.
editing = true;
types: string[] = [];
- constructor(private formBuilder: FormBuilder,
- public bsModalRef: BsModalRef) {
+ constructor(private formBuilder: FormBuilder, public bsModalRef: BsModalRef) {
this.createForm();
}
createForm() {
this.formGroup = this.formBuilder.group({
- 'type': [
- null,
- [Validators.required]
- ],
- 'perm': [
- null,
- [Validators.required]
- ]
+ type: [null, [Validators.required]],
+ perm: [null, [Validators.required]]
});
}
*/
setValues(type: string, perm: string) {
this.formGroup.setValue({
- 'type': type,
- 'perm': perm
+ type: type,
+ perm: perm
});
}
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwUserDetailsComponent ],
- imports: [
- HttpClientTestingModule,
- HttpClientModule,
- SharedModule,
- TabsModule.forRoot()
- ],
- providers: [
- BsModalService
- ]
- })
- .compileComponents();
+ declarations: [RgwUserDetailsComponent],
+ imports: [HttpClientTestingModule, HttpClientModule, SharedModule, TabsModule.forRoot()],
+ providers: [BsModalService]
+ }).compileComponents();
}));
beforeEach(() => {
import { CdTableSelection } from '../../../shared/models/cd-table-selection';
import { RgwUserS3Key } from '../models/rgw-user-s3-key';
import { RgwUserSwiftKey } from '../models/rgw-user-swift-key';
-import {
- RgwUserS3KeyModalComponent
-} from '../rgw-user-s3-key-modal/rgw-user-s3-key-modal.component';
-import {
- RgwUserSwiftKeyModalComponent
-} from '../rgw-user-swift-key-modal/rgw-user-swift-key-modal.component';
+import { RgwUserS3KeyModalComponent } from '../rgw-user-s3-key-modal/rgw-user-s3-key-modal.component';
+import { RgwUserSwiftKeyModalComponent } from '../rgw-user-swift-key-modal/rgw-user-swift-key-modal.component';
@Component({
selector: 'cd-rgw-user-details',
styleUrls: ['./rgw-user-details.component.scss']
})
export class RgwUserDetailsComponent implements OnChanges, OnInit {
-
@ViewChild('accessKeyTpl') public accessKeyTpl: TemplateRef<any>;
@ViewChild('secretKeyTpl') public secretKeyTpl: TemplateRef<any>;
keysColumns: CdTableColumn[] = [];
keysSelection: CdTableSelection = new CdTableSelection();
- constructor(private rgwUserService: RgwUserService,
- private bsModalService: BsModalService) {}
+ constructor(private rgwUserService: RgwUserService, private bsModalService: BsModalService) {}
ngOnInit() {
this.keysColumns = [
// Load the user/bucket quota of the selected user.
if (this.user.tenant === '') {
- this.rgwUserService.getQuota(this.user.user_id)
- .subscribe((resp: object) => {
- _.extend(this.user, resp);
- });
+ this.rgwUserService.getQuota(this.user.user_id).subscribe((resp: object) => {
+ _.extend(this.user, resp);
+ });
}
// Process the keys.
showKeyModal() {
const key = this.keysSelection.first();
- const modalRef = this.bsModalService.show(key.type === 'S3' ?
- RgwUserS3KeyModalComponent : RgwUserSwiftKeyModalComponent);
+ const modalRef = this.bsModalService.show(
+ key.type === 'S3' ? RgwUserS3KeyModalComponent : RgwUserSwiftKeyModalComponent
+ );
switch (key.type) {
case 'S3':
modalRef.content.setViewing();
- modalRef.content.setValues(key.ref.user, key.ref.access_key,
- key.ref.secret_key);
+ modalRef.content.setValues(key.ref.user, key.ref.access_key, key.ref.secret_key);
break;
case 'Swift':
modalRef.content.setValues(key.ref.user, key.ref.secret_key);
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwUserFormComponent ],
- imports: [
- HttpClientTestingModule,
- ReactiveFormsModule,
- RouterTestingModule,
- SharedModule
- ],
- providers: [
- BsModalService,
- { provide: RgwUserService, useClass: MockRgwUserService }
- ]
- })
- .compileComponents();
+ declarations: [RgwUserFormComponent],
+ imports: [HttpClientTestingModule, ReactiveFormsModule, RouterTestingModule, SharedModule],
+ providers: [BsModalService, { provide: RgwUserService, useClass: MockRgwUserService }]
+ }).compileComponents();
}));
beforeEach(() => {
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwUserS3KeyModalComponent ],
- imports: [
- ReactiveFormsModule,
- SharedModule
- ],
- providers: [ BsModalRef ]
- })
- .compileComponents();
+ declarations: [RgwUserS3KeyModalComponent],
+ imports: [ReactiveFormsModule, SharedModule],
+ providers: [BsModalRef]
+ }).compileComponents();
}));
beforeEach(() => {
styleUrls: ['./rgw-user-s3-key-modal.component.scss']
})
export class RgwUserS3KeyModalComponent {
-
/**
* The event that is triggered when the 'Add' button as been pressed.
*/
viewing = true;
userCandidates: string[] = [];
- constructor(private formBuilder: FormBuilder,
- public bsModalRef: BsModalRef) {
+ constructor(private formBuilder: FormBuilder, public bsModalRef: BsModalRef) {
this.createForm();
this.listenToChanges();
}
createForm() {
this.formGroup = this.formBuilder.group({
- 'user': [
- null,
- [Validators.required]
- ],
- 'generate_key': [
- true
- ],
- 'access_key': [
- null,
- [CdValidators.requiredIf({'generate_key': false})]
- ],
- 'secret_key': [
- null,
- [CdValidators.requiredIf({'generate_key': false})]
- ]
+ user: [null, [Validators.required]],
+ generate_key: [true],
+ access_key: [null, [CdValidators.requiredIf({ generate_key: false })]],
+ secret_key: [null, [CdValidators.requiredIf({ generate_key: false })]]
});
}
// validated again if the status of their prerequisites have been changed.
this.formGroup.get('generate_key').valueChanges.subscribe(() => {
['access_key', 'secret_key'].forEach((path) => {
- this.formGroup.get(path).updateValueAndValidity({onlySelf: true});
+ this.formGroup.get(path).updateValueAndValidity({ onlySelf: true });
});
});
}
*/
setValues(user: string, access_key: string, secret_key: string) {
this.formGroup.setValue({
- 'user': user,
- 'generate_key': _.isEmpty(access_key),
- 'access_key': access_key,
- 'secret_key': secret_key
+ user: user,
+ generate_key: _.isEmpty(access_key),
+ access_key: access_key,
+ secret_key: secret_key
});
}
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwUserSubuserModalComponent ],
- imports: [
- ReactiveFormsModule,
- SharedModule
- ],
- providers: [ BsModalRef ]
- })
- .compileComponents();
+ declarations: [RgwUserSubuserModalComponent],
+ imports: [ReactiveFormsModule, SharedModule],
+ providers: [BsModalRef]
+ }).compileComponents();
}));
beforeEach(() => {
beforeEach(() => {
component.editing = false;
component.subusers = [
- {id: 'Edith', permissions: 'full-control'},
- {id: 'Edith:images', permissions: 'read-write'}
+ { id: 'Edith', permissions: 'full-control' },
+ { id: 'Edith:images', permissions: 'read-write' }
];
});
styleUrls: ['./rgw-user-subuser-modal.component.scss']
})
export class RgwUserSubuserModalComponent {
-
/**
* The event that is triggered when the 'Add' or 'Update' button
* has been pressed.
editing = true;
subusers: RgwUserSubuser[] = [];
- constructor(private formBuilder: FormBuilder,
- public bsModalRef: BsModalRef) {
+ constructor(private formBuilder: FormBuilder, public bsModalRef: BsModalRef) {
this.createForm();
this.listenToChanges();
}
createForm() {
this.formGroup = this.formBuilder.group({
- 'uid': [
- null
- ],
- 'subuid': [
- null,
- [
- Validators.required,
- this.subuserValidator()
- ]
- ],
- 'perm': [
- null,
- [Validators.required]
- ],
+ uid: [null],
+ subuid: [null, [Validators.required, this.subuserValidator()]],
+ perm: [null, [Validators.required]],
// Swift key
- 'generate_secret': [
- true
- ],
- 'secret_key': [
- null,
- [CdValidators.requiredIf({'generate_secret': false})]
- ]
+ generate_secret: [true],
+ secret_key: [null, [CdValidators.requiredIf({ generate_secret: false })]]
});
}
// validated again if the status of their prerequisites have been changed.
this.formGroup.get('generate_secret').valueChanges.subscribe(() => {
['secret_key'].forEach((path) => {
- this.formGroup.get(path).updateValueAndValidity({onlySelf: true});
+ this.formGroup.get(path).updateValueAndValidity({ onlySelf: true });
});
});
}
const found = self.subusers.some((subuser) => {
return _.isEqual(self.getSubuserName(subuser.id), control.value);
});
- return found ? {'subuserIdExists': true} : null;
+ return found ? { subuserIdExists: true } : null;
};
}
*/
setValues(uid: string, subuser: string = '', permissions: string = '') {
this.formGroup.setValue({
- 'uid': uid,
- 'subuid': this.getSubuserName(subuser),
- 'perm': permissions,
- 'generate_secret': true,
- 'secret_key': null
+ uid: uid,
+ subuid: this.getSubuserName(subuser),
+ perm: permissions,
+ generate_secret: true,
+ secret_key: null
});
}
// Get the values from the form and create an object that is sent
// by the triggered submit action event.
const values = this.formGroup.value;
- const subuser = new RgwUserSubuser;
+ const subuser = new RgwUserSubuser();
subuser.id = `${values.uid}:${values.subuid}`;
subuser.permissions = values.perm;
subuser.generate_secret = values.generate_secret;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ RgwUserSwiftKeyModalComponent ],
- imports: [
- FormsModule
- ],
- providers: [ BsModalRef ]
- })
- .compileComponents();
+ declarations: [RgwUserSwiftKeyModalComponent],
+ imports: [FormsModule],
+ providers: [BsModalRef]
+ }).compileComponents();
}));
beforeEach(() => {
styleUrls: ['./rgw-user-swift-key-modal.component.scss']
})
export class RgwUserSwiftKeyModalComponent {
-
user: string;
secret_key: string;
import { RgwBucketListComponent } from './rgw-bucket-list/rgw-bucket-list.component';
import { RgwDaemonDetailsComponent } from './rgw-daemon-details/rgw-daemon-details.component';
import { RgwDaemonListComponent } from './rgw-daemon-list/rgw-daemon-list.component';
-import {
- RgwUserCapabilityModalComponent
-} from './rgw-user-capability-modal/rgw-user-capability-modal.component';
+import { RgwUserCapabilityModalComponent } from './rgw-user-capability-modal/rgw-user-capability-modal.component';
import { RgwUserDetailsComponent } from './rgw-user-details/rgw-user-details.component';
import { RgwUserFormComponent } from './rgw-user-form/rgw-user-form.component';
import { RgwUserListComponent } from './rgw-user-list/rgw-user-list.component';
-import {
- RgwUserS3KeyModalComponent
-} from './rgw-user-s3-key-modal/rgw-user-s3-key-modal.component';
-import {
- RgwUserSubuserModalComponent
-} from './rgw-user-subuser-modal/rgw-user-subuser-modal.component';
-import {
- RgwUserSwiftKeyModalComponent
-} from './rgw-user-swift-key-modal/rgw-user-swift-key-modal.component';
+import { RgwUserS3KeyModalComponent } from './rgw-user-s3-key-modal/rgw-user-s3-key-modal.component';
+import { RgwUserSubuserModalComponent } from './rgw-user-subuser-modal/rgw-user-subuser-modal.component';
+import { RgwUserSwiftKeyModalComponent } from './rgw-user-swift-key-modal/rgw-user-swift-key-modal.component';
@NgModule({
entryComponents: [
RgwUserSubuserModalComponent
]
})
-export class RgwModule { }
+export class RgwModule {}
@Injectable()
export class RgwBucketService {
-
private url = '/api/rgw/proxy/bucket';
- constructor(private http: HttpClient) { }
+ constructor(private http: HttpClient) {}
/**
* Get the list of buckets.
* @return {Observable<Object[]>}
*/
list() {
- return this.enumerate()
- .flatMap((buckets: string[]) => {
- if (buckets.length > 0) {
- return Observable.forkJoin(
- buckets.map((bucket: string) => {
- return this.get(bucket);
- }));
- }
- return Observable.of([]);
- });
+ return this.enumerate().flatMap((buckets: string[]) => {
+ if (buckets.length > 0) {
+ return Observable.forkJoin(
+ buckets.map((bucket: string) => {
+ return this.get(bucket);
+ })
+ );
+ }
+ return Observable.of([]);
+ });
}
/**
get(bucket: string) {
let params = new HttpParams();
params = params.append('bucket', bucket);
- return this.http.get(this.url, {params: params});
+ return this.http.get(this.url, { params: params });
}
create(bucket: string, uid: string) {
const body = {
- 'bucket': bucket,
- 'uid': uid
+ bucket: bucket,
+ uid: uid
};
return this.http.post('/api/rgw/bucket', body);
}
params = params.append('bucket', bucket);
params = params.append('bucket-id', bucketId as string);
params = params.append('uid', uid);
- return this.http.put(this.url, null, {params: params});
+ return this.http.put(this.url, null, { params: params });
}
delete(bucket: string, purgeObjects = true) {
let params = new HttpParams();
params = params.append('bucket', bucket);
params = params.append('purge-objects', purgeObjects ? 'true' : 'false');
- return this.http.delete(this.url, {params: params});
+ return this.http.delete(this.url, { params: params });
}
/**
* @return {Observable<boolean>}
*/
exists(bucket: string) {
- return this.enumerate()
- .flatMap((resp: string[]) => {
- const index = _.indexOf(resp, bucket);
- return Observable.of(-1 !== index);
- });
+ return this.enumerate().flatMap((resp: string[]) => {
+ const index = _.indexOf(resp, bucket);
+ return Observable.of(-1 !== index);
+ });
}
}
@Injectable()
export class RgwDaemonService {
-
private url = 'api/rgw/daemon';
- constructor(private http: HttpClient) { }
+ constructor(private http: HttpClient) {}
list() {
return this.http.get(this.url);
@Injectable()
export class RgwUserService {
-
private url = '/api/rgw/proxy/user';
- constructor(private http: HttpClient) { }
+ constructor(private http: HttpClient) {}
/**
* Get the list of users.
* @return {Observable<Object[]>}
*/
list() {
- return this.enumerate()
- .flatMap((uids: string[]) => {
- if (uids.length > 0) {
- return Observable.forkJoin(
- uids.map((uid: string) => {
- return this.get(uid);
- }));
- }
- return Observable.of([]);
- });
+ return this.enumerate().flatMap((uids: string[]) => {
+ if (uids.length > 0) {
+ return Observable.forkJoin(
+ uids.map((uid: string) => {
+ return this.get(uid);
+ })
+ );
+ }
+ return Observable.of([]);
+ });
}
/**
get(uid: string) {
let params = new HttpParams();
params = params.append('uid', uid);
- return this.http.get(this.url, {params: params});
+ return this.http.get(this.url, { params: params });
}
getQuota(uid: string) {
let params = new HttpParams();
params = params.append('uid', uid);
- return this.http.get(`${this.url}?quota`, {params: params});
+ return this.http.get(`${this.url}?quota`, { params: params });
}
put(args: object) {
_.keys(args).forEach((key) => {
params = params.append(key, args[key]);
});
- return this.http.put(this.url, null, {params: params});
+ return this.http.put(this.url, null, { params: params });
}
putQuota(args: object) {
_.keys(args).forEach((key) => {
params = params.append(key, args[key]);
});
- return this.http.put(`${this.url}?quota`, null, {params: params});
+ return this.http.put(`${this.url}?quota`, null, { params: params });
}
post(args: object) {
_.keys(args).forEach((key) => {
params = params.append(key, args[key]);
});
- return this.http.post(this.url, null, {params: params});
+ return this.http.post(this.url, null, { params: params });
}
delete(uid: string) {
let params = new HttpParams();
params = params.append('uid', uid);
- return this.http.delete(this.url, {params: params});
+ return this.http.delete(this.url, { params: params });
}
- addSubuser(uid: string, subuser: string, permissions: string,
- secretKey: string, generateSecret: boolean) {
+ addSubuser(
+ uid: string,
+ subuser: string,
+ permissions: string,
+ secretKey: string,
+ generateSecret: boolean
+ ) {
const mapPermissions = {
'full-control': 'full',
'read-write': 'readwrite'
params = params.append('uid', uid);
params = params.append('subuser', subuser);
params = params.append('key-type', 'swift');
- params = params.append('access', (permissions in mapPermissions) ?
- mapPermissions[permissions] : permissions);
+ params = params.append(
+ 'access',
+ permissions in mapPermissions ? mapPermissions[permissions] : permissions
+ );
if (generateSecret) {
params = params.append('generate-secret', 'true');
} else {
params = params.append('secret-key', secretKey);
}
- return this.http.put(this.url, null, {params: params});
+ return this.http.put(this.url, null, { params: params });
}
deleteSubuser(uid: string, subuser: string) {
params = params.append('uid', uid);
params = params.append('subuser', subuser);
params = params.append('purge-keys', 'true');
- return this.http.delete(this.url, {params: params});
+ return this.http.delete(this.url, { params: params });
}
addCapability(uid: string, type: string, perm: string) {
let params = new HttpParams();
params = params.append('uid', uid);
params = params.append('user-caps', `${type}=${perm}`);
- return this.http.put(`${this.url}?caps`, null, {params: params});
+ return this.http.put(`${this.url}?caps`, null, { params: params });
}
deleteCapability(uid: string, type: string, perm: string) {
let params = new HttpParams();
params = params.append('uid', uid);
params = params.append('user-caps', `${type}=${perm}`);
- return this.http.delete(`${this.url}?caps`, {params: params});
+ return this.http.delete(`${this.url}?caps`, { params: params });
}
- addS3Key(uid: string, subuser: string, accessKey: string,
- secretKey: string, generateKey: boolean) {
+ addS3Key(
+ uid: string,
+ subuser: string,
+ accessKey: string,
+ secretKey: string,
+ generateKey: boolean
+ ) {
let params = new HttpParams();
params = params.append('uid', uid);
params = params.append('key-type', 's3');
params = params.append('secret-key', secretKey);
}
params = params.append('subuser', subuser);
- return this.http.put(`${this.url}?key`, null, {params: params});
+ return this.http.put(`${this.url}?key`, null, { params: params });
}
deleteS3Key(uid: string, accessKey: string) {
params = params.append('uid', uid);
params = params.append('key-type', 's3');
params = params.append('access-key', accessKey);
- return this.http.delete(`${this.url}?key`, {params: params});
+ return this.http.delete(`${this.url}?key`, { params: params });
}
/**
* @return {Observable<boolean>}
*/
exists(uid: string) {
- return this.enumerate()
- .flatMap((resp: string[]) => {
- const index = _.indexOf(resp, uid);
- return Observable.of(-1 !== index);
- });
+ return this.enumerate().flatMap((resp: string[]) => {
+ const index = _.indexOf(resp, uid);
+ return Observable.of(-1 !== index);
+ });
}
}