import {Mongo} from "meteor/mongo";
import {Meteor} from "meteor/meteor";
import { check } from 'meteor/check';
import { Roles } from 'meteor/alanning:roles';
//import SimpleSchema from "simpl-schema";
import {AssetTypes} from "./asset-types";

export const AssetAssignments = new Mongo.Collection('assetAssignments');
/*
const TYPE_STUDENT = 1;
const TYPE_STAFF = 2;

const AssetAssignmentsSchema = new SimpleSchema({
	assetId: {
		type: String,
		label: "Asset ID",
		optional: false,
		index: 1,
		unique: false
	},
	assigneeId: {
		type: String,
		label: "Assignee ID",
		optional: false,
	},
	assigneeType: {
		type: SimpleSchema.Integer,
		label: "Assignee Type",
		optional: false,
		min: 1,
		max: 2,
		exclusiveMin: false,
		exclusiveMax: false,
	},
});

AssetAssignments.attachSchema(AssetAssignmentsSchema);
*/

if (Meteor.isServer) {
	// Drop any old indexes we no longer will use.  Create indexes we need.
	//try {AssetTypes._dropIndex("name")} catch(e) {}
	//AssetTypes.createIndex({name: "text"}, {name: "name", unique: false});
	AssetTypes.createIndex({assetId: 1}, {name: "AssetID", unique: false});

	// This code only runs on the server
	Meteor.publish('assetAssignments', function() {
		return AssetAssignments.find({});
	});
}
Meteor.methods({
	'assetAssignments.add'(assetId) {
		// check(assetTypeId, String);
		// check(assetId, String);

		if(Roles.userIsInRole(Meteor.userId(), "admin", {anyScope:true})) {
			// Assets.insert({assetTypeId, assetId});
		}
	},
	'assetAssignments.remove'(_id) {
		check(_id, String);

		if(Roles.userIsInRole(Meteor.userId(), "admin", {anyScope:true})) {
			//TODO: Need to first verify there are no checked out assets to the staff member.
		}
	},
});

