Skip to content

Commit

Permalink
Add basic functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
alibori committed Oct 6, 2023
1 parent 1c93382 commit b23398e
Show file tree
Hide file tree
Showing 32 changed files with 295 additions and 547 deletions.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/:vendor_name/:package_name/discussions/new?category=q-a
url: https://github.com/alibori/laravel-db-size-alerts/discussions/new?category=q-a
about: Ask the community for help
- name: Request a feature
url: https://github.com/:vendor_name/:package_name/discussions/new?category=ideas
url: https://github.com/alibori/laravel-db-size-alerts/discussions/new?category=ideas
about: Share ideas for new features
- name: Report a security issue
url: https://github.com/:vendor_name/:package_name/security/policy
url: https://github.com/alibori/laravel-db-size-alerts/security/policy
about: Learn how to notify us for sensitive bugs
12 changes: 0 additions & 12 deletions .github/dependabot.yml

This file was deleted.

32 changes: 0 additions & 32 deletions .github/workflows/dependabot-auto-merge.yml

This file was deleted.

31 changes: 0 additions & 31 deletions .github/workflows/update-changelog.yml

This file was deleted.

6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Changelog

All notable changes to `:package_name` will be documented in this file.
All notable changes to `laravel-db-size-alerts` will be documented in this file.

## 1.0.0 - 2023-10-06

- Initial release
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) :vendor_name <author@domain.com>
Copyright (c) alibori <a.libori@gmail.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
68 changes: 22 additions & 46 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,51 @@
# :package_description
# Laravel package to receive alerts about database size limits.

