3709 lines
81 KiB
Plaintext
3709 lines
81 KiB
Plaintext
```yaml
|
|
openapi: 3.0.3
|
|
info:
|
|
title: Desa+ Mobile API
|
|
description: API untuk aplikasi mobile Desa+ (berbasis kode client Axios).
|
|
version: 1.0.0
|
|
contact:
|
|
name: API Support
|
|
email: support@desa-plus.com
|
|
|
|
servers:
|
|
- url: https://staging-darmasaba.wibudev.com/api
|
|
description: Production server
|
|
|
|
components:
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
|
|
schemas:
|
|
# Common Schemas
|
|
User:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
phone:
|
|
type: string
|
|
required:
|
|
- id
|
|
|
|
Error:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
|
|
# Auth
|
|
PhoneLoginBody:
|
|
type: object
|
|
properties:
|
|
phone:
|
|
type: string
|
|
required:
|
|
- phone
|
|
|
|
OtpBody:
|
|
type: object
|
|
properties:
|
|
phone:
|
|
type: string
|
|
otp:
|
|
type: integer
|
|
required:
|
|
- phone
|
|
- otp
|
|
|
|
# Banner
|
|
Banner:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
image:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- id
|
|
|
|
# Group
|
|
Group:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- name
|
|
|
|
GroupCreateBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- user
|
|
- name
|
|
|
|
# Position
|
|
Position:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
idGroup:
|
|
type: string
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- name
|
|
|
|
PositionCreateBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
name:
|
|
type: string
|
|
idGroup:
|
|
type: string
|
|
required:
|
|
- user
|
|
- name
|
|
- idGroup
|
|
|
|
# User Management
|
|
UserCreateBody:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
email:
|
|
type: string
|
|
photo:
|
|
type: string
|
|
required:
|
|
- name
|
|
|
|
# Discussion General
|
|
DiscussionGeneral:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
required:
|
|
- id
|
|
- title
|
|
|
|
DiscussionGeneralCreateBody:
|
|
type: object
|
|
properties:
|
|
idGroup:
|
|
type: string
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
required:
|
|
- idGroup
|
|
- title
|
|
- desc
|
|
- user
|
|
|
|
DiscussionGeneralCommentBody:
|
|
type: object
|
|
properties:
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- desc
|
|
- user
|
|
|
|
# Announcement
|
|
Announcement:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- id
|
|
- title
|
|
|
|
AnnouncementCreateBody:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
groups:
|
|
type: array
|
|
items:
|
|
type: string
|
|
required:
|
|
- title
|
|
- desc
|
|
- user
|
|
- groups
|
|
|
|
# Project
|
|
Project:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
user:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
required:
|
|
- id
|
|
- name
|
|
|
|
ProjectCreateBody:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
required:
|
|
- name
|
|
|
|
ProjectTaskCreateBody:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
dateStart:
|
|
type: string
|
|
dateEnd:
|
|
type: string
|
|
user:
|
|
type: string
|
|
dataDetail:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- name
|
|
- dateStart
|
|
- dateEnd
|
|
- user
|
|
|
|
ProjectUpdateStatusBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
idProject:
|
|
type: string
|
|
required:
|
|
- user
|
|
- status
|
|
- idProject
|
|
|
|
# Division
|
|
Division:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
name:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
required:
|
|
- id
|
|
- name
|
|
|
|
DivisionCreateBody:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
idGroup:
|
|
type: string
|
|
name:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
required:
|
|
- idGroup
|
|
- name
|
|
- desc
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
admin:
|
|
type: array
|
|
items:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- data
|
|
- member
|
|
- admin
|
|
- user
|
|
|
|
DivisionMemberBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
required:
|
|
- user
|
|
- member
|
|
|
|
# Discussion
|
|
Discussion:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
user:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
active:
|
|
type: boolean
|
|
status:
|
|
type: integer
|
|
required:
|
|
- id
|
|
- desc
|
|
|
|
DiscussionCreateBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
required:
|
|
- user
|
|
- desc
|
|
- idDivision
|
|
|
|
DiscussionCommentBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
comment:
|
|
type: string
|
|
required:
|
|
- user
|
|
- comment
|
|
|
|
DiscussionEditBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
required:
|
|
- user
|
|
- desc
|
|
|
|
# Calendar
|
|
Calendar:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
timeStart:
|
|
type: string
|
|
timeEnd:
|
|
type: string
|
|
dateStart:
|
|
type: string
|
|
repeatEventTyper:
|
|
type: string
|
|
repeatValue:
|
|
type: string
|
|
linkMeet:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
user:
|
|
type: string
|
|
required:
|
|
- id
|
|
- title
|
|
- desc
|
|
- timeStart
|
|
- timeEnd
|
|
- dateStart
|
|
- idDivision
|
|
- user
|
|
|
|
CalendarCreateBody:
|
|
type: object
|
|
properties:
|
|
idDivision:
|
|
type: string
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
timeStart:
|
|
type: string
|
|
timeEnd:
|
|
type: string
|
|
dateStart:
|
|
type: string
|
|
repeatEventTyper:
|
|
type: string
|
|
repeatValue:
|
|
type: string
|
|
linkMeet:
|
|
type: string
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
user:
|
|
type: string
|
|
required:
|
|
- idDivision
|
|
- title
|
|
- desc
|
|
- timeStart
|
|
- timeEnd
|
|
- dateStart
|
|
- user
|
|
|
|
# Task
|
|
Task:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
title:
|
|
type: string
|
|
user:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
idDivision:
|
|
type: string
|
|
required:
|
|
- id
|
|
- title
|
|
|
|
TaskCreateBody:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
description:
|
|
type: string
|
|
required:
|
|
- title
|
|
|
|
TaskTugasCreateBody:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
dateStart:
|
|
type: string
|
|
dateEnd:
|
|
type: string
|
|
user:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
dataDetail:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- title
|
|
- dateStart
|
|
- dateEnd
|
|
- user
|
|
- idDivision
|
|
|
|
TaskMemberBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
member:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
idDivision:
|
|
type: string
|
|
required:
|
|
- user
|
|
- member
|
|
- idDivision
|
|
|
|
# Document
|
|
DocumentMoveBody:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
dataItem:
|
|
type: array
|
|
items:
|
|
type: object
|
|
user:
|
|
type: string
|
|
required:
|
|
- path
|
|
- dataItem
|
|
- user
|
|
|
|
DocumentCopyBody:
|
|
type: object
|
|
properties:
|
|
path:
|
|
type: string
|
|
dataItem:
|
|
type: array
|
|
items:
|
|
type: object
|
|
user:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
required:
|
|
- path
|
|
- dataItem
|
|
- user
|
|
- idDivision
|
|
|
|
DocumentShareBody:
|
|
type: object
|
|
properties:
|
|
dataDivision:
|
|
type: array
|
|
items:
|
|
type: object
|
|
dataItem:
|
|
type: array
|
|
items:
|
|
type: object
|
|
user:
|
|
type: string
|
|
required:
|
|
- dataDivision
|
|
- dataItem
|
|
- user
|
|
|
|
DocumentRenameBody:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
user:
|
|
type: string
|
|
id:
|
|
type: string
|
|
path:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
extension:
|
|
type: string
|
|
required:
|
|
- name
|
|
- user
|
|
- id
|
|
- path
|
|
- idDivision
|
|
- extension
|
|
|
|
DocumentFolderCreateBody:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
path:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- name
|
|
- path
|
|
- idDivision
|
|
- user
|
|
|
|
DocumentDeleteBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
data:
|
|
type: array
|
|
items:
|
|
type: object
|
|
required:
|
|
- user
|
|
- data
|
|
|
|
# Notification
|
|
NotificationReadBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
id:
|
|
type: string
|
|
required:
|
|
- user
|
|
- id
|
|
|
|
# Token
|
|
TokenBody:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
token:
|
|
type: string
|
|
required:
|
|
- user
|
|
- token
|
|
|
|
# Generic Response
|
|
ApiResponse:
|
|
type: object
|
|
properties:
|
|
data:
|
|
type: object
|
|
success:
|
|
type: boolean
|
|
required:
|
|
- data
|
|
|
|
paths:
|
|
# Auth
|
|
/auth/login:
|
|
post:
|
|
tags:
|
|
- Auth
|
|
summary: Check phone for login
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PhoneLoginBody'
|
|
responses:
|
|
'200':
|
|
description: Login data
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
default:
|
|
description: Error
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Error'
|
|
|
|
# Banner
|
|
/mobile/banner:
|
|
get:
|
|
tags:
|
|
- Banner
|
|
summary: Get banners
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: List of banners
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Banner'
|
|
post:
|
|
tags:
|
|
- Banner
|
|
summary: Create banner
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
image:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: Created banner
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Banner'
|
|
|
|
/mobile/banner/{id}:
|
|
get:
|
|
tags:
|
|
- Banner
|
|
summary: Get one banner
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Banner details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Banner'
|
|
put:
|
|
tags:
|
|
- Banner
|
|
summary: Edit banner
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
image:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: Updated banner
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Banner'
|
|
delete:
|
|
tags:
|
|
- Banner
|
|
summary: Delete banner
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Home Data
|
|
/mobile/home:
|
|
get:
|
|
tags:
|
|
- Home
|
|
summary: Get home data by category
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [kegiatan, division, progress, dokumen, event, discussion, header, check-late-project]
|
|
responses:
|
|
'200':
|
|
description: Home data
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/home/search:
|
|
get:
|
|
tags:
|
|
- Home
|
|
summary: Search home
|
|
parameters:
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Search results
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
|
|
/mobile/home/notification:
|
|
get:
|
|
tags:
|
|
- Notification
|
|
summary: Get notifications
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of notifications
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
type: object
|
|
put:
|
|
tags:
|
|
- Notification
|
|
summary: Read one notification
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/NotificationReadBody'
|
|
responses:
|
|
'200':
|
|
description: Updated notification
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Group
|
|
/mobile/group:
|
|
get:
|
|
tags:
|
|
- Group
|
|
summary: Get groups
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: active
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: List of groups
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
post:
|
|
tags:
|
|
- Group
|
|
summary: Create group
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GroupCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created group
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Group'
|
|
|
|
/mobile/group/{id}:
|
|
put:
|
|
tags:
|
|
- Group
|
|
summary: Edit group
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/GroupCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Updated group
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Group'
|
|
delete:
|
|
tags:
|
|
- Group
|
|
summary: Delete group
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- isActive
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/group/get-division:
|
|
get:
|
|
tags:
|
|
- Group
|
|
summary: Get division groups
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Division groups
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Group'
|
|
|
|
# Position
|
|
/mobile/position:
|
|
get:
|
|
tags:
|
|
- Position
|
|
summary: Get positions
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: active
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: List of positions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Position'
|
|
post:
|
|
tags:
|
|
- Position
|
|
summary: Create position
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PositionCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created position
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Position'
|
|
|
|
/mobile/position/{id}:
|
|
put:
|
|
tags:
|
|
- Position
|
|
summary: Edit position
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/PositionCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Updated position
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Position'
|
|
delete:
|
|
tags:
|
|
- Position
|
|
summary: Delete position
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- isActive
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# User
|
|
/mobile/user:
|
|
get:
|
|
tags:
|
|
- User
|
|
summary: Get users
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: active
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of users
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
post:
|
|
tags:
|
|
- User
|
|
summary: Create user
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/UserCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
|
|
/mobile/user/{id}:
|
|
get:
|
|
tags:
|
|
- User
|
|
summary: Get profile
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: User profile
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
put:
|
|
tags:
|
|
- User
|
|
summary: Edit user
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
photo:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: Updated user
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
delete:
|
|
tags:
|
|
- User
|
|
summary: Delete user
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- isActive
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/user/profile:
|
|
put:
|
|
tags:
|
|
- User
|
|
summary: Edit profile
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
photo:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: Updated profile
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/User'
|
|
|
|
# Discussion General
|
|
/mobile/discussion-general:
|
|
get:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Get discussion general
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: active
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of discussions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/DiscussionGeneral'
|
|
post:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Create discussion general
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionGeneralCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created discussion
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionGeneral'
|
|
|
|
/mobile/discussion-general/{id}:
|
|
get:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Get one discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Discussion details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionGeneral'
|
|
post:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Update status discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
status:
|
|
type: integer
|
|
user:
|
|
type: string
|
|
required:
|
|
- status
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Updated status
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionGeneral'
|
|
put:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Edit discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
required:
|
|
- user
|
|
- title
|
|
- desc
|
|
responses:
|
|
'200':
|
|
description: Updated discussion
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionGeneral'
|
|
delete:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Delete discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
active:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- active
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/discussion-general/{id}/comment:
|
|
post:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Send comment to discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionGeneralCommentBody'
|
|
responses:
|
|
'200':
|
|
description: Comment added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/discussion-general/{id}/member:
|
|
post:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Add members to discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DivisionMemberBody'
|
|
responses:
|
|
'200':
|
|
description: Members added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- DiscussionGeneral
|
|
summary: Delete member from discussion general
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idUser:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idUser
|
|
responses:
|
|
'200':
|
|
description: Member deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Announcement
|
|
/mobile/announcement:
|
|
get:
|
|
tags:
|
|
- Announcement
|
|
summary: Get announcements
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of announcements
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Announcement'
|
|
post:
|
|
tags:
|
|
- Announcement
|
|
summary: Create announcement
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AnnouncementCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created announcement
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Announcement'
|
|
|
|
/mobile/announcement/{id}:
|
|
get:
|
|
tags:
|
|
- Announcement
|
|
summary: Get one announcement
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Announcement details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Announcement'
|
|
put:
|
|
tags:
|
|
- Announcement
|
|
summary: Edit announcement
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/AnnouncementCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Updated announcement
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Announcement'
|
|
delete:
|
|
tags:
|
|
- Announcement
|
|
summary: Delete announcement
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Project
|
|
/mobile/project:
|
|
get:
|
|
tags:
|
|
- Project
|
|
summary: Get projects
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: status
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of projects
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Project'
|
|
post:
|
|
tags:
|
|
- Project
|
|
summary: Create project
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/ProjectCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created project
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Project'
|
|
|
|
/mobile/project/{id}:
|
|
get:
|
|
tags:
|
|
- Project
|
|
summary: Get one project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [data, progress, task, file, member, link]
|
|
responses:
|
|
'200':
|
|
description: Project details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Project'
|
|
put:
|
|
tags:
|
|
- Project
|
|
summary: Edit project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- name
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Updated project
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Project'
|
|
post:
|
|
tags:
|
|
- Project
|
|
summary: Create project task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProjectTaskCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created task
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Project
|
|
summary: Cancel project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
required:
|
|
- user
|
|
- reason
|
|
responses:
|
|
'200':
|
|
description: Canceled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/project/{id}/lainnya:
|
|
put:
|
|
tags:
|
|
- Project
|
|
summary: Report project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
report:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- report
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Report added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Project
|
|
summary: Delete project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/project/detail/{id}:
|
|
get:
|
|
tags:
|
|
- Project
|
|
summary: Get project task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Task details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
put:
|
|
tags:
|
|
- Project
|
|
summary: Update status project task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProjectUpdateStatusBody'
|
|
responses:
|
|
'200':
|
|
description: Status updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
post:
|
|
tags:
|
|
- Project
|
|
summary: Edit project task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProjectTaskCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Task updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Project
|
|
summary: Delete project task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idProject:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idProject
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/project/{id}/member:
|
|
post:
|
|
tags:
|
|
- Project
|
|
summary: Add members to project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DivisionMemberBody'
|
|
responses:
|
|
'200':
|
|
description: Members added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Project
|
|
summary: Delete member from project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idUser:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idUser
|
|
responses:
|
|
'200':
|
|
description: Member deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/project/{id}/link:
|
|
post:
|
|
tags:
|
|
- Project
|
|
summary: Add link to project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
link:
|
|
type: string
|
|
required:
|
|
- user
|
|
- link
|
|
responses:
|
|
'200':
|
|
description: Link added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Project
|
|
summary: Delete link from project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
idLink:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- idLink
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Link deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/project/file/{id}:
|
|
post:
|
|
tags:
|
|
- Project
|
|
summary: Add file to project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: File added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
put:
|
|
tags:
|
|
- Project
|
|
summary: Check/update file in project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: File updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Project
|
|
summary: Delete file from project
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: File deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Division
|
|
/mobile/division:
|
|
get:
|
|
tags:
|
|
- Division
|
|
summary: Get divisions
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: active
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of divisions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Division'
|
|
post:
|
|
tags:
|
|
- Division
|
|
summary: Create division
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DivisionCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created division
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Division'
|
|
|
|
/mobile/division/{id}:
|
|
get:
|
|
tags:
|
|
- Division
|
|
summary: Get one division detail
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Division details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Division'
|
|
put:
|
|
tags:
|
|
- Division
|
|
summary: Edit division
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
name:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
required:
|
|
- user
|
|
- name
|
|
- desc
|
|
responses:
|
|
'200':
|
|
description: Updated division
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Division'
|
|
|
|
/mobile/division/{id}/detail:
|
|
get:
|
|
tags:
|
|
- Division
|
|
summary: Get division one feature
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [jumlah, today-task, new-file, new-discussion, check-member, check-admin]
|
|
responses:
|
|
'200':
|
|
description: Feature data
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
put:
|
|
tags:
|
|
- Division
|
|
summary: Update status admin division
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
id:
|
|
type: string
|
|
isAdmin:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- id
|
|
- isAdmin
|
|
responses:
|
|
'200':
|
|
description: Status updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
post:
|
|
tags:
|
|
- Division
|
|
summary: Add members to division
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DivisionMemberBody'
|
|
responses:
|
|
'200':
|
|
description: Members added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Division
|
|
summary: Delete member from division
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
id:
|
|
type: string
|
|
required:
|
|
- user
|
|
- id
|
|
responses:
|
|
'200':
|
|
description: Member deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/division/{id}/status:
|
|
post:
|
|
tags:
|
|
- Division
|
|
summary: Update status division
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
isActive:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- isActive
|
|
responses:
|
|
'200':
|
|
description: Status updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/division/{id}/member:
|
|
get:
|
|
tags:
|
|
- Division
|
|
summary: Get division members
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: List of members
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/User'
|
|
|
|
/mobile/division/report:
|
|
get:
|
|
tags:
|
|
- Division
|
|
summary: Get division report
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [table-progress, lainnya]
|
|
- name: date
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: date-end
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: group
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Report data
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/division/more:
|
|
get:
|
|
tags:
|
|
- Division
|
|
summary: Get list division by id division
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: List of divisions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Division'
|
|
|
|
# Discussion
|
|
/mobile/discussion:
|
|
get:
|
|
tags:
|
|
- Discussion
|
|
summary: Get discussions
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: active
|
|
in: query
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of discussions
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Discussion'
|
|
post:
|
|
tags:
|
|
- Discussion
|
|
summary: Create discussion
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created discussion
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Discussion'
|
|
|
|
/mobile/discussion/{id}:
|
|
get:
|
|
tags:
|
|
- Discussion
|
|
summary: Get one discussion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [data, comment]
|
|
responses:
|
|
'200':
|
|
description: Discussion details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Discussion'
|
|
post:
|
|
tags:
|
|
- Discussion
|
|
summary: Edit discussion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionEditBody'
|
|
responses:
|
|
'200':
|
|
description: Updated discussion
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Discussion'
|
|
put:
|
|
tags:
|
|
- Discussion
|
|
summary: Archive discussion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
active:
|
|
type: boolean
|
|
required:
|
|
- user
|
|
- active
|
|
responses:
|
|
'200':
|
|
description: Archived
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Discussion
|
|
summary: Open/close discussion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
status:
|
|
type: integer
|
|
required:
|
|
- user
|
|
- status
|
|
responses:
|
|
'200':
|
|
description: Status updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/discussion/{id}/comment:
|
|
post:
|
|
tags:
|
|
- Discussion
|
|
summary: Send comment to discussion
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DiscussionCommentBody'
|
|
responses:
|
|
'200':
|
|
description: Comment added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Calendar
|
|
/mobile/calendar:
|
|
get:
|
|
tags:
|
|
- Calendar
|
|
summary: Get calendar by date and division
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: date
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Calendar events
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Calendar'
|
|
post:
|
|
tags:
|
|
- Calendar
|
|
summary: Create calendar event
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/CalendarCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created event
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Calendar'
|
|
|
|
/mobile/calendar/indicator:
|
|
get:
|
|
tags:
|
|
- Calendar
|
|
summary: Get calendar indicator
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: date
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Indicators
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/calendar/{id}:
|
|
get:
|
|
tags:
|
|
- Calendar
|
|
summary: Get one calendar event
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [data, member]
|
|
responses:
|
|
'200':
|
|
description: Event details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Calendar'
|
|
put:
|
|
tags:
|
|
- Calendar
|
|
summary: Update calendar event
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
desc:
|
|
type: string
|
|
timeStart:
|
|
type: string
|
|
timeEnd:
|
|
type: string
|
|
dateStart:
|
|
type: string
|
|
repeatEventTyper:
|
|
type: string
|
|
repeatValue:
|
|
type: number
|
|
linkMeet:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- title
|
|
- desc
|
|
- timeStart
|
|
- timeEnd
|
|
- dateStart
|
|
- repeatEventTyper
|
|
- repeatValue
|
|
- linkMeet
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Updated event
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Calendar'
|
|
delete:
|
|
tags:
|
|
- Calendar
|
|
summary: Delete calendar event
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/calendar/{id}/member:
|
|
post:
|
|
tags:
|
|
- Calendar
|
|
summary: Add members to calendar
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/DivisionMemberBody'
|
|
responses:
|
|
'200':
|
|
description: Members added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Calendar
|
|
summary: Delete member from calendar
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idUser:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idUser
|
|
responses:
|
|
'200':
|
|
description: Member deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/calendar/history:
|
|
get:
|
|
tags:
|
|
- Calendar
|
|
summary: Get calendar history
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: History
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Calendar'
|
|
|
|
# Task
|
|
/mobile/task:
|
|
get:
|
|
tags:
|
|
- Task
|
|
summary: Get tasks
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: status
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: search
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: page
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
'200':
|
|
description: List of tasks
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: '#/components/schemas/Task'
|
|
post:
|
|
tags:
|
|
- Task
|
|
summary: Create task
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
$ref: '#/components/schemas/TaskCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created task
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Task'
|
|
|
|
/mobile/task/{id}:
|
|
get:
|
|
tags:
|
|
- Task
|
|
summary: Get one task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
enum: [data, progress, task, file, member, link]
|
|
responses:
|
|
'200':
|
|
description: Task details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Task'
|
|
put:
|
|
tags:
|
|
- Task
|
|
summary: Edit task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
title:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- title
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Updated task
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/Task'
|
|
post:
|
|
tags:
|
|
- Task
|
|
summary: Create task tugas
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TaskTugasCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Created tugas
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Task
|
|
summary: Cancel task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
reason:
|
|
type: string
|
|
required:
|
|
- user
|
|
- reason
|
|
responses:
|
|
'200':
|
|
description: Canceled
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/task/{id}/lainnya:
|
|
put:
|
|
tags:
|
|
- Task
|
|
summary: Report task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
report:
|
|
type: string
|
|
user:
|
|
type: string
|
|
required:
|
|
- report
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Report added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Task
|
|
summary: Delete task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/task/detail/{id}:
|
|
get:
|
|
tags:
|
|
- Task
|
|
summary: Get task tugas
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: cat
|
|
in: query
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Tugas details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
put:
|
|
tags:
|
|
- Task
|
|
summary: Update status task division
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ProjectUpdateStatusBody'
|
|
responses:
|
|
'200':
|
|
description: Status updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
post:
|
|
tags:
|
|
- Task
|
|
summary: Edit task tugas
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TaskTugasCreateBody'
|
|
responses:
|
|
'200':
|
|
description: Tugas updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Task
|
|
summary: Delete task tugas
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idProject:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idProject
|
|
responses:
|
|
'200':
|
|
description: Deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/task/{id}/member:
|
|
post:
|
|
tags:
|
|
- Task
|
|
summary: Add members to task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/TaskMemberBody'
|
|
responses:
|
|
'200':
|
|
description: Members added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Task
|
|
summary: Delete member from task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idUser:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idUser
|
|
responses:
|
|
'200':
|
|
description: Member deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/task/{id}/link:
|
|
post:
|
|
tags:
|
|
- Task
|
|
summary: Add link to task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
link:
|
|
type: string
|
|
idDivision:
|
|
type: string
|
|
required:
|
|
- user
|
|
- link
|
|
- idDivision
|
|
responses:
|
|
'200':
|
|
description: Link added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Task
|
|
summary: Delete link from task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
idLink:
|
|
type: string
|
|
required:
|
|
- user
|
|
- idLink
|
|
responses:
|
|
'200':
|
|
description: Link deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
/mobile/task/file/{id}:
|
|
post:
|
|
tags:
|
|
- Task
|
|
summary: Add file to task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: File added
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
put:
|
|
tags:
|
|
- Task
|
|
summary: Check/update file in task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
multipart/form-data:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
file:
|
|
type: string
|
|
format: binary
|
|
responses:
|
|
'200':
|
|
description: File updated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
delete:
|
|
tags:
|
|
- Task
|
|
summary: Delete file from task
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
user:
|
|
type: string
|
|
required:
|
|
- user
|
|
responses:
|
|
'200':
|
|
description: File deleted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: '#/components/schemas/ApiResponse'
|
|
|
|
# Document
|
|
/mobile/document:
|
|
get:
|
|
tags:
|
|
- Document
|
|
summary: Get documents
|
|
parameters:
|
|
- name: user
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: path
|
|
in: query
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- name: division
|
|
in: query
|
|
required: |