Teams/Organizations part 1, in progress. Add table: org

Thanks to xet7 !

Related  #802
This commit is contained in:
Lauri Ojansivu 2019-07-15 19:39:30 +03:00
parent 2b1ba0b8f8
commit 2cedbcb9b3
5 changed files with 127 additions and 0 deletions

View file

@ -93,3 +93,4 @@ meteorhacks:picker
lamhieu:unblock
meteorhacks:aggregate@1.3.0
wekan-markdown
konecty:mongo-counter

View file

@ -79,6 +79,7 @@ kadira:blaze-layout@2.3.0
kadira:dochead@1.5.0
kadira:flow-router@2.12.1
kenton:accounts-sandstorm@0.7.0
konecty:mongo-counter@0.0.5_3
lamhieu:meteorx@2.0.1
lamhieu:unblock@1.0.0
launch-screen@1.1.1

1
models/counters.js Normal file
View file

@ -0,0 +1 @@
Counters = new Mongo.Collection('counters');

121
models/org.js Normal file
View file

@ -0,0 +1,121 @@
Org = new Mongo.Collection('org');
/**
* A Organization in wekan
*/
Org.attachSchema(
new SimpleSchema({
id: {
/**
* the organization id
*/
type: Number,
optional: true,
// eslint-disable-next-line consistent-return
autoValue() {
if (this.isInsert && !this.isSet) {
return incrementCounter('counters', 'org_id', 1);
}
},
},
version: {
/**
* the version of the organization
*/
type: Number,
optional: true,
},
name: {
/**
* name of the organization
*/
type: String,
optional: true,
max: 190,
},
address1: {
/**
* address1 of the organization
*/
type: String,
optional: true,
max: 255,
},
address2: {
/**
* address2 of the organization
*/
type: String,
optional: true,
max: 255,
},
city: {
/**
* city of the organization
*/
type: String,
optional: true,
max: 255,
},
state: {
/**
* state of the organization
*/
type: String,
optional: true,
max: 255,
},
zip_code: {
/**
* zip_code of the organization
*/
type: String,
optional: true,
max: 50,
},
country: {
/**
* country of the organization
*/
type: String,
optional: true,
max: 255,
},
billing_email: {
/**
* billing_email of the organization
*/
type: String,
optional: true,
max: 255,
},
createdAt: {
/**
* creation date of the organization
*/
type: Date,
// eslint-disable-next-line consistent-return
autoValue() {
if (this.isInsert) {
return new Date();
} else {
this.unset();
}
},
},
modifiedAt: {
type: Date,
denyUpdate: false,
// eslint-disable-next-line consistent-return
autoValue() {
if (this.isInsert || this.isUpsert || this.isUpdate) {
return new Date();
} else {
this.unset();
}
},
},
}),
);
export default Org;

View file

@ -17,6 +17,7 @@ import Swimlanes from '../models/swimlanes';
import Triggers from '../models/triggers';
import UnsavedEdits from '../models/unsavedEdits';
import Users from '../models/users';
import Org from '../models/org';
// Anytime you change the schema of one of the collection in a non-backward
// compatible way you have to write a migration in this file using the following
@ -703,6 +704,7 @@ const firstBatchOfDbsToAddCreatedAndUpdated = [
Swimlanes,
Triggers,
UnsavedEdits,
Org,
];
firstBatchOfDbsToAddCreatedAndUpdated.forEach(db => {
@ -737,6 +739,7 @@ const modifiedAtTables = [
Triggers,
UnsavedEdits,
Users,
Org,
];
Migrations.add('add-missing-created-and-modified', () => {