summaryrefslogtreecommitdiffstats
path: root/ui/imports/api/link-types
diff options
context:
space:
mode:
Diffstat (limited to 'ui/imports/api/link-types')
-rw-r--r--ui/imports/api/link-types/link-types.js86
-rw-r--r--ui/imports/api/link-types/methods.js114
-rw-r--r--ui/imports/api/link-types/server/publications.js46
3 files changed, 0 insertions, 246 deletions
diff --git a/ui/imports/api/link-types/link-types.js b/ui/imports/api/link-types/link-types.js
deleted file mode 100644
index 94d6ddd..0000000
--- a/ui/imports/api/link-types/link-types.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////////////////
-// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
-// /
-// All rights reserved. This program and the accompanying materials /
-// are made available under the terms of the Apache License, Version 2.0 /
-// which accompanies this distribution, and is available at /
-// http://www.apache.org/licenses/LICENSE-2.0 /
-/////////////////////////////////////////////////////////////////////////////////////////
-import { Mongo } from 'meteor/mongo';
-import { SimpleSchema } from 'meteor/aldeed:simple-schema';
-import * as R from 'ramda';
-import { Constants } from '/imports/api/constants/constants';
-//import { Environments } from '/imports/api/environments/environments';
-
-export const LinkTypes = new Mongo.Collection(
- 'link_types', { idGeneration: 'MONGO' });
-
-let schema = {
- _id: { type: { _str: { type: String, regEx: SimpleSchema.RegEx.Id } } },
- description: {
- type: String
- },
- type: {
- type: String
- },
- endPointA: {
- type: String,
- custom: function () {
- let that = this;
- let values = Constants.findOne({ name: 'object_types_for_links' }).data;
-
- if (R.isNil(R.find(R.propEq('value', that.value), values))) {
- return 'notAllowed';
- }
- }
- },
- endPointB: {
- type: String,
- custom: function () {
- let that = this;
- let values = Constants.findOne({ name: 'object_types_for_links' }).data;
-
- if (R.isNil(R.find(R.propEq('value', that.value), values))) {
- return 'notAllowed';
- }
- }
- }
-};
-
-let simpleSchema = new SimpleSchema(schema);
-
-simpleSchema.addValidator(function () {
- let that = this;
-
- let existing = LinkTypes.findOne({
- _id: { $ne: that.docId },
- endPointA: that.field('endPointA').value,
- endPointB: that.field('endPointB').value
- });
-
- if (R.allPass([
- R.pipe(R.isNil, R.not),
- R.pipe(R.propEq('_id', that.docId), R.not)
- ])(existing)) {
-
- return 'alreadyExists';
- }
-
- existing = LinkTypes.findOne({
- _id: { $ne: that.docId },
- endPointA: that.field('endPointB').value,
- endPointB: that.field('endPointA').value
- });
-
- if (R.allPass([
- R.pipe(R.isNil, R.not),
- R.pipe(R.propEq('_id', that.docId), R.not)
- ])(existing)) {
-
- return 'alreadyExists';
- }
-});
-
-LinkTypes.schema = simpleSchema;
-
-LinkTypes.attachSchema(LinkTypes.schema);
diff --git a/ui/imports/api/link-types/methods.js b/ui/imports/api/link-types/methods.js
deleted file mode 100644
index 846c28b..0000000
--- a/ui/imports/api/link-types/methods.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////////////////
-// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
-// /
-// All rights reserved. This program and the accompanying materials /
-// are made available under the terms of the Apache License, Version 2.0 /
-// which accompanies this distribution, and is available at /
-// http://www.apache.org/licenses/LICENSE-2.0 /
-/////////////////////////////////////////////////////////////////////////////////////////
-import { ValidatedMethod } from 'meteor/mdg:validated-method';
-import * as R from 'ramda';
-import { Roles } from 'meteor/alanning:roles';
-
-import { LinkTypes } from './link-types';
-
-export const insert = new ValidatedMethod({
- name: 'links_types.insert',
- validate: LinkTypes.simpleSchema()
- .pick([
- //'environment',
- 'description',
- 'endPointA',
- 'endPointB',
- ]).validator({ clean: true, filter: false }),
- run({
- //environment,
- description,
- endPointA,
- endPointB
- }) {
- if (! Roles.userIsInRole(Meteor.userId(), 'manage-link-types', Roles.GLOBAL_GROUP)) {
- throw new Meteor.Error('unauthorized for inserting link type');
- }
-
- let linkType = LinkTypes.schema.clean({
- });
-
- let type = calcTypeFromEndPoints(endPointA, endPointB);
-
- linkType = R.merge(linkType, {
- description,
- endPointA,
- endPointB,
- type
- });
-
- LinkTypes.insert(linkType);
- }
-});
-
-export const remove = new ValidatedMethod({
- name: 'links_types.remove',
- validate: LinkTypes.simpleSchema()
- .pick([
- '_id',
- ]).validator({ clean: true, filter: false }),
- run({
- _id
- }) {
- if (! Roles.userIsInRole(Meteor.userId(), 'manage-link-types', Roles.DEFAULT_GROUP)) {
- throw new Meteor.Error('unauthorized for removing link type');
- }
-
- let linkType = LinkTypes.findOne({ _id: _id });
- console.log('link type for remove: ', linkType);
- console.log('current user', Meteor.userId());
-
- LinkTypes.remove({ _id: _id });
- }
-});
-
-export const update = new ValidatedMethod({
- name: 'links_types.update',
- validate: LinkTypes.simpleSchema()
- .pick([
- '_id',
- 'description',
- 'endPointA',
- 'endPointB',
- ]).validator({ clean: true, filter: false }),
- run({
- _id,
- description,
- endPointA,
- endPointB
- }) {
- if (! Roles.userIsInRole(Meteor.userId(), 'manage-link-types', Roles.DEFAULT_GROUP)) {
- throw new Meteor.Error('unauthorized for updating link type');
- }
-
- let linkType = LinkTypes.findOne({ _id: _id });
- console.log('link type for update: ', linkType);
- console.log('current user', Meteor.userId());
-
- let type = calcTypeFromEndPoints(endPointA, endPointB);
-
- linkType = R.merge(R.pick([
- 'description',
- 'endPointA',
- 'endPointB',
- 'type'
- ], linkType), {
- description,
- endPointA,
- endPointB,
- type
- });
-
- LinkTypes.update({ _id: _id }, { $set: linkType });
- }
-});
-
-function calcTypeFromEndPoints(endPointA, endPointB) {
- return `${endPointA}-${endPointB}`;
-}
diff --git a/ui/imports/api/link-types/server/publications.js b/ui/imports/api/link-types/server/publications.js
deleted file mode 100644
index 6c6278f..0000000
--- a/ui/imports/api/link-types/server/publications.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////////////////
-// Copyright (c) 2017 Koren Lev (Cisco Systems), Yaron Yogev (Cisco Systems) and others /
-// /
-// All rights reserved. This program and the accompanying materials /
-// are made available under the terms of the Apache License, Version 2.0 /
-// which accompanies this distribution, and is available at /
-// http://www.apache.org/licenses/LICENSE-2.0 /
-/////////////////////////////////////////////////////////////////////////////////////////
-import { Meteor } from 'meteor/meteor';
-import * as R from 'ramda';
-
-import { LinkTypes } from '../link-types.js';
-
-Meteor.publish('link_types', function () {
- console.log('server subscribtion: link_types');
-
- //let that = this;
-
- let query = {};
- return LinkTypes.find(query);
-});
-
-Meteor.publish('link_types?env*', function (env) {
- console.log('server subscribtion: link_types?env*');
- console.log(env);
-
- //let that = this;
-
- let query = {};
- if (! R.isNil(env)) { query = R.assoc('environment', env, query); }
- console.log('-query: ', query);
- return LinkTypes.find(query);
-});
-
-Meteor.publish('link_types?_id', function (_id) {
- console.log('server subscribtion: link_types?_id');
- console.log(_id);
-
- //let that = this;
-
- let query = {
- _id: _id,
- };
- console.log('-query: ', query);
- return LinkTypes.find(query);
-});