diff --git a/api/src/database/seeds/01-tables/07-files.yaml b/api/src/database/seeds/01-tables/07-files.yaml index b68f211774..c084a846eb 100644 --- a/api/src/database/seeds/01-tables/07-files.yaml +++ b/api/src/database/seeds/01-tables/07-files.yaml @@ -35,6 +35,13 @@ columns: type: timestamp nullable: false default: '$now' + modified_by: + type: uuid + references: + table: directus_users + column: id + modified_on: + type: timestamp charset: type: string length: 50 diff --git a/api/src/database/seeds/03-fields/02-roles.yaml b/api/src/database/seeds/03-fields/02-roles.yaml index 91ccdc4b79..3a59c5936e 100644 --- a/api/src/database/seeds/03-fields/02-roles.yaml +++ b/api/src/database/seeds/03-fields/02-roles.yaml @@ -77,7 +77,7 @@ fields: locked: true options: template: '{{ name }}' - createItemText: Add Module + addLabel: Add New Module... fields: - name: Icon field: icon @@ -112,7 +112,7 @@ fields: locked: true options: template: '{{ group_name }}' - createItemText: Add Group + addLabel: Add New Group... fields: - name: Group Name field: group_name @@ -123,7 +123,9 @@ fields: options: iconRight: title placeholder: Label this group... - - name: Accordion + schema: + is_nullable: false + - name: Type field: accordion type: string schema: @@ -145,7 +147,7 @@ fields: meta: interface: repeater options: - createItemText: Add Collection + addLabel: Add New Collection... template: '{{ collection }}' fields: - name: Collection @@ -154,6 +156,8 @@ fields: meta: interface: collection width: full + schema: + is_nullable: false special: json sort: 10 width: full diff --git a/api/src/database/seeds/03-fields/05-files.yaml b/api/src/database/seeds/03-fields/05-files.yaml index f36cf0561e..27554000c0 100644 --- a/api/src/database/seeds/03-fields/05-files.yaml +++ b/api/src/database/seeds/03-fields/05-files.yaml @@ -33,6 +33,7 @@ fields: special: json sort: 3 width: full + display: tags - collection: directus_files field: location interface: text-input @@ -91,3 +92,23 @@ fields: - collection: directus_files field: filesize display: filesize + - collection: directus_files + field: modified_by + interface: user + locked: true + special: user-updated + width: half + display: user + - collection: directus_files + field: modified_on + interface: dateTime + locked: true + special: date-updated + width: half + display: datetime + - collection: directus_files + field: created_on + display: datetime + - collection: directus_files + field: created_by + display: user \ No newline at end of file diff --git a/api/src/utils/get-ast-from-query.ts b/api/src/utils/get-ast-from-query.ts index 824d595292..40a1ab158c 100644 --- a/api/src/utils/get-ast-from-query.ts +++ b/api/src/utils/get-ast-from-query.ts @@ -133,11 +133,13 @@ export default async function getASTFromQuery( } async function convertWildcards(parentCollection: string, fields: string[]) { + const fieldsInCollection = await getFieldsInCollection(parentCollection); + const allowedFields = permissions ? permissions .find((permission) => parentCollection === permission.collection) ?.fields?.split(',') - : ['*']; + : fieldsInCollection; if (!allowedFields || allowedFields.length === 0) return []; @@ -149,7 +151,6 @@ export default async function getASTFromQuery( if (fieldKey === '*') { // Set to all fields in collection if (allowedFields.includes('*')) { - const fieldsInCollection = await getFieldsInCollection(parentCollection); fields.splice(index, 1, ...fieldsInCollection); } else { // Set to all allowed fields diff --git a/app/src/components/v-list/v-list-group.vue b/app/src/components/v-list/v-list-group.vue index bf9f904e21..cc1cf7f8e2 100644 --- a/app/src/components/v-list/v-list-group.vue +++ b/app/src/components/v-list/v-list-group.vue @@ -1,6 +1,6 @@ diff --git a/app/src/interfaces/repeater/repeater.vue b/app/src/interfaces/repeater/repeater.vue index d34de04600..2644d07f30 100644 --- a/app/src/interfaces/repeater/repeater.vue +++ b/app/src/interfaces/repeater/repeater.vue @@ -10,6 +10,7 @@ @input="updateValues(index, $event)" @delete="removeItem(row)" :disabled="disabled" + :headerPlaceholder="headerPlaceholder" />