承接 codebar-ag/laravel-microsoft-planner 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

codebar-ag/laravel-microsoft-planner

最新稳定版本:v12.0

Composer 安装命令:

composer require codebar-ag/laravel-microsoft-planner

包简介

This is my package laravel-microsoft-planner

README 文档

README

Latest Version on Packagist GitHub-Tests GitHub Code Style Total Downloads

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 codebar-ag/laravel-microsoft-planner 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.01k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-10-26