appwrite-utils-cli
Version:
Appwrite Utility Functions to help with database management, data conversion, data import, migrations, and much more. Meant to be used as a CLI tool, I do not recommend installing this in frontend environments.
150 lines (127 loc) • 2.87 kB
YAML
# yaml-language-server: $schema=../.yaml_schemas/collection.schema.json
# Collection Definition: Users
name: Users
id: 01JYDBQTB5W8SCBAYB654CCADQ
documentSecurity: false
enabled: true
permissions:
- permission: read
target: any
- permission: create
target: users
- permission: update
target: users
- permission: delete
target: users
attributes:
# Core Identity
- key: name
type: string
size: 100
required: true
description: "User's full name"
- key: email
type: email
required: true
description: "User's email address for authentication"
- key: username
type: string
size: 50
required: false
description: "Unique username handle"
# Profile Information
- key: avatar
type: string
size: 255
required: false
description: "User avatar file ID stored in Appwrite storage"
- key: phone
type: string
size: 20
required: false
description: "User's phone number"
- key: bio
type: string
size: 500
required: false
description: "User biography or description"
- key: dateOfBirth
type: datetime
required: false
description: "User's date of birth"
- key: location
type: string
size: 100
required: false
description: "User's location or city"
# User Management
- key: role
type: enum
elements: ["admin", "user", "moderator", "editor"]
required: true
default: "user"
description: "User's role in the system"
- key: isActive
type: boolean
required: true
default: true
description: "Whether the user account is active"
- key: isVerified
type: boolean
required: true
default: false
description: "Whether the user's email is verified"
# Statistics
- key: profileViews
type: integer
required: true
default: 0
min: 0
description: "Number of times user profile has been viewed"
- key: lastLoginAt
type: datetime
required: false
description: "Timestamp of user's last login"
# Social Links
- key: socialLinks
type: string
size: 1000
required: false
description: "JSON string of social media links"
# Preferences
- key: preferences
type: string
size: 2000
required: false
description: "JSON string of user preferences and settings"
indexes:
# Search indexes
- key: name_search
type: fulltext
attributes:
- name
- key: bio_search
type: fulltext
attributes:
- bio
# Unique constraints
- key: email_unique
type: unique
attributes:
- email
- key: username_unique
type: unique
attributes:
- username
# Query optimization
- key: role_active
type: key
attributes:
- role
- isActive
- key: verified_active
type: key
attributes:
- isVerified
- isActive
importDefs: []