codebar-ag/laravel-microsoft-planner
最新稳定版本:v12.0
Composer 安装命令:
composer require codebar-ag/laravel-microsoft-planner
包简介
This is my package laravel-microsoft-planner
README 文档
README
This package was developed to interface with Microsoft Planner.
💡 What is Laravel Microsoft Planner?
/ Laravel Microsoft Planner is an opinionated way to interface with Microsoft Planner.
🛠 Requirements
| Package | PHP | Laravel |
|---|---|---|
| v12.0.0 | ^8.2 - ^8.4 | 12.x |
| v11.0.0 | ^8.2 - ^8.3 | 11.x |
| v1.0.0 | ^8.1 - ^8.2 | 10.x |
⚙️ Installation
You can install the package via composer:
composer require codebar-ag/laravel-microsoft-planner
Add the following environment variables to your .env file:
MICROSOFT_PLANNER_CLIENT_ID=your-client-id MICROSOFT_PLANNER_TENANT_ID=your-tenant-id MICROSOFT_PLANNER_CLIENT_SECRET=your-client-secret
🔧 Configuration file
You can publish the config file with:
php artisan vendor:publish --tag=microsoft-planner-config
This is the contents of the published config file:
<?php // config for CodebarAg/LaravelMicrosoftPlanner return [ 'auth' => [ 'client_id' => env('LARAVEL_MICROSOFT_PLANNER_CLIENT_ID'), 'client_secret' => env('LARAVEL_MICROSOFT_PLANNER_CLIENT_SECRET'), 'tenant_id' => env('LARAVEL_MICROSOFT_PLANNER_TENANT_ID'), ] ];
🏗 Usage
use CodebarAg\LaravelMicrosoftPlanner\Http\Connectors\MicrosoftPlannerConnector; use CodebarAg\LaravelMicrosoftPlanner\Http\Requests\Bucket\GetBucketTasksRequest; use CodebarAg\LaravelMicrosoftPlanner\Http\Requests\Tasks\GetTaskRequest; use CodebarAg\LaravelMicrosoftPlanner\Http\Requests\Tasks\GetTaskDetailsRequest; use CodebarAg\LaravelMicrosoftPlanner\Http\Requests\Tasks\PatchTaskRequest; use CodebarAg\LaravelMicrosoftPlanner\Http\Requests\Tasks\PatchTaskDetialsRequest; $connector = new MicrosoftPlannerConnector(); $authenticator = $connector->getAccessToken(); $connector->authenticate($authenticator);
// Get all tasks from a bucket $tasksResponse = $connector->send(new GetBucketTasksRequest(bucketId: 'bucket-id')); $tasks = $tasksResponse->dto();
// Get a single task $taskResponse = $connector->send(new GetTaskRequest(taskId: 'task-id')); $task = $taskResponse->dto();
// Get a tasks details $taskDetailsResponse = $connector->send(new GetTaskDetailsRequest(taskId: 'task-id')); $taskDetails = $taskDetailsResponse->dto();
// Update a task $updateTaskRequest = new PatchTaskRequest(taskId: 'task-id', etag: $task->eTag); $updateTaskRequest->body()->add('somedetail', 'somevalue'); $updateTaskResponse = $connector->send($updateTaskRequest); if ($updatedTask->successful()) { // Do something }
// Update a tasks details $updateTaskDetailsRequest = new PatchTaskDetialsRequest(taskId: 'task-id', etag: $taskDetails->eTag); $updateTaskDetailsRequest->body()->add('somedetail', 'somevalue'); $updateTaskDetailsResponse = $connector->send($updateTaskDetailsRequest); if ($updatedTaskDetails->successful()) { // Do something }
🏋️ DTO showcase
CodebarAg\LaravelMicrosoftPlanner\Data\Checklist { +id: "2f071481-095d-4363-abd9-29ef845a8b05" // string +isChecked: true, // bool +title: "sometask" // string +orderHint: "858", // string +lastModifiedDateTime: "2021-08-31T13:00:00Z" // string +lastModifiedByUserId: "1234456" // string|null }
CodebarAg\LaravelMicrosoftPlanner\Data\Note { +contentType: 'html' // string +content: '<p>Some content</p>' // string }
CodebarAg\LaravelMicrosoftPlanner\Data\Reference { +alias: "test.pdf" // string +url: "https://something.here/in-this-file/test.pdf" // string +type: "pdf" // string +previewPriority: "858" // string +lastModifiedDateTime: "2021-08-31T13:00:00Z" // string +lastModifiedByUserId: "1234456" // string }
CodebarAg\LaravelMicrosoftPlanner\Data\TaskDetails { +eTag: "W/"1238934jbdf89bfdkkjbr34g98hh98vhhcc="" // string +description: "Some Description" // string +previewType: "noPreview" // string +id: "EZAPnP4uBkGAMqyd2dneWJcAOGbk" // string +notes: CodebarAg\LaravelMicrosoftPlanner\Data\Note // Note +references: Illuminate\Support\Collection // Collection +checklist: Illuminate\Support\Collection // Collection }
CodebarAg\LaravelMicrosoftPlanner\Data\Task { +eTag: "W/"JzEtVGFzsdfsdEBAQEBAQEBAQEBAQEBJcCc="" // string +planId: "aL8rSpzb_0-0IGcHql4P0ZcAG3_B" // string +bucketId: "09AEzJXp0E6zY5LEE2Wsv5cAOdQd" // string +title: "Task Title" // string +orderHint: "8585037232077788756Pe" // string +assigneePriority: "" // string +percentComplete: 100 // int +completed: true // bool +startDateTime: Carbon // Carbon\Carbon|null +createdDateTime: Carbon // Carbon\Carbon +dueDateTime: Carbon // Carbon\Carbon|null +recurrence: null // array|null +hasDescription: true // bool +specifiedCompletionRequirements: "none" // string +previewType: "noPreview" // string +completedDateTime: Carbon // Carbon\Carbon|null +completedBy: array // array +referenceCount: 2 // int +checklistItemCount: 3 // int +activeChecklistItemCount: 2 // int +conversationThreadId: "AAQkADk1ZG" // string|null +priority: 1 // int +creationSource: null // string|null +id: "EZAPnP4uBkGAMqyd2dneWJcAOGbk" // string +createdBy: array // array +appliedCategories: array // array +assignments: array // array
🚧 Testing
Copy your own phpunit.xml-file.
cp phpunit.xml.dist phpunit.xml
Run the tests:
./vendor/bin/pest
📝 Changelog
Please see CHANGELOG for more information on what has changed recently.
✏️ Contributing
Please see CONTRIBUTING for details.
🧑💻 Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
🙏 Credits
🎭 License
The MIT License (MIT). Please see License File for more information.
codebar-ag/laravel-microsoft-planner 适用场景与选型建议
codebar-ag/laravel-microsoft-planner 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.01k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 10 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「laravel」 「codebar-ag」 「laravel-microsoft-planner」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 codebar-ag/laravel-microsoft-planner 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codebar-ag/laravel-microsoft-planner 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 codebar-ag/laravel-microsoft-planner 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Cloudinary Flysystem 3 integration with Laravel
This is my package laravel-flysystem-cloudinary-nova
Permissions-Policy (Feature-Policy) header builder and middleware for Laravel
Bexio integration with Laravel
Zendesk integration with Laravel
This is my package laravel-auth
统计信息
- 总下载量: 1.01k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 10
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-10-26