[![Latest Version on Packagist](https://img.shields.io/packagist/v/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3Arun-tests+branch%3Amain)
[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain)
[![Total Downloads](https://img.shields.io/packagist/dt/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug)
<!--delete-->
---
This repo can be used to scaffold a Laravel package. Follow these steps to get started:
[![Latest Version on Packagist](https://img.shields.io/packagist/v/alibori/laravel-db-size-alerts.svg?style=flat-square)](https://packagist.org/packages/alibori/laravel-db-size-alerts)
[![Total Downloads](https://img.shields.io/packagist/dt/alibori/laravel-db-size-alerts.svg?style=flat-square)](https://packagist.org/packages/alibori/laravel-db-size-alerts)

1. Press the "Use this template" button at the top of this repo to create a new repo with the contents of this skeleton.
2. Run "php ./configure.php" to run a script that will replace all placeholders throughout all the files.
3. Have fun creating your package.
4. If you need help creating a package, consider picking up our <a href="https://laravelpackage.training">Laravel Package Training</a> video course.
---
<!--/delete-->
This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.

## Support us

[<img src="https://github-ads.s3.eu-central-1.amazonaws.com/:package_name.jpg?t=1" width="419px" />](https://spatie.be/github-ad-click/:package_name)

We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).

We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).
This package allows you to receive alerts about database tables size limits.

## Installation

**IMPORTANT:** This package requires mysql database connection.

You can install the package via composer:

```bash
composer require :vendor_slug/:package_slug
composer require alibori/laravel-db-size-alerts
```

You can publish and run the migrations with:
You can publish the config file with:

```bash
php artisan vendor:publish --tag=":package_slug-migrations"
php artisan migrate
php artisan vendor:publish --tag="db-size-alerts-config"
```

You can publish the config file with:
You can publish the mail views file with:

```bash
php artisan vendor:publish --tag=":package_slug-config"
php artisan vendor:publish --tag="db-size-alerts-views"
```

This is the contents of the published config file:

```php
return [
];
```
## Usage

Optionally, you can publish the views using
You can use the following artisan command to check the specified tables size:

```bash
php artisan vendor:publish --tag=":package_slug-views"
php artisan db-size:check
```

## Usage
Or, recommended, you can schedule the artisan command to run periodically on your `App\Console\Kernel.php` file:

```php
$variable = new VendorName\Skeleton();
echo $variable->echoPhrase('Hello, VendorName!');
protected function schedule(Schedule $schedule)
{
$schedule->command(LaravelDbSizeAlertsCommand::class)->daily();
}
```

In both cases, if the *APP_ENV* is not *local* you will receive an email with the tables that have exceeded the specified size limit.

## Testing

```bash
Expand All @@ -75,18 +56,13 @@ composer test

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

## Contributing

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

## Security Vulnerabilities

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

## Credits

- [:author_name](https://github.com/:author_username)
- [All Contributors](../../contributors)
- [Axel Libori Roch](https://github.com/alibori)

## License

Expand Down
7 changes: 7 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Security Policy

## Reporting a Vulnerability

Please, feel free to report any security vulnerability you find in this package sending an email to [[email protected]](mailto:[email protected]). All security vulnerabilities will be promptly addressed.

Thank you for helping make this package safe for everyone.
39 changes: 19 additions & 20 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,53 +1,52 @@
{
"name": ":vendor_slug/:package_slug",
"description": ":package_description",
"name": "alibori/laravel-db-size-alerts",
"description": "Laravel package to receive alerts about database size limits.",
"keywords": [
":vendor_name",
"alibori",
"laravel",
":package_slug"
"laravel-db-size-alerts"
],
"homepage": "https://github.com/:vendor_slug/:package_slug",
"homepage": "https://github.com/alibori/laravel-db-size-alerts",
"license": "MIT",
"authors": [
{
"name": ":author_name",
"email": "author@domain.com",
"name": "Axel Libori Roch",
"email": "a.libori@gmail.com",
"role": "Developer"
}
],
"require": {
"php": "^8.1",
"spatie/laravel-package-tools": "^1.14.0",
"illuminate/contracts": "^10.0"
"illuminate/contracts": "*"
},
"require-dev": {
"laravel/pint": "^1.0",
"nunomaduro/collision": "^7.8",
"nunomaduro/collision": "^5.11|^7.8",
"nunomaduro/larastan": "^2.0.1",
"orchestra/testbench": "^8.8",
"pestphp/pest": "^2.0",
"orchestra/testbench": "^7.0|^8.0",
"pestphp/pest": "^1.22|^2.0",
"pestphp/pest-plugin-arch": "^2.0",
"pestphp/pest-plugin-laravel": "^2.0",
"pestphp/pest-plugin-laravel": "^1.4|^2.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
"spatie/laravel-ray": "^1.26"
"phpstan/phpstan-phpunit": "^1.0"
},
"autoload": {
"psr-4": {
"VendorName\\Skeleton\\": "src/",
"VendorName\\Skeleton\\Database\\Factories\\": "database/factories/"
"Alibori\\LaravelDbSizeAlerts\\": "src/",
"Alibori\\LaravelDbSizeAlerts\\Database\\Factories\\": "database/factories/"
}
},
"autoload-dev": {
"psr-4": {
"VendorName\\Skeleton\\Tests\\": "tests/",
"Alibori\\LaravelDbSizeAlerts\\Tests\\": "tests/",
"Workbench\\App\\": "workbench/app/"
}
},
"scripts": {
"post-autoload-dump": "@composer run prepare",
"clear": "@php vendor/bin/testbench package:purge-skeleton --ansi",
"clear": "@php vendor/bin/testbench package:purge-laravel-db-size-alerts --ansi",
"prepare": "@php vendor/bin/testbench package:discover --ansi",
"build": [
"@composer run prepare",
Expand All @@ -73,10 +72,10 @@
"extra": {
"laravel": {
"providers": [
"VendorName\\Skeleton\\SkeletonServiceProvider"
"Alibori\\LaravelDbSizeAlerts\\LaravelDbSizeAlertsServiceProvider"
],
"aliases": {
"Skeleton": "VendorName\\Skeleton\\Facades\\Skeleton"
"LaravelDbSizeAlerts": "Alibori\\LaravelDbSizeAlerts\\Facades\\LaravelDbSizeAlerts"
}
}
},
Expand Down
29 changes: 29 additions & 0 deletions config/db-size-alerts.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?php

declare(strict_types=1);

return [
/**
* |--------------------------------------------------------------------------
* | Alibori\LaravelDbSizeAlerts configuration file
* |--------------------------------------------------------------------------
*/

/**
* Tables to check
*/
'tables' => [
'users',
'posts',
'comments',
],

/**
* Default maximum size of a table in MB
*/
'table_max_mb_size' => 1024,

'emails_to_notify' => [
// '[email protected]',
],
];
6 changes: 0 additions & 6 deletions config/skeleton.php

This file was deleted.

Loading

0 comments on commit b23398e

Please sign in to comment.