aboutsummaryrefslogtreecommitdiff
path: root/db/migrate
Commit message (Collapse)AuthorAgeFilesLines
* Add model foundation for classificationshellekin2020-10-083-0/+45
| | | | | | | | Taxonomy > Category > Section This commit adds models for it. https://doc.incommon.cc/#classifications
* Fix resources migrationhellekin2020-10-061-1/+0
| | | | | | | t.references already creates an index, so the second index actually broke things. You may need to rebuild the database!
* Add Resource modelhellekin2020-10-061-0/+13
| | | | | | Resources will be stored as JSON, in the (GeoJSON) :feature column. They are assigned an UUID upon creation if they don't comme with one. They belong to an Agent.
* Ensure only one Agent exists for a given grouphellekin2020-10-061-0/+1
|
* Add Agent and Agency modelshellekin2020-10-052-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since IN COMMON is about collective management of data we're using the concept of Agent to describe a group of users acting together. In ActivityPub terms, Agent will be the Actor when manipulating data, so that any individual User (or application) member of this Agent will be able to manipulate data on behalf of this Agent. Therefore a User has many Agencies, and an Agent as well: the Agency model allows not only to create a joint table between Agents and Users, but also to manage User roles within the related Agent. Roles are defined as: - observer: one who can read and review or flag data - editor: one who create or edit data - maintainer: one who can edit data and manage maps - leader: one who can manage roles A User may have zero or more roles in an Agent. A User without a Agency record for a specific Agent will only be able to 'observe' public data from this Agent. (Note that this is not currently specified, but matches existing reflection on Agents) https://doc.incommon.cc/#agents
* Configure Discourse SSOhellekin2020-10-051-0/+15
We're creating a minimal User model that will be filled from SSO. We also configure Inflections so we can use SSO instead of Sso which looks weird for a module named after an acronym. Use Discourse as SSO: https://meta.discourse.org/t/using-discourse-as-a-sso-provider/32974