mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import { v4 as uuid } from 'uuid'
|
|
|
|
export default {
|
|
id: { type: 'string', primary: true, default: uuid }, // TODO: should be type: 'uuid' but simplified for our tests
|
|
name: { type: 'string', disallow: [null], min: 3 },
|
|
slug: { type: 'string', unique: 'true', regex: /^[a-z0-9_-]+$/, lowercase: true },
|
|
|
|
createdAt: {
|
|
type: 'string',
|
|
isoDate: true,
|
|
required: true,
|
|
default: () => new Date().toISOString(),
|
|
},
|
|
updatedAt: {
|
|
type: 'string',
|
|
isoDate: true,
|
|
required: true,
|
|
default: () => new Date().toISOString(),
|
|
},
|
|
deleted: { type: 'boolean', default: false },
|
|
disabled: { type: 'boolean', default: false },
|
|
|
|
avatar: {
|
|
type: 'relationship',
|
|
relationship: 'AVATAR_IMAGE',
|
|
target: 'Image',
|
|
direction: 'out',
|
|
},
|
|
|
|
about: { type: 'string', allow: [null, ''] },
|
|
description: { type: 'string', disallow: [null], min: 100 },
|
|
descriptionExcerpt: { type: 'string', allow: [null] },
|
|
groupType: { type: 'string', default: 'public' },
|
|
actionRadius: { type: 'string', default: 'regional' },
|
|
|
|
myRole: { type: 'string', default: 'pending' },
|
|
|
|
locationName: { type: 'string', allow: [null] },
|
|
|
|
isIn: {
|
|
type: 'relationship',
|
|
relationship: 'IS_IN',
|
|
target: 'Location',
|
|
direction: 'out',
|
|
},
|
|
}
|