First commit

This commit is contained in:
2024-03-10 16:58:40 +01:00
commit 10dadfd042
27 changed files with 10970 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{package.json,*.yml}]
indent_style = space
indent_size = 2
[*.md]
trim_trailing_whitespace = false
+7
View File
@@ -0,0 +1,7 @@
HOST=0.0.0.0
PORT=1337
APP_KEYS="toBeModified1,toBeModified2"
API_TOKEN_SALT=tobemodified
ADMIN_JWT_SECRET=tobemodified
TRANSFER_TOKEN_SALT=tobemodified
JWT_SECRET=tobemodified
+3
View File
@@ -0,0 +1,3 @@
.cache
build
**/node_modules/**
+27
View File
@@ -0,0 +1,27 @@
{
"parser": "babel-eslint",
"extends": "eslint:recommended",
"env": {
"commonjs": true,
"es6": true,
"node": true,
"browser": false
},
"parserOptions": {
"ecmaFeatures": {
"experimentalObjectRestSpread": true,
"jsx": false
},
"sourceType": "module"
},
"globals": {
"strapi": true
},
"rules": {
"indent": ["error", 2, { "SwitchCase": 1 }],
"linebreak-style": ["error", "unix"],
"no-console": 0,
"quotes": ["error", "single"],
"semi": ["error", "always"]
}
}
+114
View File
@@ -0,0 +1,114 @@
############################
# OS X
############################
.DS_Store
.AppleDouble
.LSOverride
Icon
.Spotlight-V100
.Trashes
._*
############################
# Linux
############################
*~
############################
# Windows
############################
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msm
*.msp
############################
# Packages
############################
*.7z
*.csv
*.dat
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
*.com
*.class
*.dll
*.exe
*.o
*.seed
*.so
*.swo
*.swp
*.swn
*.swm
*.out
*.pid
############################
# Logs and databases
############################
.tmp
*.log
*.sql
*.sqlite
*.sqlite3
############################
# Misc.
############################
*#
ssl
.idea
nbproject
public/uploads/*
!public/uploads/.gitkeep
############################
# Node.js
############################
lib-cov
lcov.info
pids
logs
results
node_modules
.node_history
############################
# Tests
############################
coverage
############################
# Strapi
############################
.env
license.txt
exports
.strapi
dist
build
.strapi-updater.json
+9
View File
@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2024 OKI
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+1
View File
@@ -0,0 +1 @@
# api.gong.gp
+17
View File
@@ -0,0 +1,17 @@
module.exports = ({ env }) => ({
auth: {
secret: env('ADMIN_JWT_SECRET'),
},
apiToken: {
salt: env('API_TOKEN_SALT'),
},
transfer: {
token: {
salt: env('TRANSFER_TOKEN_SALT'),
},
},
flags: {
nps: env.bool('FLAG_NPS', true),
promoteEE: env.bool('FLAG_PROMOTE_EE', true),
},
});
+7
View File
@@ -0,0 +1,7 @@
module.exports = {
rest: {
defaultLimit: 25,
maxLimit: 100,
withCount: true,
},
};
+92
View File
@@ -0,0 +1,92 @@
const path = require('path');
module.exports = ({ env }) => {
const client = env('DATABASE_CLIENT', 'sqlite');
const connections = {
mysql: {
connection: {
connectionString: env('DATABASE_URL'),
host: env('DATABASE_HOST', 'localhost'),
port: env.int('DATABASE_PORT', 3306),
database: env('DATABASE_NAME', 'strapi'),
user: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
ssl: env.bool('DATABASE_SSL', false) && {
key: env('DATABASE_SSL_KEY', undefined),
cert: env('DATABASE_SSL_CERT', undefined),
ca: env('DATABASE_SSL_CA', undefined),
capath: env('DATABASE_SSL_CAPATH', undefined),
cipher: env('DATABASE_SSL_CIPHER', undefined),
rejectUnauthorized: env.bool(
'DATABASE_SSL_REJECT_UNAUTHORIZED',
true
),
},
},
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
},
mysql2: {
connection: {
host: env('DATABASE_HOST', 'localhost'),
port: env.int('DATABASE_PORT', 3306),
database: env('DATABASE_NAME', 'strapi'),
user: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
ssl: env.bool('DATABASE_SSL', false) && {
key: env('DATABASE_SSL_KEY', undefined),
cert: env('DATABASE_SSL_CERT', undefined),
ca: env('DATABASE_SSL_CA', undefined),
capath: env('DATABASE_SSL_CAPATH', undefined),
cipher: env('DATABASE_SSL_CIPHER', undefined),
rejectUnauthorized: env.bool(
'DATABASE_SSL_REJECT_UNAUTHORIZED',
true
),
},
},
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
},
postgres: {
connection: {
connectionString: env('DATABASE_URL'),
host: env('DATABASE_HOST', 'localhost'),
port: env.int('DATABASE_PORT', 5432),
database: env('DATABASE_NAME', 'strapi'),
user: env('DATABASE_USERNAME', 'strapi'),
password: env('DATABASE_PASSWORD', 'strapi'),
ssl: env.bool('DATABASE_SSL', false) && {
key: env('DATABASE_SSL_KEY', undefined),
cert: env('DATABASE_SSL_CERT', undefined),
ca: env('DATABASE_SSL_CA', undefined),
capath: env('DATABASE_SSL_CAPATH', undefined),
cipher: env('DATABASE_SSL_CIPHER', undefined),
rejectUnauthorized: env.bool(
'DATABASE_SSL_REJECT_UNAUTHORIZED',
true
),
},
schema: env('DATABASE_SCHEMA', 'public'),
},
pool: { min: env.int('DATABASE_POOL_MIN', 2), max: env.int('DATABASE_POOL_MAX', 10) },
},
sqlite: {
connection: {
filename: path.join(
__dirname,
'..',
env('DATABASE_FILENAME', '.tmp/data.db')
),
},
useNullAsDefault: true,
},
};
return {
connection: {
client,
...connections[client],
acquireConnectionTimeout: env.int('DATABASE_CONNECTION_TIMEOUT', 60000),
},
};
};
+12
View File
@@ -0,0 +1,12 @@
module.exports = [
'strapi::logger',
'strapi::errors',
'strapi::security',
'strapi::cors',
'strapi::poweredBy',
'strapi::query',
'strapi::body',
'strapi::session',
'strapi::favicon',
'strapi::public',
];
+1
View File
@@ -0,0 +1 @@
module.exports = () => ({});
+10
View File
@@ -0,0 +1,10 @@
module.exports = ({ env }) => ({
host: env('HOST', '0.0.0.0'),
port: env.int('PORT', 1337),
app: {
keys: env.array('APP_KEYS'),
},
webhooks: {
populateRelations: env.bool('WEBHOOKS_POPULATE_RELATIONS', false),
},
});
View File
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

+8
View File
@@ -0,0 +1,8 @@
{
"compilerOptions": {
"moduleResolution": "nodenext",
"target": "ES2021",
"checkJs": true,
"allowJs": true
}
}
+35
View File
@@ -0,0 +1,35 @@
{
"name": "api-gong-gp",
"private": true,
"version": "0.1.0",
"description": "GONG API",
"scripts": {
"dev": "strapi develop",
"start": "strapi start",
"build": "strapi build",
"strapi": "strapi"
},
"devDependencies": {},
"dependencies": {
"@strapi/strapi": "4.20.4",
"@strapi/plugin-users-permissions": "4.20.4",
"@strapi/plugin-i18n": "4.20.4",
"@strapi/plugin-cloud": "4.20.4",
"better-sqlite3": "8.6.0",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-router-dom": "5.3.4",
"styled-components": "5.3.3"
},
"author": {
"name": "OKI"
},
"strapi": {
"uuid": "f92d2051-2666-477d-8e5d-9ab4b4622c6d"
},
"engines": {
"node": ">=18.0.0 <=20.x.x",
"npm": ">=6.0.0"
},
"license": "MIT"
}
+3
View File
@@ -0,0 +1,3 @@
# To prevent search engines from seeing the site altogether, uncomment the next two lines:
# User-Agent: *
# Disallow: /
View File
+39
View File
@@ -0,0 +1,39 @@
const config = {
locales: [
// 'ar',
'fr'
// 'cs',
// 'de',
// 'dk',
// 'es',
// 'he',
// 'id',
// 'it',
// 'ja',
// 'ko',
// 'ms',
// 'nl',
// 'no',
// 'pl',
// 'pt-BR',
// 'pt',
// 'ru',
// 'sk',
// 'sv',
// 'th',
// 'tr',
// 'uk',
// 'vi',
// 'zh-Hans',
// 'zh',
],
};
const bootstrap = (app) => {
console.log(app);
};
export default {
config,
bootstrap,
};
+9
View File
@@ -0,0 +1,9 @@
'use strict';
/* eslint-disable no-unused-vars */
module.exports = (config, webpack) => {
// Note: we provide webpack above so you should not `require` it
// Perform customizations to webpack config
// Important: return the modified config
return config;
};
View File
View File
+20
View File
@@ -0,0 +1,20 @@
'use strict';
module.exports = {
/**
* An asynchronous register function that runs before
* your application is initialized.
*
* This gives you an opportunity to extend code.
*/
register(/*{ strapi }*/) {},
/**
* An asynchronous bootstrap function that runs before
* your application gets started.
*
* This gives you an opportunity to set up your data model,
* run jobs, or perform some special logic.
*/
bootstrap(/*{ strapi }*/) {},
};
+5
View File
@@ -0,0 +1,5 @@
import type { Schema, Attribute } from '@strapi/strapi';
declare module '@strapi/types' {
export module Shared {}
}
+811
View File
@@ -0,0 +1,811 @@
import type { Schema, Attribute } from '@strapi/strapi';
export interface AdminPermission extends Schema.CollectionType {
collectionName: 'admin_permissions';
info: {
name: 'Permission';
description: '';
singularName: 'permission';
pluralName: 'permissions';
displayName: 'Permission';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
action: Attribute.String &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
actionParameters: Attribute.JSON & Attribute.DefaultTo<{}>;
subject: Attribute.String &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
properties: Attribute.JSON & Attribute.DefaultTo<{}>;
conditions: Attribute.JSON & Attribute.DefaultTo<[]>;
role: Attribute.Relation<'admin::permission', 'manyToOne', 'admin::role'>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'admin::permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'admin::permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface AdminUser extends Schema.CollectionType {
collectionName: 'admin_users';
info: {
name: 'User';
description: '';
singularName: 'user';
pluralName: 'users';
displayName: 'User';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
firstname: Attribute.String &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
lastname: Attribute.String &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
username: Attribute.String;
email: Attribute.Email &
Attribute.Required &
Attribute.Private &
Attribute.Unique &
Attribute.SetMinMaxLength<{
minLength: 6;
}>;
password: Attribute.Password &
Attribute.Private &
Attribute.SetMinMaxLength<{
minLength: 6;
}>;
resetPasswordToken: Attribute.String & Attribute.Private;
registrationToken: Attribute.String & Attribute.Private;
isActive: Attribute.Boolean &
Attribute.Private &
Attribute.DefaultTo<false>;
roles: Attribute.Relation<'admin::user', 'manyToMany', 'admin::role'> &
Attribute.Private;
blocked: Attribute.Boolean & Attribute.Private & Attribute.DefaultTo<false>;
preferedLanguage: Attribute.String;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<'admin::user', 'oneToOne', 'admin::user'> &
Attribute.Private;
updatedBy: Attribute.Relation<'admin::user', 'oneToOne', 'admin::user'> &
Attribute.Private;
};
}
export interface AdminRole extends Schema.CollectionType {
collectionName: 'admin_roles';
info: {
name: 'Role';
description: '';
singularName: 'role';
pluralName: 'roles';
displayName: 'Role';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String &
Attribute.Required &
Attribute.Unique &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
code: Attribute.String &
Attribute.Required &
Attribute.Unique &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
description: Attribute.String;
users: Attribute.Relation<'admin::role', 'manyToMany', 'admin::user'>;
permissions: Attribute.Relation<
'admin::role',
'oneToMany',
'admin::permission'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<'admin::role', 'oneToOne', 'admin::user'> &
Attribute.Private;
updatedBy: Attribute.Relation<'admin::role', 'oneToOne', 'admin::user'> &
Attribute.Private;
};
}
export interface AdminApiToken extends Schema.CollectionType {
collectionName: 'strapi_api_tokens';
info: {
name: 'Api Token';
singularName: 'api-token';
pluralName: 'api-tokens';
displayName: 'Api Token';
description: '';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String &
Attribute.Required &
Attribute.Unique &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
description: Attribute.String &
Attribute.SetMinMaxLength<{
minLength: 1;
}> &
Attribute.DefaultTo<''>;
type: Attribute.Enumeration<['read-only', 'full-access', 'custom']> &
Attribute.Required &
Attribute.DefaultTo<'read-only'>;
accessKey: Attribute.String &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
lastUsedAt: Attribute.DateTime;
permissions: Attribute.Relation<
'admin::api-token',
'oneToMany',
'admin::api-token-permission'
>;
expiresAt: Attribute.DateTime;
lifespan: Attribute.BigInteger;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'admin::api-token',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'admin::api-token',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface AdminApiTokenPermission extends Schema.CollectionType {
collectionName: 'strapi_api_token_permissions';
info: {
name: 'API Token Permission';
description: '';
singularName: 'api-token-permission';
pluralName: 'api-token-permissions';
displayName: 'API Token Permission';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
action: Attribute.String &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
token: Attribute.Relation<
'admin::api-token-permission',
'manyToOne',
'admin::api-token'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'admin::api-token-permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'admin::api-token-permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface AdminTransferToken extends Schema.CollectionType {
collectionName: 'strapi_transfer_tokens';
info: {
name: 'Transfer Token';
singularName: 'transfer-token';
pluralName: 'transfer-tokens';
displayName: 'Transfer Token';
description: '';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String &
Attribute.Required &
Attribute.Unique &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
description: Attribute.String &
Attribute.SetMinMaxLength<{
minLength: 1;
}> &
Attribute.DefaultTo<''>;
accessKey: Attribute.String &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
lastUsedAt: Attribute.DateTime;
permissions: Attribute.Relation<
'admin::transfer-token',
'oneToMany',
'admin::transfer-token-permission'
>;
expiresAt: Attribute.DateTime;
lifespan: Attribute.BigInteger;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'admin::transfer-token',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'admin::transfer-token',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface AdminTransferTokenPermission extends Schema.CollectionType {
collectionName: 'strapi_transfer_token_permissions';
info: {
name: 'Transfer Token Permission';
description: '';
singularName: 'transfer-token-permission';
pluralName: 'transfer-token-permissions';
displayName: 'Transfer Token Permission';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
action: Attribute.String &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 1;
}>;
token: Attribute.Relation<
'admin::transfer-token-permission',
'manyToOne',
'admin::transfer-token'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'admin::transfer-token-permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'admin::transfer-token-permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginUploadFile extends Schema.CollectionType {
collectionName: 'files';
info: {
singularName: 'file';
pluralName: 'files';
displayName: 'File';
description: '';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String & Attribute.Required;
alternativeText: Attribute.String;
caption: Attribute.String;
width: Attribute.Integer;
height: Attribute.Integer;
formats: Attribute.JSON;
hash: Attribute.String & Attribute.Required;
ext: Attribute.String;
mime: Attribute.String & Attribute.Required;
size: Attribute.Decimal & Attribute.Required;
url: Attribute.String & Attribute.Required;
previewUrl: Attribute.String;
provider: Attribute.String & Attribute.Required;
provider_metadata: Attribute.JSON;
related: Attribute.Relation<'plugin::upload.file', 'morphToMany'>;
folder: Attribute.Relation<
'plugin::upload.file',
'manyToOne',
'plugin::upload.folder'
> &
Attribute.Private;
folderPath: Attribute.String &
Attribute.Required &
Attribute.Private &
Attribute.SetMinMax<
{
min: 1;
},
number
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::upload.file',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::upload.file',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginUploadFolder extends Schema.CollectionType {
collectionName: 'upload_folders';
info: {
singularName: 'folder';
pluralName: 'folders';
displayName: 'Folder';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String &
Attribute.Required &
Attribute.SetMinMax<
{
min: 1;
},
number
>;
pathId: Attribute.Integer & Attribute.Required & Attribute.Unique;
parent: Attribute.Relation<
'plugin::upload.folder',
'manyToOne',
'plugin::upload.folder'
>;
children: Attribute.Relation<
'plugin::upload.folder',
'oneToMany',
'plugin::upload.folder'
>;
files: Attribute.Relation<
'plugin::upload.folder',
'oneToMany',
'plugin::upload.file'
>;
path: Attribute.String &
Attribute.Required &
Attribute.SetMinMax<
{
min: 1;
},
number
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::upload.folder',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::upload.folder',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginContentReleasesRelease extends Schema.CollectionType {
collectionName: 'strapi_releases';
info: {
singularName: 'release';
pluralName: 'releases';
displayName: 'Release';
};
options: {
draftAndPublish: false;
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String & Attribute.Required;
releasedAt: Attribute.DateTime;
scheduledAt: Attribute.DateTime;
timezone: Attribute.String;
status: Attribute.Enumeration<
['ready', 'blocked', 'failed', 'done', 'empty']
> &
Attribute.Required;
actions: Attribute.Relation<
'plugin::content-releases.release',
'oneToMany',
'plugin::content-releases.release-action'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::content-releases.release',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::content-releases.release',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginContentReleasesReleaseAction
extends Schema.CollectionType {
collectionName: 'strapi_release_actions';
info: {
singularName: 'release-action';
pluralName: 'release-actions';
displayName: 'Release Action';
};
options: {
draftAndPublish: false;
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
type: Attribute.Enumeration<['publish', 'unpublish']> & Attribute.Required;
entry: Attribute.Relation<
'plugin::content-releases.release-action',
'morphToOne'
>;
contentType: Attribute.String & Attribute.Required;
locale: Attribute.String;
release: Attribute.Relation<
'plugin::content-releases.release-action',
'manyToOne',
'plugin::content-releases.release'
>;
isEntryValid: Attribute.Boolean;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::content-releases.release-action',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::content-releases.release-action',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginUsersPermissionsPermission
extends Schema.CollectionType {
collectionName: 'up_permissions';
info: {
name: 'permission';
description: '';
singularName: 'permission';
pluralName: 'permissions';
displayName: 'Permission';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
action: Attribute.String & Attribute.Required;
role: Attribute.Relation<
'plugin::users-permissions.permission',
'manyToOne',
'plugin::users-permissions.role'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::users-permissions.permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::users-permissions.permission',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginUsersPermissionsRole extends Schema.CollectionType {
collectionName: 'up_roles';
info: {
name: 'role';
description: '';
singularName: 'role';
pluralName: 'roles';
displayName: 'Role';
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 3;
}>;
description: Attribute.String;
type: Attribute.String & Attribute.Unique;
permissions: Attribute.Relation<
'plugin::users-permissions.role',
'oneToMany',
'plugin::users-permissions.permission'
>;
users: Attribute.Relation<
'plugin::users-permissions.role',
'oneToMany',
'plugin::users-permissions.user'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::users-permissions.role',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::users-permissions.role',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginUsersPermissionsUser extends Schema.CollectionType {
collectionName: 'up_users';
info: {
name: 'user';
description: '';
singularName: 'user';
pluralName: 'users';
displayName: 'User';
};
options: {
draftAndPublish: false;
timestamps: true;
};
attributes: {
username: Attribute.String &
Attribute.Required &
Attribute.Unique &
Attribute.SetMinMaxLength<{
minLength: 3;
}>;
email: Attribute.Email &
Attribute.Required &
Attribute.SetMinMaxLength<{
minLength: 6;
}>;
provider: Attribute.String;
password: Attribute.Password &
Attribute.Private &
Attribute.SetMinMaxLength<{
minLength: 6;
}>;
resetPasswordToken: Attribute.String & Attribute.Private;
confirmationToken: Attribute.String & Attribute.Private;
confirmed: Attribute.Boolean & Attribute.DefaultTo<false>;
blocked: Attribute.Boolean & Attribute.DefaultTo<false>;
role: Attribute.Relation<
'plugin::users-permissions.user',
'manyToOne',
'plugin::users-permissions.role'
>;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::users-permissions.user',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::users-permissions.user',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
export interface PluginI18NLocale extends Schema.CollectionType {
collectionName: 'i18n_locale';
info: {
singularName: 'locale';
pluralName: 'locales';
collectionName: 'locales';
displayName: 'Locale';
description: '';
};
options: {
draftAndPublish: false;
};
pluginOptions: {
'content-manager': {
visible: false;
};
'content-type-builder': {
visible: false;
};
};
attributes: {
name: Attribute.String &
Attribute.SetMinMax<
{
min: 1;
max: 50;
},
number
>;
code: Attribute.String & Attribute.Unique;
createdAt: Attribute.DateTime;
updatedAt: Attribute.DateTime;
createdBy: Attribute.Relation<
'plugin::i18n.locale',
'oneToOne',
'admin::user'
> &
Attribute.Private;
updatedBy: Attribute.Relation<
'plugin::i18n.locale',
'oneToOne',
'admin::user'
> &
Attribute.Private;
};
}
declare module '@strapi/types' {
export module Shared {
export interface ContentTypes {
'admin::permission': AdminPermission;
'admin::user': AdminUser;
'admin::role': AdminRole;
'admin::api-token': AdminApiToken;
'admin::api-token-permission': AdminApiTokenPermission;
'admin::transfer-token': AdminTransferToken;
'admin::transfer-token-permission': AdminTransferTokenPermission;
'plugin::upload.file': PluginUploadFile;
'plugin::upload.folder': PluginUploadFolder;
'plugin::content-releases.release': PluginContentReleasesRelease;
'plugin::content-releases.release-action': PluginContentReleasesReleaseAction;
'plugin::users-permissions.permission': PluginUsersPermissionsPermission;
'plugin::users-permissions.role': PluginUsersPermissionsRole;
'plugin::users-permissions.user': PluginUsersPermissionsUser;
'plugin::i18n.locale': PluginI18NLocale;
}
}
}
+9724
View File
File diff suppressed because it is too large Load Diff