# _collections

id: _pb_users_auth_
type: auth
name: users
viewRule: id = @request.auth.id
updateRule: id = @request.auth.id
deleteRule: id = @request.auth.id
created: 2022-10-10 09:49:46.145Z
updated: 2025-11-10 15:33:37.841Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"cost":10,"hidden":true,"id":"_pbf_auth_password_","max":0,"min":8,"name":"password","pattern":"","presentable":false,"required":true,"system":true,"type":"password"},{"autogeneratePattern":"[a-zA-Z0-9_]{50}","hidden":true,"id":"_pbf_auth_tokenKey_","max":60,"min":30,"name":"tokenKey","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"exceptDomains":null,"hidden":false,"id":"_pbf_auth_email_","name":"email","onlyDomains":null,"presentable":false,"required":false,"system":true,"type":"email"},{"hidden":false,"id":"_pbf_auth_emailVisibility_","name":"emailVisibility","presentable":false,"required":false,"system":true,"type":"bool"},{"hidden":false,"id":"_pbf_auth_verified_","name":"verified","presentable":false,"required":false,"system":true,"type":"bool"},{"autogeneratePattern":"users[0-9]{5}","hidden":false,"id":"_pbf_auth_username_","max":150,"min":3,"name":"username","pattern":"^[\\w][\\w\\.\\-]*$","presentable":false,"primaryKey":false,"required":true,"system":false,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"users_name","max":0,"min":0,"name":"name","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":false,"type":"text"},{"hidden":false,"id":"users_avatar","maxSelect":1,"maxSize":5242880,"mimeTypes":["image/jpg","image/jpeg","image/png","image/svg+xml","image/gif"],"name":"avatar","presentable":false,"protected":false,"required":false,"system":false,"thumbs":["70x50","70x50t","70x50b","70x50f","0x50","70x0"],"type":"file"},{"hidden":false,"id":"xtecur3m","maxSelect":5,"maxSize":5242880,"mimeTypes":null,"name":"file","presentable":false,"protected":false,"required":false,"system":false,"thumbs":null,"type":"file"},{"cascadeDelete":false,"collectionId":"sz5l5z67tg7gku0","hidden":false,"id":"lkeigvv3","maxSelect":1,"minSelect":0,"name":"rel","presentable":false,"required":false,"system":false,"type":"relation"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]

options:
  {"authRule":"","manageRule":null,"authAlert":{"enabled":true,"emailTemplate":{"subject":"Login from a new location","body":"\u003cp\u003eHello {RECORD:name}{RECORD:tokenKey},\u003c/p\u003e\n\u003cp\u003eWe noticed a login to your {APP_NAME} account from a new location:\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e{ALERT_INFO}\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eIf this was you, you may disregard this email.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf this wasn't you, you should immediately change your {APP_NAME} account password to revoke access from all other locations.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"oauth2":{"providers":[{"pkce":null,"name":"gitlab","clientId":"test1","clientSecret":"test2","authURL":"","tokenURL":"","userInfoURL":"","displayName":"","extra":null},{"pkce":null,"name":"google","clientId":"test","clientSecret":"test2","authURL":"","tokenURL":"","userInfoURL":"","displayName":"","extra":null}],"mappedFields":{"id":"","name":"","username":"username","avatarURL":""},"enabled":true},"passwordAuth":{"enabled":true,"identityFields":["email","username"]},"mfa":{"enabled":true,"duration":1800,"rule":""},"otp":{"enabled":true,"duration":300,"length":8,"emailTemplate":{"subject":"OTP for {APP_NAME}","body":"\u003cp\u003eHello {RECORD:name}{RECORD:tokenKey},\u003c/p\u003e\n\u003cp\u003eYour one-time password is: \u003cstrong\u003e{OTP}\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask for the one-time password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"authToken":{"secret":"PjVU4hAV7CZIWbCByJHkDcMUlSEWCLI6M5aWSZOpEq0a3rYxKT","duration":1209600},"passwordResetToken":{"secret":"BC6jYPe4JXpQGGNzu6VXtYw0yhKoH2mh2ezIJClOJQuZYrd4Ol","duration":1800},"emailChangeToken":{"secret":"eON2TTJZiGCEi7mvUvwMLADj8CMHQzwZN3gmyMjQb24EY08ATP","duration":1800},"verificationToken":{"secret":"dgGGHlzzdCJ2C5MjXGoondllwSXkJHyL50FuvLvXGHNmBhvGKO","duration":604800},"fileToken":{"secret":"4Ax9zDm2Rwtny81dGaGQrJQBnIx5wVOuNe89X6v7NbNzrAZhvn","duration":180},"verificationTemplate":{"subject":"Verify your {APP_NAME} email","body":"\u003cp\u003eHello {RECORD:name}{RECORD:tokenKey},\u003c/p\u003e\n\u003cp\u003eThank you for joining us at {APP_NAME}.\u003c/p\u003e\n\u003cp\u003eClick on the button below to verify your email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-verification/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eVerify\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"resetPasswordTemplate":{"subject":"Reset your {APP_NAME} password","body":"\u003cp\u003eHello {RECORD:name}{RECORD:tokenKey},\u003c/p\u003e\n\u003cp\u003eClick on the button below to reset your password.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-password-reset/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eReset password\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to reset your password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"confirmEmailChangeTemplate":{"subject":"Confirm your {APP_NAME} new email address","body":"\u003cp\u003eHello {RECORD:name}{RECORD:tokenKey},\u003c/p\u003e\n\u003cp\u003eClick on the button below to confirm your new email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-email-change/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eConfirm new email\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to change your email address, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}}

indexes:
  ["CREATE UNIQUE INDEX `__pb_users_auth__username_idx` ON `users` (username)","CREATE UNIQUE INDEX `__pb_users_auth__email_idx` ON `users` (email) WHERE email != ''","CREATE UNIQUE INDEX `__pb_users_auth__tokenKey_idx` ON `users` (tokenKey)","CREATE INDEX `__pb_users_auth__created_idx` ON `users` (`created`)"]


id: wsmn24bux7wo113
type: base
name: demo1
options: {}
created: 2022-10-10 09:51:19.868Z
updated: 2025-04-02 11:04:29.260Z
indexes: ["CREATE INDEX `_wsmn24bux7wo113_created_idx` ON `demo1` (`created`)"]
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"u7spsiph","max":0,"min":0,"name":"text","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":false,"type":"text"},{"hidden":false,"id":"puk534el","name":"bool","presentable":false,"required":false,"system":false,"type":"bool"},{"exceptDomains":null,"hidden":false,"id":"ktas5n7b","name":"url","onlyDomains":null,"presentable":false,"required":false,"system":false,"type":"url"},{"hidden":false,"id":"dc4abz4i","maxSelect":1,"name":"select_one","presentable":false,"required":false,"system":false,"type":"select","values":["optionA","optionB","optionC"]},{"hidden":false,"id":"owtlq7zl","maxSelect":3,"name":"select_many","presentable":false,"required":false,"system":false,"type":"select","values":["optionA","optionB","optionC"]},{"hidden":false,"id":"4ulkdevf","maxSelect":1,"maxSize":5242880,"mimeTypes":null,"name":"file_one","presentable":false,"protected":true,"required":false,"system":false,"thumbs":null,"type":"file"},{"hidden":false,"id":"fjzhrsvq","maxSelect":99,"maxSize":5242880,"mimeTypes":null,"name":"file_many","presentable":false,"protected":false,"required":false,"system":false,"thumbs":null,"type":"file"},{"hidden":false,"id":"1z1ld0i5","max":null,"min":null,"name":"number","onlyInt":false,"presentable":false,"required":false,"system":false,"type":"number"},{"exceptDomains":null,"hidden":false,"id":"khvhpwgj","name":"email","onlyDomains":null,"presentable":false,"required":false,"system":false,"type":"email"},{"hidden":false,"id":"ro6p02gk","max":"","min":"","name":"datetime","presentable":false,"required":false,"system":false,"type":"date"},{"hidden":false,"id":"ei2fg4v1","maxSize":5242880,"name":"json","presentable":false,"required":false,"system":false,"type":"json"},{"cascadeDelete":false,"collectionId":"wsmn24bux7wo113","hidden":false,"id":"zaedritp","maxSelect":1,"minSelect":0,"name":"rel_one","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":true,"collectionId":"_pb_users_auth_","hidden":false,"id":"t9bpk2ug","maxSelect":9999,"minSelect":0,"name":"rel_many","presentable":false,"required":false,"system":false,"type":"relation"},{"hidden":false,"id":"geoPoint3081106212","name":"point","presentable":false,"required":false,"system":false,"type":"geoPoint"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]


id: sz5l5z67tg7gku0
type: base
name: demo2
options: {}
created: 2022-10-10 09:51:28.452Z
updated: 2023-03-20 16:39:25.211Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"mkrguaaf","max":0,"min":2,"name":"title","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":false,"type":"text"},{"hidden":false,"id":"izkl5z2s","name":"active","presentable":false,"required":false,"system":false,"type":"bool"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]

indexes:
  ["CREATE INDEX `idx_demo2_created` ON `demo2` (`created`)","CREATE UNIQUE INDEX \"idx_unique_demo2_title\" on \"demo2\" (\"title\")","CREATE INDEX \"idx_demo2_active\" ON \"demo2\" (\n\"active\"\n)"]


id: wzlqyes4orhoygb
type: base
name: demo3
listRule: @request.auth.id != "" && @request.auth.collectionName != "users"
viewRule: @request.auth.id != "" && @request.auth.collectionName != "users"
createRule: @request.auth.id != "" && @request.auth.collectionName != "users"
updateRule: @request.auth.id != "" && @request.auth.collectionName != "users"
deleteRule: @request.auth.id != "" && @request.auth.collectionName != "users"
options: {}
created: 2022-10-10 09:51:36.853Z
updated: 2023-11-20 18:26:53.176Z
indexes: ["CREATE INDEX `_wzlqyes4orhoygb_created_idx` ON `demo3` (`created`)"]
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"w5z2x0nq","max":0,"min":0,"name":"title","pattern":"","presentable":true,"primaryKey":false,"required":false,"system":false,"type":"text"},{"hidden":false,"id":"tgqrbwio","maxSelect":99,"maxSize":5242880,"mimeTypes":null,"name":"files","presentable":false,"protected":false,"required":false,"system":false,"thumbs":null,"type":"file"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]


id: 4d1blo5cuycfaca
type: base
name: demo4
createRule: @request.auth.collectionName = 'users'
updateRule: @request.auth.collectionName = 'users'
options: {}
created: 2022-10-10 09:51:47.770Z
updated: 2024-09-01 12:15:28.332Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"erkxnabw","max":0,"min":0,"name":"title","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":false,"type":"text"},{"cascadeDelete":false,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"t5jskeyz","maxSelect":1,"minSelect":0,"name":"rel_one_no_cascade","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"ldrcjhk8","maxSelect":1,"minSelect":0,"name":"rel_one_no_cascade_required","presentable":false,"required":true,"system":false,"type":"relation"},{"cascadeDelete":true,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"pl5lcd4y","maxSelect":1,"minSelect":0,"name":"rel_one_cascade","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"jz0oue3z","maxSelect":999,"minSelect":0,"name":"rel_many_no_cascade","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"bsxyqrhb","maxSelect":999,"minSelect":0,"name":"rel_many_no_cascade_required","presentable":false,"required":true,"system":false,"type":"relation"},{"cascadeDelete":true,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"kwmchnf7","maxSelect":999,"minSelect":0,"name":"rel_many_cascade","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"pmynkqk5","maxSelect":1,"minSelect":0,"name":"rel_one_unique","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"wzlqyes4orhoygb","hidden":false,"id":"mjzyk9vb","maxSelect":999,"minSelect":0,"name":"rel_many_unique","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"4d1blo5cuycfaca","hidden":false,"id":"dagiyxj4","maxSelect":1,"minSelect":0,"name":"self_rel_one","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"4d1blo5cuycfaca","hidden":false,"id":"tsrki8kc","maxSelect":999,"minSelect":0,"name":"self_rel_many","presentable":false,"required":false,"system":false,"type":"relation"},{"hidden":false,"id":"4wpx0hhx","maxSize":5242880,"name":"json_array","presentable":false,"required":false,"system":false,"type":"json"},{"hidden":false,"id":"ufpwiqnx","maxSize":5242880,"name":"json_object","presentable":false,"required":false,"system":false,"type":"json"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]

indexes:
  ["CREATE INDEX `_4d1blo5cuycfaca_created_idx` ON `demo4` (`created`)","CREATE UNIQUE INDEX `idx_luoQV2A` ON `demo4` (`rel_one_unique`) WHERE rel_one_unique != ''","CREATE UNIQUE INDEX `idx_IjL94ze` ON `demo4` (`rel_many_unique`) WHERE rel_many_unique != '[]'"]


id: v851q4r790rhknl
type: auth
name: clients
created: 2022-10-11 09:41:36.712Z
updated: 2025-11-10 15:33:30.519Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"cost":10,"hidden":true,"id":"_pbf_auth_password_","max":0,"min":8,"name":"password","pattern":"","presentable":false,"required":true,"system":true,"type":"password"},{"autogeneratePattern":"[a-zA-Z0-9_]{50}","hidden":true,"id":"_pbf_auth_tokenKey_","max":60,"min":30,"name":"tokenKey","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"exceptDomains":null,"hidden":false,"id":"_pbf_auth_email_","name":"email","onlyDomains":null,"presentable":false,"required":true,"system":true,"type":"email"},{"hidden":false,"id":"_pbf_auth_emailVisibility_","name":"emailVisibility","presentable":false,"required":false,"system":true,"type":"bool"},{"hidden":false,"id":"_pbf_auth_verified_","name":"verified","presentable":false,"required":false,"system":true,"type":"bool"},{"autogeneratePattern":"users[0-9]{5}","hidden":false,"id":"_pbf_auth_username_","max":150,"min":3,"name":"username","pattern":"^[\\w][\\w\\.\\-]*$","presentable":false,"primaryKey":false,"required":true,"system":false,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"lacorw19","max":0,"min":0,"name":"name","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":false,"type":"text"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]

options:
  {"authRule":"verified=true","manageRule":null,"authAlert":{"enabled":true,"emailTemplate":{"subject":"Login from a new location","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eWe noticed a login to your {APP_NAME} account from a new location:\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e{ALERT_INFO}\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf this wasn't you, you should immediately change your {APP_NAME} account password to revoke access from all other locations.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIf this was you, you may disregard this email.\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"oauth2":{"providers":[],"mappedFields":{"id":"","name":"","username":"username","avatarURL":""},"enabled":false},"passwordAuth":{"enabled":true,"identityFields":["email","username"]},"mfa":{"enabled":false,"duration":1800,"rule":""},"otp":{"enabled":false,"duration":300,"length":8,"emailTemplate":{"subject":"OTP for {APP_NAME}","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eYour one-time password is: \u003cstrong\u003e{OTP}\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask for the one-time password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"authToken":{"secret":"PjVU4hAV7CZIWbCByJHkDcMUlSEWCLI6M5aWSZOpEq0a3rYxKT","duration":1209600},"passwordResetToken":{"secret":"BC6jYPe4JXpQGGNzu6VXtYw0yhKoH2mh2ezIJClOJQuZYrd4Ol","duration":1800},"emailChangeToken":{"secret":"eON2TTJZiGCEi7mvUvwMLADj8CMHQzwZN3gmyMjQb24EY08ATP","duration":1800},"verificationToken":{"secret":"dgGGHlzzdCJ2C5MjXGoondllwSXkJHyL50FuvLvXGHNmBhvGKO","duration":604800},"fileToken":{"secret":"4Ax9zDm2Rwtny81dGaGQrJQBnIx5wVOuNe89X6v7NbNzrAZhvn","duration":180},"verificationTemplate":{"subject":"Verify your {APP_NAME} email","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eThank you for joining us at {APP_NAME}.\u003c/p\u003e\n\u003cp\u003eClick on the button below to verify your email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-verification/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eVerify\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"resetPasswordTemplate":{"subject":"Reset your {APP_NAME} password","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eClick on the button below to reset your password.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-password-reset/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eReset password\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to reset your password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"confirmEmailChangeTemplate":{"subject":"Confirm your {APP_NAME} new email address","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eClick on the button below to confirm your new email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-email-change/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eConfirm new email\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to change your email address, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}}

indexes:
  ["CREATE UNIQUE INDEX `_v851q4r790rhknl_username_idx` ON `clients` (username)","CREATE UNIQUE INDEX `_v851q4r790rhknl_email_idx` ON `clients` (email) WHERE email != ''","CREATE UNIQUE INDEX `_v851q4r790rhknl_tokenKey_idx` ON `clients` (tokenKey)","CREATE INDEX `_v851q4r790rhknl_created_idx` ON `clients` (`created`)"]


id: kpv709sk2lqbqk8
type: auth
name: nologin
created: 2022-10-12 10:39:21.294Z
updated: 2025-11-10 15:34:06.288Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"cost":10,"hidden":true,"id":"_pbf_auth_password_","max":0,"min":8,"name":"password","pattern":"","presentable":false,"required":true,"system":true,"type":"password"},{"autogeneratePattern":"[a-zA-Z0-9_]{50}","hidden":true,"id":"_pbf_auth_tokenKey_","max":60,"min":30,"name":"tokenKey","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"exceptDomains":null,"hidden":false,"id":"_pbf_auth_email_","name":"email","onlyDomains":null,"presentable":false,"required":true,"system":true,"type":"email"},{"hidden":false,"id":"_pbf_auth_emailVisibility_","name":"emailVisibility","presentable":false,"required":false,"system":true,"type":"bool"},{"hidden":false,"id":"_pbf_auth_verified_","name":"verified","presentable":false,"required":false,"system":true,"type":"bool"},{"autogeneratePattern":"users[0-9]{5}","hidden":false,"id":"_pbf_auth_username_","max":150,"min":3,"name":"username","pattern":"^[\\w][\\w\\.\\-]*$","presentable":false,"primaryKey":false,"required":true,"system":false,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"x8zzktwe","max":0,"min":0,"name":"name","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":false,"type":"text"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]

options:
  {"authRule":"","manageRule":"@request.auth.collectionName = 'users'","authAlert":{"enabled":true,"emailTemplate":{"subject":"Login from a new location","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eWe noticed a login to your {APP_NAME} account from a new location:\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e{ALERT_INFO}\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf this wasn't you, you should immediately change your {APP_NAME} account password to revoke access from all other locations.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIf this was you, you may disregard this email.\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"oauth2":{"providers":[{"pkce":null,"name":"gitlab","clientId":"test","clientSecret":"test","authURL":"","tokenURL":"","userInfoURL":"","displayName":"","extra":null}],"mappedFields":{"id":"","name":"","username":"username","avatarURL":""},"enabled":false},"passwordAuth":{"enabled":false,"identityFields":["email"]},"mfa":{"enabled":false,"duration":1800,"rule":""},"otp":{"enabled":false,"duration":300,"length":8,"emailTemplate":{"subject":"OTP for {APP_NAME}","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eYour one-time password is: \u003cstrong\u003e{OTP}\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask for the one-time password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"authToken":{"secret":"PjVU4hAV7CZIWbCByJHkDcMUlSEWCLI6M5aWSZOpEq0a3rYxKT","duration":1209600},"passwordResetToken":{"secret":"BC6jYPe4JXpQGGNzu6VXtYw0yhKoH2mh2ezIJClOJQuZYrd4Ol","duration":1800},"emailChangeToken":{"secret":"eON2TTJZiGCEi7mvUvwMLADj8CMHQzwZN3gmyMjQb24EY08ATP","duration":1800},"verificationToken":{"secret":"dgGGHlzzdCJ2C5MjXGoondllwSXkJHyL50FuvLvXGHNmBhvGKO","duration":604800},"fileToken":{"secret":"4Ax9zDm2Rwtny81dGaGQrJQBnIx5wVOuNe89X6v7NbNzrAZhvn","duration":180},"verificationTemplate":{"subject":"Verify your {APP_NAME} email","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eThank you for joining us at {APP_NAME}.\u003c/p\u003e\n\u003cp\u003eClick on the button below to verify your email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-verification/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eVerify\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"resetPasswordTemplate":{"subject":"Reset your {APP_NAME} password","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eClick on the button below to reset your password.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-password-reset/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eReset password\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to reset your password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"confirmEmailChangeTemplate":{"subject":"Confirm your {APP_NAME} new email address","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eClick on the button below to confirm your new email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-email-change/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eConfirm new email\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to change your email address, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}}

indexes:
  ["CREATE UNIQUE INDEX `_kpv709sk2lqbqk8_username_idx` ON `nologin` (username)","CREATE UNIQUE INDEX `_kpv709sk2lqbqk8_email_idx` ON `nologin` (email) WHERE email != ''","CREATE UNIQUE INDEX `_kpv709sk2lqbqk8_tokenKey_idx` ON `nologin` (tokenKey)","CREATE INDEX `_kpv709sk2lqbqk8_created_idx` ON \"nologin\" (`created`)"]


id: 9n89pl5vkct6330
type: base
name: demo5
listRule: select_many:length = 3
viewRule: rel_many.self_rel_many.rel_many_cascade.files:length = 1
createRule: @request.body.total = 3
updateRule: @request.body.total = 3
deleteRule: @request.query.test:isset = true
options: {}
created: 2023-01-07 13:13:08.733Z
updated: 2023-04-04 13:10:52.723Z
indexes: ["CREATE INDEX `_9n89pl5vkct6330_created_idx` ON `demo5` (`created`)"]
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"_pbf_text_id_","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"hidden":false,"id":"sozvpexq","maxSelect":1,"name":"select_one","presentable":false,"required":false,"system":false,"type":"select","values":["a","b","c","d"]},{"hidden":false,"id":"qlq1nxlc","maxSelect":5,"name":"select_many","presentable":false,"required":false,"system":false,"type":"select","values":["a","b","c","d","e"]},{"cascadeDelete":false,"collectionId":"4d1blo5cuycfaca","hidden":false,"id":"ajrrsq1a","maxSelect":1,"minSelect":0,"name":"rel_one","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":false,"collectionId":"4d1blo5cuycfaca","hidden":false,"id":"soxhs0ou","maxSelect":5,"minSelect":0,"name":"rel_many","presentable":false,"required":false,"system":false,"type":"relation"},{"hidden":false,"id":"kvbyzuqj","max":null,"min":null,"name":"total","onlyInt":false,"presentable":false,"required":false,"system":false,"type":"number"},{"hidden":false,"id":"ob7dsrcl","maxSelect":1,"maxSize":5242880,"mimeTypes":null,"name":"file","presentable":false,"protected":false,"required":false,"system":false,"thumbs":null,"type":"file"},{"hidden":false,"id":"_pbf_autodate_created_","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"},{"hidden":false,"id":"_pbf_autodate_updated_","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":false,"type":"autodate"}]


id: v9gwnfh02gjq1q0
type: view
name: view1
listRule: @request.auth.id != "" && bool = true
viewRule: @request.auth.id != "" && bool = true
created: 2023-02-12 18:58:12.315Z
updated: 2025-10-23 11:42:16.302Z
indexes: []
fields:
  [{"autogeneratePattern":"","hidden":false,"id":"text3208210256","max":0,"min":0,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"_clone_r09R","max":0,"min":0,"name":"text","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":false,"type":"text"},{"hidden":false,"id":"_clone_8o57","name":"bool","presentable":false,"required":false,"system":false,"type":"bool"},{"exceptDomains":null,"hidden":false,"id":"_clone_y2Ow","name":"url","onlyDomains":null,"presentable":false,"required":false,"system":false,"type":"url"},{"hidden":false,"id":"_clone_jFNd","maxSelect":1,"name":"select_one","presentable":false,"required":false,"system":false,"type":"select","values":["optionA","optionB","optionC"]},{"hidden":false,"id":"_clone_mNKL","maxSelect":3,"name":"select_many","presentable":false,"required":false,"system":false,"type":"select","values":["optionA","optionB","optionC"]},{"hidden":false,"id":"_clone_diFB","maxSelect":1,"maxSize":5242880,"mimeTypes":null,"name":"file_one","presentable":false,"protected":true,"required":false,"system":false,"thumbs":null,"type":"file"},{"hidden":false,"id":"_clone_dViH","maxSelect":99,"maxSize":5242880,"mimeTypes":null,"name":"file_many","presentable":false,"protected":false,"required":false,"system":false,"thumbs":null,"type":"file"},{"hidden":false,"id":"_clone_dIjh","max":null,"min":null,"name":"number","onlyInt":false,"presentable":false,"required":false,"system":false,"type":"number"},{"exceptDomains":null,"hidden":false,"id":"_clone_5R4l","name":"email","onlyDomains":null,"presentable":false,"required":false,"system":false,"type":"email"},{"hidden":false,"id":"_clone_LZkS","max":"","min":"","name":"datetime","presentable":false,"required":false,"system":false,"type":"date"},{"hidden":false,"id":"_clone_yiCN","maxSize":5242880,"name":"json","presentable":false,"required":false,"system":false,"type":"json"},{"cascadeDelete":false,"collectionId":"wsmn24bux7wo113","hidden":false,"id":"_clone_UJXf","maxSelect":1,"minSelect":0,"name":"rel_one","presentable":false,"required":false,"system":false,"type":"relation"},{"cascadeDelete":true,"collectionId":"_pb_users_auth_","hidden":false,"id":"_clone_0li1","maxSelect":9999,"minSelect":0,"name":"rel_many","presentable":false,"required":false,"system":false,"type":"relation"},{"hidden":false,"id":"_clone_VWxh","name":"point","presentable":false,"required":false,"system":false,"type":"geoPoint"},{"hidden":false,"id":"_clone_b5hm","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":false,"type":"autodate"}]

options:
  {"viewQuery":"select id, text, bool, url, select_one, select_many, file_one, file_many, number, email, datetime, json, rel_one, rel_many, point, created from demo1"}


id: ib3m2700k5hlsjz
type: view
name: view2
options: {"viewQuery":"SELECT view1.id, view1.bool as state, view1.file_many, view1.rel_many from view1\n"}
created: 2023-02-17 19:42:54.278Z
updated: 2024-11-19 15:29:43.857Z
indexes: []
fields:
  [{"autogeneratePattern":"","hidden":false,"id":"text3208210256","max":0,"min":0,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"hidden":false,"id":"_clone_77Ik","name":"state","presentable":false,"required":false,"system":false,"type":"bool"},{"hidden":false,"id":"_clone_IbSu","maxSelect":99,"maxSize":5242880,"mimeTypes":null,"name":"file_many","presentable":false,"protected":false,"required":false,"system":false,"thumbs":null,"type":"file"},{"cascadeDelete":true,"collectionId":"_pb_users_auth_","hidden":false,"id":"_clone_Asz0","maxSelect":9999,"minSelect":0,"name":"rel_many","presentable":false,"required":false,"system":false,"type":"relation"}]


id: zahsr9d2mix2fvk
type: view
name: numeric_id_view
options: {"viewQuery":"select (ROW_NUMBER() OVER()) as id, email from clients"}
created: 2023-08-11 09:41:00.997Z
updated: 2024-11-19 15:29:43.901Z
indexes: []
fields:
  [{"autogeneratePattern":"","hidden":false,"id":"text3208210256","max":0,"min":0,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"exceptDomains":null,"hidden":false,"id":"_clone_jO9O","name":"email","onlyDomains":null,"presentable":false,"required":true,"system":true,"type":"email"}]


id: pbc_3142635823
type: auth
name: _superusers
created: 2024-06-20 09:29:22.826Z
updated: 2025-11-10 15:33:49.591Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"text3208210256","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"cost":0,"hidden":true,"id":"password901924565","max":0,"min":8,"name":"password","pattern":"","presentable":false,"required":true,"system":true,"type":"password"},{"autogeneratePattern":"[a-zA-Z0-9_]{50}","hidden":true,"id":"text2504183744","max":60,"min":30,"name":"tokenKey","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"exceptDomains":null,"hidden":false,"id":"email3885137012","name":"email","onlyDomains":null,"presentable":false,"required":true,"system":true,"type":"email"},{"hidden":false,"id":"bool1547992806","name":"emailVisibility","presentable":false,"required":false,"system":true,"type":"bool"},{"hidden":false,"id":"bool256245529","name":"verified","presentable":false,"required":false,"system":true,"type":"bool"},{"hidden":false,"id":"autodate2990389176","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":true,"type":"autodate"},{"hidden":false,"id":"autodate3332085495","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":true,"type":"autodate"}]

options:
  {"authRule":"","manageRule":null,"authAlert":{"enabled":true,"emailTemplate":{"subject":"Login from a new location","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eWe noticed a login to your {APP_NAME} account from a new location:\u003c/p\u003e\n\u003cp\u003e\u003cem\u003e{ALERT_INFO}\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eIf this wasn't you, you should immediately change your {APP_NAME} account password to revoke access from all other locations.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eIf this was you, you may disregard this email.\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"oauth2":{"providers":null,"mappedFields":{"id":"","name":"","username":"","avatarURL":""},"enabled":false},"passwordAuth":{"enabled":true,"identityFields":["email"]},"mfa":{"enabled":false,"duration":1800,"rule":""},"otp":{"enabled":false,"duration":300,"length":8,"emailTemplate":{"subject":"OTP for {APP_NAME}","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eYour one-time password is: \u003cstrong\u003e{OTP}\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask for the one-time password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}},"authToken":{"secret":"MyN3nDlzmHnuCjd35vb6cyIdqNr7Os0PmgiPVDMxmbFToSpBvS","duration":1209600},"passwordResetToken":{"secret":"fPSpFm9rxjj4mdeWYfyQ5OZQ4UWpyainTO0dqrJe3LHEYEDduq","duration":1800},"emailChangeToken":{"secret":"unYNiYeuIxH7BCV09NIb81abe2bkPgaexMYdDQ6uOOIFh74urD","duration":1800},"verificationToken":{"secret":"uhr68rXLVjPBWALFtw8uEHeQwDdN4t0MiTLr2pBWVkEQnNICe1","duration":259200},"fileToken":{"secret":"sjJAjTNPrOcRDmnIKwQm7qY9FyjuXTG5KNcaqw4U1TSDVfu4r9","duration":180},"verificationTemplate":{"subject":"Verify your {APP_NAME} email","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eThank you for joining us at {APP_NAME}.\u003c/p\u003e\n\u003cp\u003eClick on the button below to verify your email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-verification/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eVerify\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"resetPasswordTemplate":{"subject":"Reset your {APP_NAME} password","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eClick on the button below to reset your password.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-password-reset/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eReset password\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to reset your password, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"},"confirmEmailChangeTemplate":{"subject":"Confirm your {APP_NAME} new email address","body":"\u003cp\u003eHello,\u003c/p\u003e\n\u003cp\u003eClick on the button below to confirm your new email address.\u003c/p\u003e\n\u003cp\u003e\n  \u003ca class=\"btn\" href=\"{APP_URL}/_/#/auth/confirm-email-change/{TOKEN}\" target=\"_blank\" rel=\"noopener\"\u003eConfirm new email\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ci\u003eIf you didn't ask to change your email address, you can ignore this email.\u003c/i\u003e\u003c/p\u003e\n\u003cp\u003e\n  Thanks,\u003cbr/\u003e\n  {APP_NAME} team\n\u003c/p\u003e"}}

indexes:
  ["CREATE UNIQUE INDEX `idx_tokenKey__pbc_3323866339` ON `_superusers` (`tokenKey`)","CREATE UNIQUE INDEX `idx_email__pbc_3323866339` ON `_superusers` (`email`) WHERE `email` != ''"]


id: pbc_2281828961
type: base
name: _externalAuths
options: {}
created: 2024-06-20 09:29:22.862Z
updated: 2024-07-31 16:33:51.596Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"text3208210256","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text455797646","max":0,"min":0,"name":"collectionRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text127846527","max":0,"min":0,"name":"recordRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text2462348188","max":0,"min":0,"name":"provider","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text1044722854","max":0,"min":0,"name":"providerId","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"hidden":false,"id":"autodate2990389176","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":true,"type":"autodate"},{"hidden":false,"id":"autodate3332085495","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":true,"type":"autodate"}]

listRule:
  @request.auth.id != '' && recordRef = @request.auth.id && collectionRef = @request.auth.collectionId

viewRule:
  @request.auth.id != '' && recordRef = @request.auth.id && collectionRef = @request.auth.collectionId

deleteRule:
  @request.auth.id != '' && recordRef = @request.auth.id && collectionRef = @request.auth.collectionId

indexes:
  ["CREATE UNIQUE INDEX `idx_externalAuths_record_provider` ON `externalAuths` (collectionRef, recordRef, provider)","CREATE UNIQUE INDEX `idx_externalAuths_collection_provider` ON `externalAuths` (collectionRef, provider, providerId)"]


id: pbc_2279338944
type: base
name: _mfas
options: {}
created: 2024-06-20 09:29:22.894Z
updated: 2024-10-24 18:34:35.352Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"text3208210256","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text455797646","max":0,"min":0,"name":"collectionRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text127846527","max":0,"min":0,"name":"recordRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text1582905952","max":0,"min":0,"name":"method","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"hidden":false,"id":"autodate2990389176","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":true,"type":"autodate"},{"hidden":false,"id":"autodate3332085495","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":true,"type":"autodate"}]

listRule:
[cell repeats an earlier one in this file: 100 characters]

viewRule:
[cell repeats an earlier one in this file: 100 characters]

indexes:
  ["CREATE INDEX `idx_mfas_collectionRef_recordRef` ON `mfas` (\n  `collectionRef`,\n  `recordRef`\n)"]


id: pbc_1638494021
type: base
name: _otps
options: {}
created: 2024-06-20 09:29:22.901Z
updated: 2024-11-19 15:29:43.633Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"text3208210256","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text455797646","max":0,"min":0,"name":"collectionRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text127846527","max":0,"min":0,"name":"recordRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"cost":8,"hidden":true,"id":"password901924565","max":0,"min":0,"name":"password","pattern":"","presentable":false,"required":true,"system":true,"type":"password"},{"hidden":false,"id":"autodate2990389176","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":true,"type":"autodate"},{"hidden":false,"id":"autodate3332085495","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":true,"type":"autodate"},{"autogeneratePattern":"","hidden":true,"id":"text3866985172","max":0,"min":0,"name":"sentTo","pattern":"","presentable":false,"primaryKey":false,"required":false,"system":true,"type":"text"}]

listRule:
[cell repeats an earlier one in this file: 100 characters]

viewRule:
[cell repeats an earlier one in this file: 100 characters]

indexes:
  ["CREATE INDEX `idx_otps_collectionRef_recordRef` ON `otps` (\n  `collectionRef`,\n  `recordRef`\n)"]


id: pbc_4275539003
type: base
name: _authOrigins
options: {}
created: 2024-06-20 12:10:52.542Z
updated: 2024-07-31 16:32:24.722Z
fields:
  [{"autogeneratePattern":"[a-z0-9]{15}","hidden":false,"id":"text3208210256","max":15,"min":15,"name":"id","pattern":"^[a-z0-9]+$","presentable":false,"primaryKey":true,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text455797646","max":0,"min":0,"name":"collectionRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text127846527","max":0,"min":0,"name":"recordRef","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"autogeneratePattern":"","hidden":false,"id":"text4228609354","max":0,"min":0,"name":"fingerprint","pattern":"","presentable":false,"primaryKey":false,"required":true,"system":true,"type":"text"},{"hidden":false,"id":"autodate2990389176","name":"created","onCreate":true,"onUpdate":false,"presentable":false,"system":true,"type":"autodate"},{"hidden":false,"id":"autodate3332085495","name":"updated","onCreate":true,"onUpdate":true,"presentable":false,"system":true,"type":"autodate"}]

listRule:
[cell repeats an earlier one in this file: 100 characters]

viewRule:
[cell repeats an earlier one in this file: 100 characters]

deleteRule:
[cell repeats an earlier one in this file: 100 characters]

indexes:
  ["CREATE UNIQUE INDEX `idx_authOrigins_unique_pairs` ON `authDevices` (collectionRef, recordRef, fingerprint)"]


# demo1

created: 2022-10-14 10:13:12.397Z
id: 84nmscqy84lsi1t
updated: 2023-01-04 20:11:20.732Z
text: test
url: https://example.copm
select_one: optionB
file_one: test_d61b33QdDU.txt
email: test@example.com
datetime: 2022-10-01 12:00:00.000Z
json:
  [
  1,
  2,
  3
  ]

select_many: ["optionB","optionC"]
rel_many: ["oap640cot4yru2s"]
file_many:
  ["test_QZFjKjXchk.txt","300_WlbFWSGmW9.png","logo_vcfJJG5TAh.svg","test_MaWC6mWyrP.txt","test_tC1Yc87DfC.txt"]


